Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform http://marlinfw.org/

Scott Lahteine 743d3100fa 🔨 [2.0.9.7] Use older chitu_crypt.py 1 year ago
.github 2952f0be5d Updates from #24560 2 years ago
.vscode fbbf556e08 🔨 Workspace file with recommendation 2 years ago
Marlin 743d3100fa 🔨 [2.0.9.7] Use older chitu_crypt.py 1 year ago
buildroot 743d3100fa 🔨 [2.0.9.7] Use older chitu_crypt.py 1 year ago
config 743d3100fa 🔨 [2.0.9.7] Use older chitu_crypt.py 1 year ago
docker fe77fc66c0 🔨 Use PlatformIO Core 6.0 Dev for CI (#24194) 2 years ago
docs 2952f0be5d Updates from #24560 2 years ago
ini a8cf849bbb 🔨 Use 'build_src_filter' 1 year ago
.editorconfig 284cc8f4c0 🧑‍💻 Update Python indentation 1 year ago
.gitattributes 7473241438 .bin and .woff are binary 4 years ago
.gitignore f503722c45 🐛 Fix Artillery Ruby (startup code, build flags) (#23446) 2 years ago
LICENSE de5cca6b1f Update more external links (#18819) 4 years ago
Makefile 81a0206df8 Trust that script -x flags will always be set (#20453) 4 years ago
README.md 2952f0be5d Updates from #24560 2 years ago
docker-compose.yml 1cceae89cd Local testing via Makefile & Docker (#19981) 4 years ago
get_test_targets.py 284cc8f4c0 🧑‍💻 Update Python indentation 1 year ago
platformio.ini 41593c4d1a 🔨 Newer PlatformIO support 1 year ago
process-palette.json 89ccd463d7 Update auto_build.py paths for Atom/Sublime 4 years ago

README.md

MarlinFirmware's logo

Marlin 3D Printer Firmware

GPL-V3.0 License Contributors Last Release Date CI Status GitHub Sponsors
Follow MarlinFirmware on Twitter

Additional documentation can be found at the Marlin Home Page. Please test this firmware and let us know if it misbehaves in any way. Volunteers are standing by!

Marlin 2.0

Marlin 2.0 takes this popular RepRap firmware to the next level by adding support for much faster 32-bit and ARM-based boards while improving support for 8-bit AVR boards. Read about Marlin's decision to use a "Hardware Abstraction Layer" below.

Download earlier versions of Marlin on the Releases page.

Example Configurations

Before building Marlin you'll need to configure it for your specific hardware. Your vendor should have already provided source code with configurations for the installed firmware, but if you ever decide to upgrade you'll need updated configuration files. Marlin users have contributed dozens of tested example configurations to get you started. Visit the MarlinFirmware/Configurations repository to find the right configuration for your hardware.

Building Marlin 2.0

To build Marlin 2.0 you'll need Arduino IDE 1.8.8 or newer or PlatformIO. Detailed build and install instructions are posted at:

Supported Platforms

Platform MCU Example Boards
Arduino AVR ATmega RAMPS, Melzi, RAMBo
Teensy++ 2.0 AT90USB1286 Printrboard
Arduino Due SAM3X8E RAMPS-FD, RADDS, RAMPS4DUE
ESP32 ESP32 FYSETC E4, E4d@BOX, MRR
LPC1768 ARM® Cortex-M3 MKS SBASE, Re-ARM, Selena Compact
LPC1769 ARM® Cortex-M3 Smoothieboard, Azteeg X5 mini, TH3D EZBoard
STM32F103 ARM® Cortex-M3 Malyan M200, GTM32 Pro, MKS Robin, BTT SKR Mini
STM32F401 ARM® Cortex-M4 ARMED, Rumba32, SKR Pro, Lerdge, FYSETC S6, Artillery Ruby
STM32F7x6 ARM® Cortex-M7 The Borg, RemRam V1
SAMD51P20A ARM® Cortex-M4 Adafruit Grand Central M4
Teensy 3.5 ARM® Cortex-M4
Teensy 3.6 ARM® Cortex-M4
Teensy 4.0 ARM® Cortex-M7
Teensy 4.1 ARM® Cortex-M7
Linux Native x86/ARM/etc. Raspberry Pi

Submitting Changes

Marlin Support

The Issue Queue is reserved for Bug Reports and Feature Requests. To get help with configuration and troubleshooting, please use the following resources:

Contributors

Marlin is constantly improving thanks to a huge number of contributors from all over the world bringing their specialties and talents. Huge thanks are due to all the contributors who regularly patch up bugs, help direct traffic, and basically keep Marlin from falling apart. Marlin's continued existence would not be possible without them.

Administration

Regular users can open and close their own issues, but only the administrators can do project-related things like add labels, merge changes, set milestones, and kick trolls. The current Marlin admin team consists of:

License

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.