# Marlin Firmware

Marlin is a firmware for RepRap 3D printers optimized for both 8 and 32 bit microcontrollers.  Marlin supports all common platforms.   Many commercial 3D printers come with Marlin installed.  Check with your vendor if you need source code for your specific machine.

Repository: https://github.com/MarlinFirmware/Marlin
Canonical: https://ross.abutalabs.com/products/marlin-firmware
Homepage: https://marlinfw.org
Language: C++
License: GPL-3.0
License Family: copyleft
Topics: reprap, arduino, 3d-printing, firmware, avr, atmel, stmicro, esp32, hacktoberfest
Last push: 2026-08-26T00:20:34+00:00
Link (homepage): https://marlinfw.org
Link (site_page): https://marlinfw.org/docs/basics/introduction.html
Link (site_page): https://marlinfw.org/docs/configuration/configuration.html
Link (site_page): https://marlinfw.org/docs/basics/install.html
Link (site_page): https://marlinfw.org/docs/basics/reporting_bugs.html

## Health v2 (maintenance only)
Score: 96/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 91, longevity 100
- inputs: {"age_days": 5499, "days_push": 8, "days_rel": 61, "gap_med": 20.0, "n_releases_24m": 11}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 17550, forks 19717 (observed 2026-08-28T04:11:19.980049+00:00)

## What it is
Marlin is open-source (GPL-3.0) firmware for RepRap 3D printers, CNC machines, and laser engravers, running on 8-bit AVR and 32-bit ARM microcontrollers. It manages real-time control of heaters, steppers, sensors, and displays, and is shipped by many commercial printer vendors.

## Use cases
- flash custom firmware on my 3d printer mainboard
- add auto bed leveling to my printer
- control a laser engraver or CNC spindle with gcode
- configure thermal runaway protection and power-loss recovery
- build marlin for an esp32 or stm32 board
- customize boot and status screens on my printer LCD
- run a headless printer on a small 8-bit board

## When to choose
- you want the most widely supported, community-tested 3D printer firmware
- you need support for a huge range of AVR and ARM boards and peripherals
- you want build-time configuration via header files or config.ini with PlatformIO
- you need laser/spindle, bed leveling, or safety features out of the box

## When to avoid
- you need a host-side print controller like OctoPrint rather than on-board firmware
- you want a modern alternative like Klipper with host-based motion planning
- you prefer runtime-configurable firmware without recompiling (e.g., RepRapFirmware)

## Facets
- artifact type: application
- maturity: active
- function: embedded, robotics, configuration-management, developer-tools
- domain: hardware, embedded-systems, cross-platform
- platform: embedded, cpp, iot
- tags: 3d-printing, reprap, firmware, gcode, cnc, laser-engraving, platformio, avr, arm, automation

## Member repositories
- MarlinFirmware/Marlin (main) score 96
- MarlinFirmware/Configurations (infra) score 79

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:19.980049+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:02:53.915499+00:00, confidence not recorded.
  - readme: https://github.com/MarlinFirmware/Marlin (fetched 2026-08-28T04:11:19.980049+00:00, sha f6f7c37186f7)
  - homepage: https://marlinfw.org (fetched 2026-08-29T08:01:03.103317+00:00, sha ce0c43c4375b)
  - site_page: https://marlinfw.org/docs/configuration/config-ini.html (fetched 2026-08-29T08:01:03.133283+00:00, sha 28f0567d3c63)
  - site_page: https://marlinfw.org/docs/basics/introduction.html (fetched 2026-08-29T08:01:03.112532+00:00, sha 5bfa20792a18)
  - site_page: https://marlinfw.org/docs/configuration/configuration.html (fetched 2026-08-29T08:01:03.115296+00:00, sha 1fe0debab3b8)
  - site_page: https://marlinfw.org/docs/basics/install.html (fetched 2026-08-29T08:01:03.122670+00:00, sha 9e2e0ebb45ea)
  - site_page: https://marlinfw.org/docs/basics/reporting_bugs.html (fetched 2026-08-29T08:01:03.124702+00:00, sha 3c7cfa535ea0)
  - site_page: https://marlinfw.org/docs/configuration/1.1/laser_spindle.html (fetched 2026-08-29T08:01:03.127801+00:00, sha de0dc9306342)
  - site_page: https://marlinfw.org/docs/configuration/2.0.9/laser_spindle.html (fetched 2026-08-29T08:01:03.129768+00:00, sha 09889a294530)
  - site_page: https://marlinfw.org/docs/configuration/boot_status_screen.html (fetched 2026-08-29T08:01:03.131649+00:00, sha 4bbc14e46153)
- Data as of 2026-08-30T08:39:29.467469+00:00.
