Marlin 3D Printer Firmware
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.
Stable Release Branch
This Release branch contains the latest tagged version of Marlin (currently 1.1.8 – December 2017).
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.
Contributing to Marlin
To submit patches and new features for Marlin 1.1 check out the bugfix-1.1.x branch, add your commits, and submit a Pull Request back to the
bugfix-1.1.x branch. Periodically that branch will form the basis for the next minor release.
Note that our "bugfix" branch will always contain the latest patches to the current release version. These patches may not be widely tested. As always, when using "nightly" builds of Marlin, proceed with full caution.
Current Status: In Development
Marlin development has reached an important milestone with its first stable release in over 2 years. During this period we focused on cleaning up the code and making it more modern, consistent, readable, and sensible.
Marlin 1.1 is the last "flat" version of Marlin!
Arduino IDE now has support for folder hierarchies, so Marlin 1.2 will have a hierarchical file structure. Marlin's newly reorganized code will be easier to work with and form a stronger starting-point as we get into 32-bit CPU support and the Hardware Access Layer (HAL).
- Marlin Home Page - The Marlin Documentation Project. Join us!
- RepRap.org Wiki Page - An overview of Marlin and its role in RepRap.
- Marlin Firmware Forum - Find help with configuration, get up and running.
- @MarlinFirmware on Twitter - Follow for news, release alerts, and tips & tricks. (Maintained by @thinkyhead.)
The current Marlin dev team consists of:
Notable contributors include:
- Alberto Cotronei [@MagoKimbra]
- Andreas Hardtung [@AnHardt]
- Bernhard Kubicek [@bkubicek]
- Bob Cousins [@bobc]
- Chris Palmer [@nophead]
- David Braam [@daid]
- Edward Patel [@epatel]
- Erik van der Zalm [@ErikZalm]
- Ernesto Martinez [@emartinez167]
- F. Malpartida [@fmalpartida]
- Jochen Groppe [@CONSULitAS]
- João Brazio [@jbrazio]
- Kai [@Kaibob2]
- Luc Van Daele[@LVD-AC]
- Nico Tonnhofer [@Wurstnase]
- Petr Zahradnik [@clexpert]
- Thomas Moore [@tcm0116]
- ...and many others
Marlin is published under the GPL 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.
While we can't prevent the use of this code in products (3D printers, CNC, etc.) that are closed source or crippled by a patent, we would prefer that you choose another firmware or, better yet, make your own.