How to Compile Marlin for the BIGTREETECH SKR MINI E3 Version 3.0.1

Type Model Version Link Firmware
Printer Creality Ender 3 Pro x
Board BIGTREETECH SKR Mini E3 V3.0 Control Board 3.0.1 https://a.co/d/aYOrD9n STM32F401
Display BIGTREETECH TFT35 E3 V3.0.1 x https://a.co/d/aYOrD9n

Key Links


Printer Mother Board

Script

Goto https://marlinfw.org/meta/download/ Download

  • Marlin 2.1.2.1 with bug fixes
    • Download
    • Configurations
cd ~/src/3DPrinters/BIGTREETECH
mv ~/Downloads/Marlin-bugfix-2.1.x .
mv ~/Downloads/Configurations-bugfix-2.1.x .
cd Configurations-bugfix-2.1.x/config/examples/Creality/Ender-3\ Pro/BigTreeTech SKR Mini E3 3.0
cp * ~/src/3D-Printers/BIGTREETECH/Marlin-bugfix-2.1.x/Marlin

VSCode

  • need Marlin Autobuild extension
  • Platform IO extension

OpenFolder to ~/src/3D-Printers/BIGTREETECH/Marlin-bugfix-2.1.x

[!Be Careful of paths with spaces in them]

  • Run a build with no changes to ensure things build cleanly. Build from the Marlin Auto Build extension screen

Configuration.h

For the SKR 3.0.1 board set

#define MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V3_0_1
/**

* Enable this option for a probe connected to the Z-MIN pin.

* The probe replaces the Z-MIN endstop and is used for Z homing.

* (Automatically enables USE_PROBE_FOR_Z_HOMING.)

*/

// #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN



// Force the use of the probe for Z-axis homing

#define USE_PROBE_FOR_Z_HOMING
/**

* The BLTouch probe uses a Hall effect sensor and emulates a servo.

*/

#define BLTOUCH
#define NOZZLE_TO_PROBE_OFFSET { -41, -15, -3 }
//#define AUTO_BED_LEVELING_3POINT

//#define AUTO_BED_LEVELING_LINEAR

#define AUTO_BED_LEVELING_BILINEAR

//#define AUTO_BED_LEVELING_UBL

//#define MESH_BED_LEVELING
/**

* Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.

*

* - Moves the Z probe (or nozzle) to a defined XY point before Z homing.

* - Allows Z homing only when XY positions are known and trusted.

* - If stepper drivers sleep, XY homing may be required again before Z homing.

*/

#define Z_SAFE_HOMING
#define EEPROM_SETTINGS // Persistent storage with M500 and M501

//#define DISABLE_M503 // Saves ~2700 bytes of flash. Disable for release!

#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.

#define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load

#if ENABLED(EEPROM_SETTINGS)

#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.

#define EEPROM_INIT_NOW // Init EEPROM on first boot after a new build.

#endif
#define MIN_SOFTWARE_ENDSTOPS

#if ENABLED(MIN_SOFTWARE_ENDSTOPS)

#define MIN_SOFTWARE_ENDSTOP_X

#define MIN_SOFTWARE_ENDSTOP_Y

//#define MIN_SOFTWARE_ENDSTOP_Z

#define MIN_SOFTWARE_ENDSTOP_I

#define MIN_SOFTWARE_ENDSTOP_J

#define MIN_SOFTWARE_ENDSTOP_K

#define MIN_SOFTWARE_ENDSTOP_U

#define MIN_SOFTWARE_ENDSTOP_V

#define MIN_SOFTWARE_ENDSTOP_W

#endif

Configuration_adv.h

#if HAS_BED_PROBE && ANY(HAS_MARLINUI_MENU, HAS_TFT_LVGL_UI)

#define PROBE_OFFSET_WIZARD // Add a Probe Z Offset calibration option to the LCD menu

#if ENABLED(PROBE_OFFSET_WIZARD)
#define SHOW_REMAINING_TIME // Display estimated time to completion (prefix 'R')

TFT

mkdir TFT
cd 
git clone https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware.git
cd Copy to SD Card root directory to update
cp BIGTREE_GD_TFT35_V3.0_E3.27.x.bin /volumes/UNITITLED
cp config.ini /volumes/UNITITLED
cd THEME_The Round Miracle Menu Material theme/TFT35
cp * /volumes/UNTITLED