Skip to content
Ryan Jarvis edited this page Dec 15, 2018 · 6 revisions

Installation

Required software

Go to the Arduino homepage and download the latest IDE for your OS.

Adjustments

The original arduino sources are fine, but have some bad optimizations for serial communication. Look in the boards subdirectory for your board and copy the replacement files into the arduino installation. They are faster versions of the original files, so you don't get any compatibility problems.

Compile and upload

Start the Arduino-IDE and load the Repetier.pde file. The IDE will open all other files in that directory, too. Select the file "Configuration.h" and edit the parameters, to fit your RepRap and controller. All parameters are documented in the file, so no further explanation is required. If you are nor sure, read the rest of the docs. They give some deeper explanation, which may help.

If you have a LCD or keys/buzzer connected, you may need to edit the uiconfig.h. You can find instructions for building and configuring the user interface here: User Interface

Connect your board with your computer and switch the power on. Select the correct COM-Port under Tools->Serial Port and the correct board under Tools->Board. Click the "Upload" button. After a while your new firmware should be uploaded and ready to start. If the upload doesn't start, after the files are compiled, try pressing the reset button on your board once.

Update from older version

Version 0.32 and 0.35 changed the EEPROM usage, because some parameter aren't used any more and new parameter were added. Check the settings before using the new version. Watch out for new values, telling you they are 0 - they are probably not. Illegal numbers are returned as 0, too.

Common pitfalls

Changes in configuration.h have no effect

Often you want to tweak some firmware settings like steps per mm, acceleration, etc. The normal way is to change the values in configuration.h, compile and upload. To remedy this time consuming task, the Repetier-Firmware can store the most important parameter in the controller EEPROM, which take precedence if enabled. So if your changes have no effect, you may have enabled EEPROM. Search for

#define EEPROM_MODE 1

and check the value. If it is set to 0, EEPROM is disabled. If you set it to a different value, the EEPROM gets overwritten with the current values of configuration.h

Hint: Repetier-Host users have a window for changing the EEPROM values.

Communication problems

Check, you have installed the faster communication files, as described above.

For some unknown reasons, some baud rates fail, while faster or slower rates work without problems. Try changing them. If you are not using Repetier-Host you can set the following:

//#define ACK_WITH_LINENUMBER
//#define WAITING_IDENTIFIER "wait"

I'm using Pronterface as host / not Repetier-Host

Some settings are optimized for Repetier-Host and have no meaning for other hosts or may confuse them. If you are using an other host, you should check that the following defines are commented out.

//#define ACK_WITH_LINENUMBER
//#define WAITING_IDENTIFIER "wait"
//#define SD_EXTENDED_DIR

Extruder and heated bed with thermistor

The firmware uses its own interrupt based methods for polling the analog values from the thermistors. This method has an array with pins to poll, where you need to enter the arduino pin numbers and set the correct pin count. For this case, it will look like:

#define NUM_ANALOG_SENSORS 1
#define ANALOG_INPUT_CHANNELS {TEMP_0_PIN,TEMP_1_PIN}

The extruder and heated bed reference the index in above array, like:

#define EXT0_TEMPSENSOR_PIN 0
#define HEATED_BED_SENSOR_PIN 1

Extruder does not extrude

The firmware has a safety parameter to protect the extruder from extruding un-molten filament. If the temperature is below

#define MIN_EXTRUDER_TEMP 160

the extruder will not work. If you want to do some testing without filament, set this to 0.