Firmware for Arduino based RepRap 3D printer.
HTML C++ C JavaScript Makefile CSS Other
Latest commit 9ac1532 Aug 15, 2016 @repetier committed on GitHub Merge pull request #564 from corecode/lto-fix
fix linker error for Arduino with LTO compilation

Repetier-Firmware - the fast and user friendly firmware


Please use your configuration tool at for easy and fast configuration. You get the complete sources you need to compile from the online configurator. This system also allows it to upload configurations created with this tool and modify the configuration. This is handy for updates as you get all newly introduced parameter just by uploading the old version and downloading the latest version. New parameter are initalized with default values.

Version 0.92.8

  • Cleaner code base.
  • Pulse dense modulation for heater and fans.
  • Bed bump correction for delta printer.
  • Correction of parallelogram distortions.
  • Decoupling test for heater and sensor for more safety.
  • Mixing extruder support.
  • Test for watchdog.
  • Allow cold extrusion.
  • Fixed pause sd print issues.
  • Commands on sd stop.
  • Disable heaters/extruders on sd stop.
  • Safety question for sd stop.
  • Many minor corrections and improvements.
  • Extra motor drivers.
  • Event system for lights etc.
  • New homing sequence with preheat for nozzle based z sensors.
  • Language selectable on runtime.
  • Fix structure for Arduino 1.6.7
  • New bed leveling.
  • Fatal error handling added.

Version 0.91 released 2013-12-30

WARNING: This version only compiles with older Arduino IDE 1.0.x, for compilation with newest version use 0.92

Improvements over old code:

  • Works with CodeBlocks for Arduino which can replace the ArduinoIDE with a much better one on windows systems. Load the Repetier.cdb project file for this.
  • Better readable code.
  • Long filename support (from Glenn Kreisel).
  • Animated menu changes.
  • Separation of logic and hardware access to allow different processor architectures by changing the hardware related files.
  • z-leveling support.
  • Mirroring of x,y and z motor.
  • Ditto printing.
  • Faster and better delta printing.
  • New heat manager (dead time control).
  • Removed OPS handling.
  • Full graphic display support.
  • Many bug fixes.
  • many other changes.


For documentation please visit


The sources are managed by the Hot-World GmbH & Co. KG It was initially based on the Sprinter firmware from Kliment, but the code has run through many changes since them. Other developers:

  • Glenn Kreisel (long filename support)
  • Martin Croome (first delta implementation)
  • John Silvia (Arduino Due port)
  • sdavi (first u8glib code implementation)
  • plus several small contributions from other users.


Repetier-Firmware is a firmware for RepRap like 3d-printer powered with an arduino compatible controller. This firmware is a nearly complete rewrite of the sprinter firmware by kliment which based on Tonokip RepRap firmware rewrite based off of Hydra-mmm firmware. Some ideas were also taken from Teacup, Grbl and Marlin.


  • Supports cartesian, delta and core xy/yz printers.
  • RAMP acceleration support.
  • Path planning for higher print speeds.
  • Trajectory smoothing for smoother lines.
  • Nozzle pressure control for improved print quality with RAMPS.
  • Fast - 40000 Hz and more stepper frequency is possible with a 16 MHz AVR.
  • Support for Arduino Due based boards allowing much faster speeds.
  • Multiple extruder supported (max. 6 extruder).
  • Standard ASCII and improved binary (Repetier protocol) communication.
  • Autodetect the command protocol, so it will work with any host software.
  • Important parameters are stored in EEPROM and can easily be modified without recompilation of the firmware.
  • Automatic bed leveling.
  • Mixed extruder.
  • Detection of heater/thermistor decoupling.
  • 2 fans plus thermistor controlled fan.
  • Multi-Language support, switchable at runtime.
  • Stepper control is handled in an interrupt routine, leaving time for filling caches for next move.
  • PID control for extruder/heated bed temperature.
  • Interrupt based sending buffer (Arduino library normally waits for the recipient to receive written data)
  • Small RAM memory print, resulting in large caches.
  • Supports SD-cards.
  • mm and inches can be used for G0/G1
  • Arc support
  • Dry run : Execute yout GCode without using the extruder. This way you can test for non-extruder related failures without actually printing.

Controlling firmware

Also you can control the firmware with any reprap compatible host, you will only get the full benefits with the following products, which have special code for this firmware:


For documentation and installation please visit


See changelog.txt