Marlin (firmware)
   HOME

TheInfoList



OR:

Marlin is open source firmware originally designed for
RepRap project The RepRap project started in England in 2005 as a University of Bath initiative to develop a low-cost 3D printer that can print most of its own components, but it is now made up of hundreds of collaborators worldwide. RepRap is short for rep''lic ...
FDM (fused deposition modeling)
3D printers 3D printing or additive manufacturing is the construction of a three-dimensional object from a CAD model or a digital 3D model. It can be done in a variety of processes in which material is deposited, joined or solidified under computer co ...
using the
Arduino Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed under ...
platform. Once the firmware has been compiled from C++ source code; it is installed and runs on a mainboard with onboard components and general-purpose I/O pins to control and communicate with other components. For control the firmware receives input from a USB port or attached media in the form of
G-code G-code (also RS-274) is the most widely used computer numerical control (CNC) programming language. It is used mainly in computer-aided manufacturing to control automated machine tools, and has many variants. G-code instructions are provided to ...
commands instructing the machine what to do. For example, the command G1 X10 tells the machine to perform a smooth linear move of the X axis to position 10. The main loop manages all of the machine's real-time activities like commanding the
stepper motor A stepper motor, also known as step motor or stepping motor, is a brushless DC electric motor that divides a full rotation into a number of equal steps. The motor's position can be commanded to move and hold at one of these steps without any posi ...
s through stepper drivers, controlling heaters, sensors, and lights, managing the display and user interface, etc. Marlin supports many different types of 3D printing robot platforms, including basic Cartesian, Core XY,
Delta Delta commonly refers to: * Delta (letter) (Δ or δ), a letter of the Greek alphabet * River delta, at a river mouth * D ( NATO phonetic alphabet: "Delta") * Delta Air Lines, US * Delta variant of SARS-CoV-2 that causes COVID-19 Delta may also ...
, and
SCARA The SCARA is a type of industrial robot. The acronym stands for Selective Compliance Assembly Robot Arm or Selective Compliance Articulated Robot Arm. By virtue of the SCARA's parallel-axis joint layout, the arm is slightly compliant in the X ...
printers, as well as some other less conventional designs like
Hangprinter Hangprinter is an Open-source model, open-source fused deposition modeling delta 3D printer notable for its unique frameless design. It was created by Torbjørn Ludvigsen. The Hangprinter uses relatively low cost parts and can be constructed for ...
and Beltprinter. In addition to 3D printers, Marlin is generally adaptable to any machine requiring control and interaction. It has been used to drive SLA and SLS 3D printers, custom CNC mills, laser engravers (or laser beam machining),
laser cutters Laser cutting is a technology that uses a laser to vaporize materials, resulting in a cut edge. While typically used for industrial manufacturing applications, it is now used by schools, small businesses, architecture, and hobbyists. Laser cutt ...
,
vinyl cutter A vinyl cutter is an entry level machine for making signs. Computer designed vector files with patterns and letters are directly cut on the roll of vinyl which is mounted and fed into the vinyl cutter through USB or serial cable. Vinyl cutters ar ...
s, pick-and-place machines, foam cutters, and egg painting robots.


History

Marlin was first created in 2011 for the RepRap and
Ultimaker Ultimaker is a 3D printer-manufacturing company based in the Netherlands, with offices and assembly line in the US. They make fused filament fabrication 3D printers, develop 3D printing software, and sell branded 3D printing materials. Their pr ...
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 The Prusa i3 series consists of open-source fused deposition modeling 3D printers, manufactured by Czech company Prusa Research under the trademarked name Original Prusa i3. Part of the RepRap project, Prusa i3 printers were named the most used ...
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 In computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the '' factoring''—without changing its external behavior. Refactoring is intended to improve the design, structu ...
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 is still under active development and continues to be very popular, claiming to be "the most widely used 3D printing firmware in the world." Some of the most successful companies using Marlin today are
Ultimaker Ultimaker is a 3D printer-manufacturing company based in the Netherlands, with offices and assembly line in the US. They make fused filament fabrication 3D printers, develop 3D printing software, and sell branded 3D printing materials. Their pr ...
, LulzBot,
Prusa Research The Prusa i3 series consists of open-source fused deposition modeling 3D printers, manufactured by Czech company Prusa Research under the trademarked name Original Prusa i3. Part of the RepRap project, Prusa i3 printers were named the most use ...
, and
Creality Creality (), officially known as Shenzhen Creality 3D Technology Co, Ltd., is a Chinese 3D printer manufacturing company established in 2014, with headquarters located in Shenzhen. Creality was jointly launched by Chen Chun, Ao Danjun, Liu Huil ...
. Marlin firmware is not alone in the field of open source 3D printer firmware. Other popular open source firmware offerings include RepRap Firmware by Duet3D, Buddy Firmware by Prusa Research, and
Klipper Klipper is a clipboard manager for the KDE interface. It allows users of Unix-like operating systems An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer ...
by the Klipper Foundation. These alternatives take advantage of extra processing power to offer advanced features like input shaping, which has only recently been added to Marlin.


Development

Marlin firmware is hosted on GitHub, where it is developed and maintained by a community of contributors. Marlin's lead developer is Scott Lahteine (aka Thinkyhead), an independent shareware and former Amiga game developer who joined the project in 2014. His work is entirely supported by crowdfunding. Marlin is written in optimized C++ for the Arduino API in a mostly embedded-C++ style, which avoids the use of
dynamic memory allocation Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when ...
. The firmware can be built with
Arduino IDE Arduino () is an open-source hardware and open-source software, software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware produc ...
, PlatformIO, or Auto Build Marlin extension for
visual studio code Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft with the Electron Framework, for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code comple ...
. The latter method is recommended because it is very easy but it only being an VSC extension requires VSC to be installed on the building system first.


License

Marlin is distributed under the GPL license which requires that organizations and individuals share their source code if they distribute the firmware in binary form, including firmware that comes pre-installed on the mainboard. Vendors have occasionally failed to comply with the license, leading to some distributors dropping their products. In 2018 the US distributor Printed Solid ended its relationship with
Creality Creality (), officially known as Shenzhen Creality 3D Technology Co, Ltd., is a Chinese 3D printer manufacturing company established in 2014, with headquarters located in Shenzhen. Creality was jointly launched by Chen Chun, Ao Danjun, Liu Huil ...
due to GPL violations and quality issues. As of 2022, some vendors are still spotty in their compliance, deflecting customer requests for the source code for an extended period or in perpetuity after a product release.


Usage and license compliance

Marlin firmware is used by several 3D printer manufacturers, most of which are fully compliant with the license. Compliance is tracked by Tim Hoogland of TH3D Studio, ''et. al.''. The following table may be out of date by the time you read this. {, class="wikitable" , + !Company !GPL compliance , - , Aleph Objects' Lulzbot printers , Yes , - ,
Anet Anet () is a commune in the Eure-et-Loir department in the Centre-Val de Loire region of north-central France. It lies 14 km north-northeast of Dreux between the rivers Eure and Vesgre, the latter flowing into the former some 4 km no ...
, , - , Artillery 3D , Yes , - , AnyCubic , Yes , - , Alphawise , Yes , - , Bibo , , - , BQ , , - , BCN3D , Yes , - , BCN3D , Yes , -
BIQU/BTT
, Yes , - ,
Creality Creality (), officially known as Shenzhen Creality 3D Technology Co, Ltd., is a Chinese 3D printer manufacturing company established in 2014, with headquarters located in Shenzhen. Creality was jointly launched by Chen Chun, Ao Danjun, Liu Huil ...
, No: CR-X Yes: CR-10S and Ender3 , - , FLSun , Yes , - , FolgerTech , , - , Geeetech , Yes , - , JGAurora , No: A8, A7, Z-603S Yes: A1, A5S, A3S, A5 , - , LMYSTAR , No , - , Makerbase , Yes , - , Mingda , No , - ,
Printrbot Printrbot is a 3D printer company created by Brook Drumm in 2011 and originally funded through Kickstarter. Printrbot printers use fused deposition modelling to manufacture 3-dimensional artifacts. Printrbot closed shop in 2018, noting "low sal ...
, Yes , - ,
Prusa Research The Prusa i3 series consists of open-source fused deposition modeling 3D printers, manufactured by Czech company Prusa Research under the trademarked name Original Prusa i3. Part of the RepRap project, Prusa i3 printers were named the most use ...
, Yes, and they base their custom firmware on Marlin , - , Sunlu , No , - , Tevo , No , - , TronXY , No , - ,
Ultimaker Ultimaker is a 3D printer-manufacturing company based in the Netherlands, with offices and assembly line in the US. They make fused filament fabrication 3D printers, develop 3D printing software, and sell branded 3D printing materials. Their pr ...
{{Cite web, url=https://github.com/Ultimaker/Ultimaker2Marlin/tree/master/Marlin, title=Ultimaker/Ultimaker2Marlin, website=GitHub, language=en, access-date=2018-08-04 , Yes , - , Wanhao , Yes , - , Zonestar , Yes


See also

*
RepRap Project The RepRap project started in England in 2005 as a University of Bath initiative to develop a low-cost 3D printer that can print most of its own components, but it is now made up of hundreds of collaborators worldwide. RepRap is short for rep''lic ...
*
G-code G-code (also RS-274) is the most widely used computer numerical control (CNC) programming language. It is used mainly in computer-aided manufacturing to control automated machine tools, and has many variants. G-code instructions are provided to ...
*
RAMPS An inclined plane, also known as a ramp, is a flat supporting surface tilted at an angle from the vertical direction, with one end higher than the other, used as an aid for raising or lowering a load. The inclined plane is one of the six clas ...
*
3D printing 3D printing or additive manufacturing is the construction of a three-dimensional object from a CAD model or a digital 3D model. It can be done in a variety of processes in which material is deposited, joined or solidified under computer co ...
* Applications of 3D printing *
List of 3D printer manufacturers This is a list of notable manufacturers of 3D printers. 3D printers are a type of robot that is able to print 3D models using successive layers of material. 0–9 * 3D makeR Technologies – Barranquilla, Colombia * 3D Systems – Rock Hill, S ...
* Comparison of 3D printers *
3D printing processes A variety of processes, equipment, and materials are used in the production of a three-dimensional object via additive manufacturing. 3D printing is also known as additive manufacturing, therefore the numerous available 3D printing process tend ...
* 3D Manufacturing Format * 3D printing speed *
Fused filament fabrication Fused filament fabrication (FFF), also known as fused deposition modeling (with the trademarked acronym FDM), or called ''filament freeform fabrication'', is a 3D printing process that uses a continuous filament of a thermoplastic material. Filam ...
*
Construction 3D printing Construction 3D Printing (c3Dp) or 3D construction Printing (3DCP) refers to various technologies that use 3D printing as a core method to fabricate buildings or construction components. Alternative terms for this process include "additive construc ...


References


External links


Marlin official website

Marlin GitHub repository

Marlin Patreon page

How it's Made: The Marlin Firmware!, an interview with Scott Laheine
YouTube 3D printing Firmware