With Configurations and Source Borrowed from TinyMachines/InsanityAutomation.
Bin/hex files for all variants listed below are now available in the Precompiled folder
A selection of custom builds for the Ender 5 Plus:
; BTT SKR1.4 configurations below assume TMC2209 v1.2 stepper drivers
; Bilinear bed leveling with Direct Drive, Dual Z steppers (Z0=Z, Z1=E1), and BTT SKR1.4 board
E5P_BIL_DD_DZ_SKR14
; Unified bed leveling with Direct Drive, Dual Z steppers (Z0=Z, Z1=E1), and BTT SKR1.4 board
E5P_UBL_DD_DZ_SKR14
; Unified bed leveling with Direct Drive, Dual Z steppers (Z0=Z, Z1=E1), All-Metal Hotend and BTT SKR1.4 board
E5P_UBL_DD_DZ_AM_SKR14
; Unified bed leveling with Micro Swiss Direct Drive, Dual Z steppers (Z0=Z, Z1=E1), All-Metal Hotend and BTT SKR1.4 board
E5P_UBL_MS_DZ_SKR14
; Bilinear bed leveling with Direct Drive and BTT SKR1.4 board
E5P_BIL_DD_SKR14
; Unified bed leveling with Direct Drive and BTT SKR1.4 board
E5P_UBL_DD_SKR14
; Bilinear bed leveling w/bowden configuration and BTT SKR1.4 board
E5P_BIL_SKR14
; Unified bed leveling w/bowden configuration and BTT SKR1.4 board
E5P_UBL_SKR14
; EXPERIMENTAL - TFT35 Display Options
; Unified bed leveling with Micro Swiss Direct Drive, Dual Z steppers (Z0=Z, Z1=E1), All-Metal Hotend, BTT TFT35 v3.0 and BTT SKR1.4 board
E5P_UBL_MS_DZ_GR_SKR14
; Unified bed leveling with Micro Swiss Direct Drive, All-Metal Hotend, BTT TFT35 v3.0 and BTT SKR1.4 board
E5P_UBL_MS_GR_SKR14
; Bilinear bed leveling with Direct Drive, Dual Z steppers (Z0=Z, Z1=E1), TFT35 and BTT SKR1.4 board
E5P_BIL_DD_DZ_GR_SKR14
; Unified bed leveling with Direct Drive, Dual Z steppers (Z0=Z, Z1=E1), TFT35 and BTT SKR1.4 board
E5P_UBL_DD_DZ_GR_SKR14
; Bilinear bed leveling with Direct Drive, TFT35 and BTT SKR1.4 board
E5P_BIL_DD_GR_SKR14
; Unified bed leveling with Direct Drive, TFT35 and BTT SKR1.4 board
E5P_UBL_DD_GR_SKR14
; Bilinear bed leveling w/Bowden config, TFT35 and BTT SKR1.4 board
E5P_BIL_GR_SKR14
; Unified bed leveling w/Bowden config, TFT35 and BTT SKR1.4 board
E5P_UBL_GR_SKR14
; BTT SKR Mini E3 v2 configurations
; Bilinear bed leveling, BTT SKR Mini E3 2.0 board (SAFEST TO USE - Not all Mini E3 2.0 boards have 512K)
E5P_BIL_256K_SKRMINIE3_20
; Bilinear bed leveling, BTT SKR Mini E3 2.0 board (USE ONLY IF YOU'RE SURE YOU HAVE 512K)
E5P_BIL_512K_SKRMINIE3_20
; Unified bed leveling, BTT SKR Mini E3 2.0 board (SAFEST TO USE - Not all Mini E3 2.0 boards have 512K)
E5P_UBL_256K_SKRMINIE3_20
; Unified bed leveling, BTT SKR Mini E3 2.0 board (USE ONLY IF YOU'RE SURE YOU HAVE 512K)
E5P_UBL_512K_SKRMINIE3_20
; Unified bed leveling, direct drive, Creality Silent Board
E5PUBLDDSlnt
; Bilinear bed leveling, direct drive, Creality Silent Board
E5PBILDDSlnt
; Unified bed leveling, Creality Silent Board
E5PUBLDZSlnt
; Unified bed leveling, Dual Z, Creality Silent Board
E5PUBLSlnt
; Bilinear bed leveling, Creality Silent Board
E5PBILSlnt
; Unified bed leveling, Direct Drive, Creality Stock Board
E5PUBLDDStck
; Bilinear bed leveling, Direct Drive, Creality Stock Board
E5PBILDDStck
; Unified bed leveling, Creality Stock Board
E5PUBLStck
; Bilinear bed leveling, Creality Stock Board
E5PBILStck
; Unified bed leveling, Dual Z, Direct Drive, All Metal Hotend, Creality Silent Board
E5PUBLDDDZAMSlnt
Name abbreviations were required for the Creality boards due to limitations in their toolsets handling of long filenames in Windows. That's why they look different from the SKR entries.
Key to Filename Feature Indicators:
- BIL - Bilinear Bed Leveling
- UBL - Unified Bed Leveling
- DD - Direct Drive (short path from extruder to hotend)
- DZ - Dual Z Steppers; One Z stepper motor cable in Z1 or Z2, the other in E1
- GR - Graphical Display (TFT35)
- SKR14 - BigTreeTech SKR 1.4 Main Board
- SKRMINIE3_20 - BigTreeTech SKR Mini E3 v2.0
- Slnt - Creality Silent Board
- Stck - Creality Stock Board
Pinouts for the connection of the Creality touchscreen to the BTT SKR boards can be found here: https://imgur.com/rGRCmfs. Please note that the Mini E3 pinouts on the TFT socket are the same as the SKR 1.4.
If you're using a Creality board, no wiring modifications are needed.
The screen flash files have been extracted from the original Insanity Automation distribution and are in the file list above as DWIN_SET.7z. You'll need 7-Zip to decompress them. Copy the extracted DWIN_SET directory to a 4k-sector FAT32 formatted micro SD card, insert it into the display's card slot (you'll have to open the PSU case to get to it), and power on the printer. You'll see a lot of text and images flash on the display; it will tell you when it's complete in the upper left corner of the screen. Remove the SD card once it completes.
For the BTT SKR board configuations: These builds assume that you are using the SERVO and PROBE ports for the BLTouch and not the Z endstop port. Also, please make sure that you follow the wires back to the BLTouch itself to verify correct wiring. There's a diagram in the respective board's documentation. IMPORTANT: The pins for the PROBE port are the reverse of what Creality uses. If you simply plug the 2 wire connector into the PROBE port, it will not work. You will neeed to either swap the pins in the plastic shell at the end of the wires, or cut off the plastic tab that aligns the plug in the socket and rotate the plug 180 degrees to insert it "backwards."
Additional documentation can be found at the Marlin Home Page. Please test this firmware and let us know if it misbehaves in any way. Volunteers are standing by!
Marlin 2.0 takes this popular RepRap firmware to the next level by adding support for much faster 32-bit and ARM-based boards while improving support for 8-bit AVR boards. Read about Marlin's decision to use a "Hardware Abstraction Layer" below.
Download earlier versions of Marlin on the Releases page.
To build Marlin 2.0 you'll need Arduino IDE 1.8.8 or newer or PlatformIO. Detailed build and install instructions are posted at:
Platform | MCU | Example Boards |
---|---|---|
Arduino AVR | ATmega | RAMPS, Melzi, RAMBo |
Teensy++ 2.0 | AT90USB1286 | Printrboard |
Arduino Due | SAM3X8E | RAMPS-FD, RADDS, RAMPS4DUE |
LPC1768 | ARM® Cortex-M3 | MKS SBASE, Re-ARM, Selena Compact |
LPC1769 | ARM® Cortex-M3 | Smoothieboard, Azteeg X5 mini, TH3D EZBoard |
STM32F103 | ARM® Cortex-M3 | Malyan M200, GTM32 Pro, MKS Robin, BTT SKR Mini |
STM32F401 | ARM® Cortex-M4 | ARMED, Rumba32, SKR Pro, Lerdge, FYSETC S6 |
STM32F7x6 | ARM® Cortex-M7 | The Borg, RemRam V1 |
SAMD51P20A | ARM® Cortex-M4 | Adafruit Grand Central M4 |
Teensy 3.5 | ARM® Cortex-M4 | |
Teensy 3.6 | ARM® Cortex-M4 | |
Teensy 4.0 | ARM® Cortex-M7 | |
Teensy 4.1 | ARM® Cortex-M7 |
- Submit Bug Fixes as Pull Requests to the (bugfix-2.0.x) branch.
- Follow the Coding Standards to gain points with the maintainers.
- Please submit your questions and concerns to the Issue Queue.
For best results getting help with configuration and troubleshooting, please use the following resources:
- Marlin Documentation - Official Marlin documentation
- Marlin Discord - Discuss issues with Marlin users and developers
- Facebook Group "Marlin Firmware"
- RepRap.org Marlin Forum
- Tom's 3D Forums
- Facebook Group "Marlin Firmware for 3D Printers"
- Marlin Configuration on YouTube
The current Marlin dev team consists of:
- Scott Lahteine [@thinkyhead] - USA Donate
- Roxanne Neufeld [@Roxy-3D] - USA
- Chris Pepper [@p3p] - UK
- Bob Kuhn [@Bob-the-Kuhn] - USA
- Erik van der Zalm [@ErikZalm] - Netherlands
Marlin is published under the GPL license because we believe in open development. The GPL comes with both rights and obligations. Whether you use Marlin firmware as the driver for your open or closed-source product, you must keep Marlin open, and you must provide your compatible Marlin source code to end users upon request. The most straightforward way to comply with the Marlin license is to make a fork of Marlin on Github, perform your modifications, and direct users to your modified fork.
While we can't prevent the use of this code in products (3D printers, CNC, etc.) that are closed source or crippled by a patent, we would prefer that you choose another firmware or, better yet, make your own.