Marlin is
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
firmware
In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide ...
originally designed for
RepRap project 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 ...
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 und ...
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 po ...
s through stepper drivers, controlling heaters, sensors, and lights, managing the
display
Display may refer to:
Technology
* Display device, output device for presenting information, including:
** Cathode ray tube, video display that provides a quality picture, but can be very heavy and deep
** Electronic visual display, output dev ...
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 r ...
, and
SCARA
The SCARA is a type of industrial robot
An industrial robot is a robot system used for manufacturing. Industrial robots are automated, programmable and capable of movement on three or more axes.
Typical applications of robots include robo ...
printers, as well as some other less conventional designs like
Hangprinter
Hangprinter is an 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 around US$250. The ...
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 pro ...
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
Aleph Objects, Inc. was a small manufacturing company based in Loveland, Colorado. Their business model focused around the development of Open-source hardware for 3D printing with full support for Free and open-source software.
LulzBot
The co ...
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 pro ...
,
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 used ...
, 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 running the KDE desktop environment to access a history of X Selections, any item of which can be reselected for pasting. It can also be used to ...
by the Klipper Foundation. These alternatives take advantage of extra processing power to offer advanced features like
input shaping
In control theory, input shaping is an open-loop control technique for reducing vibrations in computer-controlled machines. The method works by creating a command signal that cancels its own vibration. That is, a vibration excited by previou ...
, 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
Shareware is a type of proprietary software that is initially shared by the owner for trial use at little or no cost. Often the software has limited functionality or incomplete documentation until the user sends payment to the software developer ...
and former
Amiga game developer who joined the project in 2014.
His work is entirely supported by
crowdfunding
Crowdfunding is the practice of funding a project or venture by raising money from a large number of people, typically via the internet. Crowdfunding is a form of crowdsourcing and Alternative Finance, alternative finance. In 2015, over was rais ...
.
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,
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 compl ...
. 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
Aleph Objects, Inc. was a small manufacturing company based in Loveland, Colorado. Their business model focused around the development of Open-source hardware for 3D printing with full support for Free and open-source software.
LulzBot
The co ...
' 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
Bibo or BIBO may refer to:
People
* Bibo Bergeron, French animator and film director
* Erdal Bibo (born 1977), Turkish basketball player
* Irving Bibo (1889–1962), American composer, songwriter, and publisher
* István Bibó (1911–1979), Hung ...
,
, -
,
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
, 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 used ...
, 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 pro ...
[{{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
*
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
*
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 ...
*
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, ...
*
Comparison of 3D printers
This article contains a list of 3D printers.
Metrics
Some important 3D printer metrics include:
* Print technology: 3D printing processes encompasses a variety of methods which each have their own unique challenges.
* Length of production run an ...
*
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 te ...
*
3D Manufacturing Format
3D Manufacturing Format or 3MF is an open source file format standard developed and published by the 3MF Consortium.
3MF is an XML-based data format designed specifically for additive manufacturing. It includes information about materials, colors, ...
*
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
References
External links
Marlin official websiteMarlin GitHub repositoryMarlin Patreon pageHow it's Made: The Marlin Firmware!, an interview with Scott Laheine YouTube
3D printing
Firmware