Marlin takes a step into the next generation of 3D printing firmware with Marlin 2.0. Marlin now finally supports 32-bit boards from this generation. So what’s new about this firmware? and how does it differ from the 1.1.X generation? let’s take a look.
What’s new in Marlin 2.0?
The hallmark of this new generation of Marlin firmware is support for 32-bit boards. Thus, if you upgrade to a faster 32-bit ARM-based motherboard in the future, you’ll also have to upgrade your firmware to Marlin 2.0. Alongside this, it also supports 8-bit AVR-based boards. Marlin for 32-bit boards is edited using the excellent PlatformIO IDE rather than ArduinoIDE. Both PlatformIO and ArduinoIDE are good to use for 8-bit boards, but it is now more complicated to code with ArduinoIDE.so it’s better to stick with PlatformIO IDE for both 32-bit and 8-bit boards.
There is a long-term reason for you to make the shift because the whole community of developers and supporters is heading for Marlin 2.0. Any new features or hardware support will only be added to Marlin 2.0 from now onwards. The Marlin 1.1.X versions have reached the end of their development lifespan. The 1.1.X branch of firmware ended with Marlin 1.1.9, thus will not get any new features and probably barely any bug fixes( only the critical ones ). Marlin 2.0 features a much-improved hierarchical file structure and full 32-bit support via Hardware Access Layer (HAL). Future proof your 3D printers with Marlin 2.0. Support for modules like BTT TFT-35 touchscreen for Ender-3 and BLTouch Version 3 is only present in 2.0.
What are the problems faced by switching to 2.0?
There’s the fact that most features that existed already in Marlin 1.1.9 will take more program memory in Marlin 2.0. This is most likely since there have been many changes and improvements in these existing features that cause overall memory consumption to grow. For example: In 1.1.9, if you wanted Auto-bed levelling with BLTouch, you can have SD card support+Auto-bed leveling+BLTouch support+Power loss recovery enabled. These would take up almost all the memory left but would fit on 8-bit boards. But in order for 2.0 to support Auto-bed levelling and BLTouch in 8-bit boards, you will need to disable SD card support. You’ll have to find another way to control your printer, by directly from your computer or using a Raspberry Pi with Octoprint. Power loss recovery also needs to go since it specifically requires SD card support. Still, some 8-bit boards might not run into this memory issue. Some boards with ATMEGA 2560 processors have twice as much memory as others with the common ATMEGA 1284p. These might be suitable for 2.0.
Verdict on Marlin 2.0
If your printer is working fine, has appropriate safety measures like Thermal runaway protection, and is already producing great results, then probably skip on upgrading for the time being. But if you’re looking for the very best that Marlin has to offer, give Marlin 2.0 a try.
Harsh Pawar is a student of Mechanical Engineering. Specializes in the Mechatronics domain. Alongside this, He’s an avid runner and an auto enthusiast