Ultimate Marlin 2 + BLTouch for Ender 3 (8-bit) with OctoPrint
This is the vanilla version of Marlin Firmware 2.x pre-configured for Creality Ender 3 printers with original or generic BL Touch sensors. This distribution is focused on professional/power users and is packed with the maximum amount of features the small 1284P chip can fit at the expense of the SD Card support. Because of the lack of the SD support this is only recommended for OctoPrint users.
Please note that this is not the version I recommend for 8-bit boards like the one used in the Ender 3. The most stable and feature rich version of the firmware for this architecture is the 1.1.9 that I made available in another article. Marlin 2.x is aimed to a new generation of boards using 32-bit processors, the built in libraries are bigger and there is less space left for features. Anyway, if you want to try this you can be sure I did the best I could to configure it properly and fit the maximum amount of features possible. It was downloaded and installed more than 10000 times and I believe most of the users will find no problems with it.
Features
- Full LCD Menus
- Adaptive step smoothing
- S-Curve acceleration
- Advanced Pause feature
- BLTouch support enabled (default probe offsets X=-42mm, Y=-5mm, Z=0mm)
- Bilenear automatic bed level with 25 probe points and 3 trials each
- Nozzle park feature
- Fully compatible with OctoPrint
- All changes from the original Marlin config file were marked with the comment tag "Customized DBP"
- SD Card support disabled to fit all extra features
Note about the bed leveling strategy
There are two ways to perform the automatic bed leveling, the first is before every print and the second is only when necessary. Based on my experience with the Ender 3, it's better to do an extremely precise bed leveling when necessary than a simpler one before every print and this firmware configuration reflects this choice.
If you want to do quick/imprecise bed leveling before every print you will need to reconfigure the firmware.
Note about linear advance feature
Most of the slicers already have excellent implementations of this flow compensation algorithm. Enabling Linear Advance in the firmware would make it incompatible with the slicers implementation and limit the user options. Linear advance is not enabled in this distribution.
Requirements
- BLTouch installed on pin 27
- Z stop switch removed (it can block the Z axis movement)
- IMPORTANT! BLTouch tip height must be adjusted according to the official instruction manuals. There are different BLTouch sensor clearences and the YouTube videos tips are wrong most of the times
- Bootloader installed
- Microsoft Visual Studio Code if you plan to install from the source code
- PlatformIO IDE extension installed on Visual Code if you plan to install from the source code
- OctoPrint - This version has no SD Card support.
Installation and configuration
Follow the instructions in the Vanilla Marlin 2.x for Ender 3 article.
If you have problems compiling the firmware...
I can compile the firmware for you. Please see here for more details.