Marlin was first created in 2011 for the RepRap and
Ultimaker printers by combining elements from the open source Grbl and Sprinter projects. Development continued at a slow pace while gaining in popularity and acceptance as a superior alternative to the other available firmware. By 2015, companies were beginning to introduce commercial 3D printers with Marlin pre-installed and contributing their improvements to the project. Early machines included the
Ultimaker 1, the TAZ series by
Aleph Objects and the
Prusa i3 by Prusa Research. By 2018 manufacturers had begun to favor boards with more powerful and efficient ARM processors, often at a lower cost than the AVR boards they supplant. After extensive
refactoring Marlin 2.0 was officially released in late 2019 with full support for 32-bit ARM-based controller boards through a lightweight extensible
hardware access layer. While Marlin 1.x had only supported 8-bit AVR (e.g., ATMega) and ATSAM3X8E (Due) platforms, the HAL added ATSAMD51 (Grand Central),
Espressif ESP32, NXP LPC176x, and STMicro STM32. Marlin also acquired
HAL code to run natively on Linux, Mac, and Windows, but only within a simulation for debugging purposes. As of October 2022, Marlin was still under active development and continues to be very popular, claiming to be "the most widely used 3D printing firmware in the world." == Technical ==