Changes to the original Marlin 2.0.7.1 files for SKR Mini E3 v2.0, Ender 3.
Use this guide with other marlin versions at your own risk.
Getting started
Essential changes
Manual Mesh Bed Leveling
Filament Runout Sensor/Detection and Filament Change
Linear Advance
All in one Retraction testing
Compiling firmware
Flashing firmware
Updating/Reflashing firmware
Printable Direct Drive mod
Changelog
Install VSCode and Git GUI according to this Installation guide
Open Marlin in VSCode as it is in this Comment
(You can choose the marlin version at the bottom left corner of the window, the default is the latest 2.0.x)
Modify your Marlin based on this guide
(Not necessary step / Use it at your own risk) Optionally you can use the marlin example file for this board. (config/examples/Creality/Ender-3/BigTreeTech SKR Mini E3 2.0/)
Teaching Tech - Beginner guide to editing Marlin firmware - step by step
E - Enable | C - Change | E&C - Enable and Change | D - Disable
Enable/Disable by deleting/placing // at the start of a line.
Essential / useful changes to platformio.ini, Configuration.h and Configuration_adv.h files in /Marlin folder.
C
default_envs =
STM32F103RC_btt_512K
E
SHOW_CUSTOM_BOOTSCREEN
E
CUSTOM_STATUS_SCREEN_IMAGE
(Copy
_Bootscreen.h
/_Statusscreen.h
file from Marlin\config\examples\Creality\Ender-3\ to Marlin\Marlin folder)Download it from the Marlin GitHub.
C
SERIAL_PORT
2E
SERIAL_PORT_2
-1C
BAUDRATE
115200(BTT default baudrate)
C
MOTHERBOARD
BOARD_BTT_SKR_MINI_E3_V2_0E&C
CUSTOM_MACHINE_NAME
"Ender-3"C
TEMP_SENSOR_BED
1C
BED_MAXTEMP
125(By setting it to 70 for a magnetic bed that works up to 70 °C, marlin will only let it heat up to 60, for safety reasons)
C
DEFAULT_Kp
21.73C
DEFAULT_Ki
1.54C
DEFAULT_Kd
76.55(PID autotune for faster heating and more stable temperature)
E
PIDTEMPBED
(You don't need to enable
PIDTEMPBED
, if you are satisfied with your heated bed, but by calibrating the heated bed, it could heat up faster and maintain temperature more accurately)(Be sure to do a PID autotune for your heated bed after you enabled it in your firmware, otherwise it will trigger Thermal Runaway Protection when heating up the bed. You can find the guide under the PID autotune section, later in this post)
C
EXTRUDE_MAXLENGTH
200(Or measure the length from the extruder gear to the nozzle through the PTFE tube)
E&C
X_DRIVER_TYPE
TMC2209E&C
Y_DRIVER_TYPE
TMC2209E&C
Z_DRIVER_TYPE
TMC2209E&C
E0_DRIVER_TYPE
TMC2209C
DEFAULT_AXIS_STEPS_PER_UNIT
{ 80, 80, 400, 93 }C
DEFAULT_MAX_FEEDRATE
{ 500, 500, 20, 120 }C
DEFAULT_ACCELERATION
500C
DEFAULT_RETRACT_ACCELERATION
500C
DEFAULT_TRAVEL_ACCELERATION
500E
CLASSIC_JERK
E&C
TRAVEL_EXTRA_XYJERK
5.0C
DEFAULT_EJERK
15.0D
S_CURVE_ACCELERATION
(Enable if you don't use Linear Advance. LIN_ADVANCE and S_CURVE_ACCELERATION may not play well together)
C
INVERT_X_DIR
trueC
INVERT_E0_DIR
trueC
X_BED_SIZE
235C
Y_BED_SIZE
235C
Z_MAX_POS
250E
LEVEL_BED_CORNERS
C
LEVEL_CORNERS_HEIGHT
0.1(Set it to the thickness (mm) of the paper/credit card/feeler gauge you want to use)
C
HOMING_FEEDRATE_XY
(50*60)E
EEPROM_SETTINGS
E
EEPROM_AUTO_INIT
E
NOZZLE_PARK_FEATURE
D
DISPLAY_CHARSET_HD44780
E
SDSUPPORT
E
CR10_STOCKDISPLAY
E
FAN_SOFT_PWM
E
HOTEND_IDLE_TIMEOUT
E
USE_CONTROLLER_FAN
E&C
CONTROLLER_FAN_PIN
PC7E
CONTROLLER_FAN_EDITABLE
C
HOMING_BUMP_MM
{ 5, 5, 2 }E
QUICK_HOME
C
SLOWDOWN_DIVISOR
8D
ADAPTIVE_STEP_SMOOTHING
E
STATUS_MESSAGE_SCROLLING
E
SHOW_REMAINING_TIME
E
USE_M73_REMAINING_TIME
E
ROTATE_PROGRESS_DISPLAY
E
PRINT_PROGRESS_SHOW_DECIMALS
E
SCROLL_LONG_FILENAMES
E&C
SDCARD_CONNECTION
ONBOARDE
STATUS_HEAT_PERCENT
E
LIN_ADVANCE
(Disable S-Curve Acc. if you want to use LA. LIN_ADVANCE and S_CURVE_ACCELERATION may not play well together)
C
LIN_ADVANCE_K
0.00(You can find guide links to calibrate your K value under the Linear Advance section, later in this post)
E
EMERGENCY_PARSER
C
X_CURRENT
580C
Y_CURRENT
580C
Z_CURRENT
580C
E0_CURRENT
650C
Y_SLAVE_ADDRESS
2C
Z_SLAVE_ADDRESS
1C
E0_SLAVE_ADDRESS
3C
CHOPPER_TIMING
CHOPPER_DEFAULT_24VD
HYBRID_THRESHOLD
E
SQUARE_WAVE_STEPPING
E
CANCEL_OBJECTS
(Use this if you don't have a bed leveling sensor, e.g. BLTouch)
Configuration.h
E
PROBE_MANUALLY
E
MANUAL_PROBE_START_Z
C
NOZZLE_TO_PROBE_OFFSET
{ 0, 0, 0 }E
MESH_BED_LEVELING
E
RESTORE_LEVELING_AFTER_G28
C
GRID_MAX_POINTS_X
5 (Or change it accordingly to your needs)E
LCD_BED_LEVELING
Leveling:
Heat up your bed to the temperature you usually print on (e.g. 60°C) (Make sure that there are no plastic on the nozzle, that would alter the nozzles distance to the bed)
Select: Motion - Bed Leveling - Level Bed
Wait for Homing XYZ to complete
When Click to Begin appears, press the controller button to move to the first point
Use the controller wheel to adjust Z so that a piece of paper can just pass under the nozzle
Press the controller button to save the Z value and move to the next point
Repeat steps 4-5 until completed
Select: Configuration - Store settings to save the mesh to the EEPROM
Select: Motion - Fade height: Set it to 10
Select: Motion - Store settings
Make a test print, and as it prints you can change the nozzle distance to the bed in Motion - Bed Z with the controller wheel
Select: Configuration - Store settings
Marlin Bed Leveling (Manual)
Teaching Tech Manual Mesh Bed Levelling
Crosslink Ender 3 Mesh Bed Leveling
E0-STOP (PC15)
Configuration.h
E
FILAMENT_RUNOUT_SENSOR
E&C
FILAMENT_RUNOUT_DISTANCE_MM
5C
EXTRUDE_MAXLENGTH
100(Length from the extruder gear to the nozzle + 10)
E
NOZZLE_PARK_FEATURE
C
NOZZLE_PARK_Z_FEEDRATE
3
Configuration_adv.h
E
ADVANCED_PAUSE_FEATURE
C
PAUSE_PARK_RETRACT_FEEDRATE
30(Change it to your retraction speed)
C
PAUSE_PARK_RETRACT_LENGTH
6(Change it to your retraction length)
C
FILAMENT_CHANGE_UNLOAD_LENGTH
100(Length from the extruder gear to the nozzle OR set it to 0 for manual filament extraction)
(This needs to be less than or equal to
EXTRUDE_MAXLENGTH
)
C
FILAMENT_CHANGE_FAST_LOAD_LENGTH
0(Length from the extruder gear to the nozzle OR set it to 0 for manual filament insertion)
(This needs to be less than or equal to
EXTRUDE_MAXLENGTH
)
E
ADVANCED_PAUSE_CONTINUOUS_PURGE
C
FILAMENT_CHANGE_ALERT_BEEPS
10(10 might be too much/annoying, if so, lower it to your liking)
E
PARK_HEAD_ON_PAUSE
E
FILAMENT_LOAD_UNLOAD_GCODES
(Adds
M701
/M702
Load/Unload G-code, and Load/Unload in the LCD Prepare menu.)
Teaching Tech
Chris Riley
Crosslink
Linear Advance K-factor Calibration
Teaching Tech Linear advance video guide
Chris Riley Linear advance video guide
KARL JOHNSON
Use VSCode with the PlatformIO extension and Git GUI.
Chris Riley
VSCode installation guide for Marlin 2.0.
You can find the firmware file in .pio/build/STM32F103RC_btt_512K/firmware.bin
Place the firmware.bin file onto your SD card, them insert it into your printer and turn it on. After a short 20-30 sec blank screen your printer should be ready.
FusionSource - 3D Printing - BIGTREETECH SKR MINI | Firmware Update| THE EASY WAY
If after ~50-60 sec there is still a blank screen, don't worry, just turn off your printer. A long blank screen could mean that the firmware you just tried is bad in some way. You should recheck your configurations, then try reflashing it. Comment.
(Comment) You don't need to redo all the changes every time you want to update to a newer version of marlin, just copy your edited files to the new marlin and compare them in VSC Source Control (Ctrl+Shift+G), and copy anything that is new or changed.
Not all changes will be applied on a firmware update. For that you will need to reset your printer settings by Restore Defaults (M502) in menu - Configuration, then Save Settings (M500). It will reset your settings back to your edited firmware values.
Printable Direct Drive extruder mount for Ender 3, Ender 5, CR-10 etc.
07.03.
+
ENDSTOP_INTERRUPTS_FEATURE
(18526)
07.12.
Follow this comment if you are experiencing freezing mid print.
07.13.
+ Teaching Tech - Beginner guide to editing Marlin firmware - step by step
07.15.
Disable
ADAPTIVE_STEP_SMOOTHING
Comment
07.17.
Changed
FAN1_PIN
toPC7
07.27.
Changed from Junction Deviation to Classic Jerk
Updated to Marlin 2.0.6
+
ASSISTED_TRAMMING
(G35)-
BLOCK_BUFFER_SIZE
,BUFSIZE
,TX_BUFFER_SIZE
. (PR)
07.28.
Updated
ASSISTED_TRAMMING
07.29.
Mesh bed leveling clarification.
+
TRAMMING_SCREW_THREAD
08.03.
Moved ABL section to an external guide
08.28.
Updated to 2.0.6.1 -> You most likely need to update your configs
-
MANUAL_FEEDRATE
08.31.
-
MONITOR_DRIVER_STATUS
09.10.
-
HOME_BEFORE_FILAMENT_CHANGE
09.29.
Updated to 2.0.7 -> You most likely need to update your configs
+
EMERGENCY_PARSER
10.10.
Updated to 2.0.7.1, No changes needed.
10.28.
+
MANUAL_PROBE_START_Z
You can tip the author here
Original Post from here: https://www.reddit.com/r/ender3/comments/h8y1ia/marlin_20x_guide_skr_mini_e3_v20_ender_3/
Business IT Solutions - https://bizhostnc.com
Plastic Process Engineering