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.
This Release branch contains the latest tagged version of Marlin (currently 1.1.6 – October 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.
Click on the Issue Queue and Pull Requests links above at any time to see what we're currently working on.
Download earlier versions of Marlin on the Releases page. (The latest tagged release of Marlin is version 1.1.7.)
- Internally always use native machine space
- Initial UBL LCD Menu
- New optimized G-code parser singleton
- Initial
M3
/M4
/M5
Spindle and Laser support - Added
M421 Q
to offset a mesh point - Refinements to
G26
andG33
- Added
M80 S
to query the power state - "Cancel Print" now shuts off heaters
- Added
EXTRAPOLATE_BEYOND_GRID
option for mesh-based leveling
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.
- This branch is for fixing bugs and integrating any new features for the duration of the Marlin 1.1.x life-cycle. We've opted for a simplified branch structure while we work on the maintainability and encapsulation of code modules. Version 2.0 and beyond should improve on separation of bug fixes and cutting-edge development.
- Follow the proper coding style to gain points with the maintainers. See our Coding Standards page for more information.
- Please submit your questions and concerns to the Issue Queue. The "naive" question is often the one we forget to ask.
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:
- Roxanne Neufeld [@Roxy-3D]
- Scott Lahteine [@thinkyhead]
- Bob Kuhn [@Bob-the-Kuhn]
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]
- [@alexxy]
- [@android444]
- [@benlye]
- [@bgort]
- [@Grogyan]
- [@marcio-ao]
- [@maverikou]
- [@oysteinkrog]
- [@p3p]
- [@paclema]
- [@paulusjacobus]
- [@psavva]
- [@Tannoo]
- [@teemuatlut]
- ...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.