Need help with Sprinter?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

425 Stars 342 Forks 581 Commits 9 Opened issues


Firmware for RepRap printers and similar devices

Services available


Need anything else?

Contributors list

The leading developers of Sprinter are currently Kliment, caru and midopple, though many others contribute with their patches.

This is a firmware for RAMPS and other reprap single-processor electronics setups. It supports printing from SD card, active heatbed control, and ATmega internal pullups.

This work is licensed under the GNU GPL v3 or (at the user's discretion) any later version.

It is based on Tonokips's firmware, which was licensed under GPL v2 or later.

WARNING: This version (April 19th, 2011) fixes a bug that caused speeds to be lower than what set in GCODE. So before attempting any print, you will have to check all your axis max speed, including the extruder retract speed. Not following this guidelines can seriously damage your printer.

The configuration file now has an option to set the wanted temperature table file. If you copy and paste a temperature file from older versions, make sure that the configuration is pointing to it. For example:

include "ThermistorTable.h"

In addition, you can optionally use a different thermistor table for hot-end and bed. To do so, comment out the following lines in configuration.h:


define bedtemptable temptable

Then add a line pointing to your second thermistor table, for example:

include "BedThermistorTable.h"

Finally, make sure that the nozzle thermistor table, inside ThermistorTable.h in this case, is defined as "temptable" and that the bed thermistor table is defined as "bedtemptable", and that the number of temps is defined as NUMTEMPS for the heater and BNUMTEMPS for the bed.

There are examples of all these configurations in the configuration.h file. Please look at them before you change anything.

Complete beginners guide

From a fresh Ubuntu install how to update the firmware of your Prusa Mendel ? (the specifics are for the Prusa Mendel built at the Bath RepRap masterclass. This version uses the Some details may not fit your hardware, be sure to check what you are doing)

Steps 3,10,11 are hardware-specific to the Sanguinololu and Bath Prusa and should be skipped or modified accordingly for other hardware such as the Arduino Mega 2560

Software installation

  1. Install the required packages (gcc-avr, avr-libc, etc.) sudo apt-get install arduino-core

  2. Get the arduino software version 0023, uncompress it in a directory. Arduino software v1 has not been tested much, but is known to work with some boards.

  3. Get the sanguino software, version 0023

follow the sanguino's readme so that your arduino hardware folder looks like arduino-0023/hardware/arduino arduino-0023/hardware/sanguino arduino-0023/hardware/tools

  1. Clone the Sprinter git repository. git clone Optionally, switch to the desired branch git branch -a git checkout THEBRANCHYOU_WANT

Firmware compilation and upload

  1. Edit INSTALL_DIR inside Sprinter/Makefile (do not mind the default reference to arduino 0022)

  2. Run make. If everything goes well Sprinter/applet/Sprinter.cpp should have been created. You can safely ignore the error message mentioning arduino-0023/hardware/arduino/cores/arduino/WString.o

  3. Connect your Sanguinololu to your computer

  4. Launch arduino-0023/arduino, open Sprinter/Sprinter.pde

  5. Go to Tools -> Serial Port, and select the relevant option

  6. Go to Tools -> Board, select Sanguino

  7. Go to the Configuration.h file and edit the following lines:

    define MOTHERBOARD 62

    62 indicates Sanguino 1.2 or superior

float axisstepsper_unit[]

set values that match your hardware. For the special cast gears of the Bath Masterclass Prusa Mendel, these values are
float axisstepsper_unit[] = {91.42857, 91.42857, 3200/1.25,700};

also for the mentioned hardware setup const bool ENDSTOPS_INVERTING = false; //set to true to invert the logic of the endstops // false because the switch SIG signal is linked to the ground // "no touch == closed circuit == SIG connects to GND" // see

  1. Click on the "play" button to compile. If everything goes well you should see a "Binary sketch size: " message.

  2. Click on "the arrow going to the right" button to upload (you had done steps 7,8,9 before, right ?). If everything goes well you should see the message "Done uploading".

if GEN7 with 20 Mhz is in use set the Fuses for Bootloader to lfuse= 0xF7 hfuse = 0xD4 efuse = FD Brownout must be 2,7 V

Congratulations, you have just upgraded the firmware of your RepRap !

You can use to do some manual verifications by moving the printer's tip along the axes and verifying that the physical displacements match the ones indicated on the interface.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.