Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. First created in 2011 for RepRap and Ultimaker printers, today Marlin drives a majority of the world's most popular 3D printers. Marlin delivers outstanding print quality with unprecedented control over the process.
Marlin 1.1 represents an evolutionary leap over Marlin 1.0.2. It is the result of over two years of effort by several volunteers around the world who have paid meticulous and sometimes obsessive attention to every detail. For this release we focused on code quality, performance, stability, and overall user experience. Several new features have also been added, many of which require no extra hardware.
For complete Marlin documentation click over to the Marlin Homepage <marlinfw.org>, where you will find in-depth articles, how-to videos, and tutorials on every aspect of Marlin, as the site develops. For release notes, see the Releases page.
The 1.1.x branch is home to all tagged releases of Marlin 1.1 (final version 1.1.9 – August 2018).
This branch will receive no further updates. All future development —including all bug fixes— will take place in the bugfix-2.0.x
branch, which will also serve as the root for all future Marlin development. Be sure to test bugfix-2.0.x
before reporting any bugs you find in 1.1.9.
Marlin 1.1.9 is the final release of the 8-bit flat version of Marlin Firmware. A monumental amount of talent and effort has gone into its production, and thanks are due to many people around the world. Throughout Marlin 1.1 development we worked closely with the community, contributors, vendors, host developers, library developers, etc. to improve the quality, configurability, and compatibility of Marlin Firmware, all while continuing to support a wide variety of Arduino-based boards.
Previous releases of Marlin include 1.0.2-2 (December 2016) and 1.0.1 (December 2014). Any version of Marlin prior to 1.0.1 (when we started tagging versions) can be collectively referred to as Marlin 1.0.0.
7b594ee4a2feba8872d86efff16f414d93dc01c7
The 1.1.x branch is home to all tagged releases of Marlin 1.1 (final version 1.1.9 – July 2018).
This branch will receive no further updates. All future development —including all bug fixes— will take place in the bugfix-2.0.x
branch, which will also serve as the root for all future Marlin development. Be sure to test bugfix-2.0.x
before reporting any bugs you find in 1.1.9.
Marlin 1.1.9 is the final release of the 8-bit flat version of Marlin Firmware. A monumental amount of talent and effort has gone into its production, and thanks are due to many people around the world. Throughout Marlin 1.1 development we worked closely with the community, contributors, vendors, host developers, library developers, etc. to improve the quality, configurability, and compatibility of Marlin Firmware, all while continuing to support a wide variety of Arduino-based boards.
Previous releases of Marlin include 1.0.2-2 (December 2016) and 1.0.1 (December 2014). Any version of Marlin prior to 1.0.1 (when we started tagging versions) can be collectively referred to as Marlin 1.0.0.
If you have coding or writing skills you're encouraged to contribute to Marlin. You may also contribute suggestions, feature requests, and bug reports through the Marlin Issue Queue.
Before contributing, please read our Contributing Guidelines and Code of Conduct.
- Marlin Home Page - The latest Marlin documentation.
- Marlin Releases - All Marlin releases with release notes.
- RepRap.org Wiki Page - An overview of Marlin and its role in RepRap.
- Marlin Firmware Forum - Get help with configuration and troubleshooting.
- Marlin Firmware Facebook group - Help from the community. (Maintained by @thinkyhead.)
- @MarlinFirmware on Twitter - Follow for news, release alerts, and tips. (Maintained by @thinkyhead.)
Marlin's administrators are:
- Scott Lahteine [@thinkyhead]
- Roxanne Neufeld [@Roxy-3D]
- Bob Kuhn [@Bob-the-Kuhn]
- Erik van der Zalm [@ErikZalm]
Notable contributors include:
- Alexey Shvetsov [@alexxy]
- Andreas Hardtung [@AnHardt]
- Ben Lye [@benlye]
- Bernhard Kubicek [@bkubicek]
- Bob Cousins [@bobc]
- Petr Zahradnik [@clexpert]
- Jochen Groppe [@CONSULitAS]
- David Braam [@daid]
- Eduardo José Tagle [@ejtagle]
- Ernesto Martinez [@emartinez167]
- Edward Patel [@epatel]
- F. Malpartida [@fmalpartida]
- João Brazio [@jbrazio]
- Kai [@Kaibob2]
- Luc Van Daele [@LVD-AC]
- Alberto Cotronei [@MagoKimbra]
- Marcio Teixeira [@marcio-ao]
- Chris Palmer [@nophead]
- Chris Pepper [@p3p]
- Steeve Spaggi [@studiodyne]
- Thomas Moore [@tcm0116]
- Teemu Mäntykallio [@teemuatlut]
- Nico Tonnhofer [@Wurstnase]
- [@android444]
- [@bgort]
- [@GMagician]
- [@Grogyan]
- [@maverikou]
- [@oysteinkrog]
- [@paclema]
- [@paulusjacobus]
- [@psavva]
- [@Tannoo]
- [@TheSFReader]
- ...and many others
Marlin is published under the GPLv3 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.