Marlin 1.1.9 upstream released

With the recent release of Marlin 1.1.9 as stable, we have gone ahead and merged in our changes to upstream. While this is still early in development, we have done several tests on multiple printer and tool head combinations and prints are looking good! The highlights of this release is summed up very well by the developers:

For this development cycle we wanted to produce the most bug-free Marlin we possibly could, even if it meant holding back some features and ignoring our itch to experiment. It would’ve been great to release Marlin 1.1.9 in March, but we were getting a lot of reports about layer shifts, unpredictable and hard to pin down. The issue didn’t affect everyone, but was too prominent to ignore. Once we turned on the lights we discovered a lot of sneaky bugs hiding in the planner. We undertook a major analysis and rewrite of the planner/stepper code. The resulting planner is much smarter and more robust than any previous version of Marlin, and this should be noticeable in your print jobs.

A full list of upstream work/fixes that have been completed can be found here:

We have also enabled printer statistic tracking. This now logs:

  • Total Print Count

  • Total Prints Completed

  • Total Print Time

  • Longest Print

  • Total Filament Extruded

These statistics have been being tracked since Marlin 1.1.5, and when updating firmware it will show all prints since that firmware was installed. This can be reported via GLCD or through the console with an M78 command.

We have improved the change filament function by adding a custom temp setting.

Layer shift while pausing via GLCD appears no longer appears present (~20 tests so far)

While we continue to test this internally, if anyone would like to give it a try the newer versions can be found here: In order to print via Cura LE, go to Preferences > Configure Cura > Allow Connections to Wrong Printers. Just be sure to select the proper printer and tool head .hex file when uploading custom firmware.

If you run into any issues, or have requests about something functioning differently please let us know!

Are you making any changes to the Marlin source outside of Configuration.h and Configuration_adv.h?

Yes. Although we try pushing changes upstream, to get parity between what we use and what you can get from the Marlin repos, the process is long and slow. Right now there are several modification in the Marlin source that are not present upstream, and while the situation gets better with every release, we’ve still got a while to go before they are equal. You can get a good idea of the modifications in the code which are not present in Marlin upstream by searching for “LULZBOT_” in the source files outside of “Configuration.h” and “Configuration_adv.h”

– Marcio


When you release new firmware through Cura, are you also posting the source behind the hex files somewhere.

Not only do we post release candidate source code, we publicly host all of our developmental source code as well. You can see all the latest greatness here: was just posted, it involves some tweaks to the “change filament” option within the GLCD. Tweaked retract speed, and prime distance to prevent strip outs and wasted material.

Should we use a version of CuraLE newer than 3.2.23 with the latest Marlin 1.1.9?

Any 3.2 version of Cura LE should be completely functional. We are currently developing our next release, and just awaiting on the completion of T1708 before rolling 1.1.9 FW into our next version for our smoke test procedure. We hope to have the next RC version available for testing early next week.

A beta release of version has just been pushed to “” (binaries here: This version addresses some issue identified with, including potential probing issues with previous generation printers (i.e. Mini 1, TAZ 6).

This new version brings the improved homing and probing code developed for Mini 2 down to older generation printers, so you might notice your printer behaving slightly differently. After homing, the printer will do a slow motion to unpress the endstops. This helps prevent interference with subsequent moves. Also, during probing, if a corner fails, all four corners will be re-probed after the wipe. This is expected to improve probe accuracy.

On the Mini 2, the Z motor will remain energized after a SD print, to prevent the fall of the axis. On Mini’s with the LCD accessory, the printer will now be identified as “Mini” rather than “Mini LCD” to make the “Lulzbot Mini Ready” text fit on the screen.