Marlin, Klipper and Proprietary Firmware
Firmware turns G-code into motor steps and heater control, and it runs the safety checks that shut heaters off when something is wrong. Marlin runs entirely on the printer's mainboard and is configured at build time; Klipper splits the work between a host computer and the board and reads a text config file. Changing firmware has prerequisites and real risks, and thermal protection must never be disabled.
What firmware does
Firmware is the program on the printer's control board. It reads G-code from the slicer and turns it into motor steps, heater power and fan speeds, and it reads the endstops, probes and temperature sensors. Marlin's documentation lists the jobs: heaters, steppers, sensors, displays and buttons. Firmware also runs the safety checks that cut power to the heaters when a temperature reading stops making sense, which is the part that matters most to every owner, whether or not you ever change your firmware.
Thermal protection: the part you never turn off
Marlin's thermal protection page states the danger plainly: if the temperature sensor stops telling the truth, the firmware keeps the heater on, and the result can be a fire. Its checks include:
- Heating watch. While a heater is well below target, its temperature must rise within a set time, or the firmware reports "Heating failed." That catches a heater that is on but not heating the sensor, such as a loose cartridge or a detached sensor.
- Runaway window. Once at target, the reading must not stay too far below it for too long, or the firmware reports "THERMAL RUNAWAY." That catches a sensor that has slipped out of the block.
- Minimum and maximum temperature. Readings outside a fixed range, usually a broken wire or a short, trigger an error.
When a check trips, Marlin switches the heaters off and stops the printer until it is reset or power-cycled; the print is lost. Marlin recommends inspecting for loose sensors, heater problems or leaking filament before resetting. Klipper lists basic thermal heater protection as enabled by default.
Marlin's own words: never disable thermal protection to make an error go away. Every one of these errors has a physical cause, and the cause is still there after you silence the message. Marlin also notes that very long check periods and large tolerances turn the protection off in all but name. A thermal error is a reason to stop and inspect, or to contact the printer maker or qualified service. Heater and sensor replacement and wiring work are not do-it-yourself fixes for this guide; see Fire and Electrical Safety.
Marlin
Marlin runs as a single self-contained application on the printer's mainboard, on hardware from older 8-bit boards up to current 32-bit ARM boards. It can run standalone or with a host program sending it G-code.
The practical effect is that most of Marlin's setup is fixed when the firmware is built. Marlin's configuration guide explains that settings in its configuration files are build-time options, so changing them means rebuilding and reflashing. Other values are defaults that can be changed while the printer runs, such as preheat temperatures, and are stored in the board's settings memory (EEPROM). After flashing, Marlin says to send M502 to load the new defaults and M500 to save them; otherwise the old stored values stay in effect. That catches many people out: new firmware, old settings.
Klipper
Klipper splits the work. An application processor, typically a small computer such as a Raspberry Pi, calculates the printer's movements and tells the microcontroller on the printer board when each step must happen; Klipper says steps are timed to within 25 microseconds or better Maker spec. Settings live in a text file, usually printer.cfg, so in Klipper's words there is no need to reflash the micro-controller to change a setting. It also offers features such as pressure advance and input shaping; see Pressure Advance.
The practical effect is flexibility at the cost of a second computer and more setup responsibility.
Proprietary firmware
Many ready-to-run printers ship with the maker's own firmware, updated through the maker's app, screen or download page. It usually works together with the maker's slicer profiles, sensors, calibration routines and accessories, and its configuration is not something you edit. If your printer runs maker firmware, the safe path is the maker's own update procedure and release notes. Replacing maker firmware with something else is a separate project whose support, compatibility and warranty consequences only your printer maker can tell you.
Changing firmware: prerequisites and risks
Updating or replacing firmware is not like changing a slicer setting. Before you start:
- Know your exact board and printer. Klipper has you build the firmware for your board and start from the config file for your printer or board; Marlin provides example configurations for known printers.
- Save your current settings. Write down or export calibration values, offsets and the current configuration before changing anything.
- For Klipper, a host computer. Klipper's installation guide recommends a small board computer such as a Raspberry Pi with a headless operating system image; desktop versions are not recommended. You build the board firmware on that host and flash it, then start from an example config for your printer or board, which Klipper says will require some customization.
- Know the flashing quirks. Klipper warns that some boards must not be connected to the host by USB while flashing from an SD card, and that boards flashed by SD card often refuse a file with the same name twice.
- For Marlin, a build environment. Marlin is built from source, with several supported routes listed in its documentation, then flashed to the board. Afterward, load and save the new defaults as described above.
The risks follow from the setup: stale stored settings that no longer match the new firmware, an example config that was never fully customized for your hardware, or a flash that did not take. Any of these can leave a printer that moves or heats differently from what you expect, which is why the checks below come before any print.
After any firmware change
Treat the printer as untested. Klipper's installation guide says to review the config and then verify it with its configuration check document once the printer reports ready. On any firmware, work through the maker's or project's checks before printing, stay with the printer while you do, then run a full calibration (see Bed Tramming, Probing and Mesh Compensation) before an unattended print.
- Marlin Basics Marlin Firmware
- Configuring Marlin Marlin Firmware
- Thermal Protection Marlin Firmware
- Features Klipper
- Installation Klipper
Last reviewed 2026-11-05