finds.dev← search

// the find

MarlinFirmware/Marlin

★ 17,467 · C++ · GPL-3.0 · updated Jul 2026

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.

Marlin is the dominant open-source firmware for FDM 3D printers, running on everything from ancient 8-bit AVR boards to modern STM32H7 Cortex-M7 chips. It ships on most consumer printers (Creality, Prusa derivatives, etc.) and has been the de facto standard for RepRap-style machines for over a decade. If you're building, modifying, or understanding a desktop FDM printer's motion control, this is the codebase.

The HAL architecture is genuinely well-designed — each platform gets its own directory with consistent interfaces (fastio.h, timers.h, HAL.h), so the core motion code doesn't care whether it's running on an ATmega2560 or an STM32H743. The configuration system via Configuration.h and Configuration_adv.h, while sprawling, gives you compile-time control over nearly every behavior without touching core code. CI is solid: automated build tests across the platform matrix on every PR, plus unit tests via PlatformIO, which is rare discipline for embedded firmware this old. The Configurations repo with hundreds of vendor-specific tested configs means you can usually find a working baseline for your exact board rather than starting from scratch.

Configuration.h is a 2000-line preprocessor maze — enabling bed leveling, changing extruder count, or adding a sensor requires hunting through `#define` chains where one wrong flag silently disables three features with no compile error. There's no runtime configuration validation beyond the SanityCheck.h files, and those sanity checks only catch the most egregious contradictions. The bugfix-2.1.x branch is what active development happens on, meaning the 'stable' release lags behind by months and the branch you actually want to run is explicitly labeled 'not for production use.' The ESP32 WiFi support is barebones compared to what that chip can do, and the RP2040 HAL is still in beta despite the Pi Pico being a popular cheap upgrade target.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →