Uploading customized Arduino firmware

From Ultimaker Wiki
Jump to: navigation, search
This is for advanced users only! To upload a stock version of the firmware, please see "How to upload new firmware to the motherboard".   

To run your own version of the firmware you need code to work from. If you want to work based of the Ultimaker firmware (easiest), you can download a zip file with the sources from here.


Customing firmware: Download Arduino IDE

In order to install customized Ultimaker firmware on your Arduino-board, the Arduino development environment needs to be installed on your computer. The Arduino website http://arduino.cc has all information on installing the Arduino development environment. The Arduino development environment contains a text editor for writing code, a message area, a text console, a toolbar with buttons for common functions, and a series of menus. It connects to the Arduino hardware to upload programs and communicate with them.

[status 2011-03-23] Please use version 0019 (NOT the latest version) for downloading the Ultimaker firmware. Note to Ubuntu users: you can install the Arduino IDE (most current version) from the Ubuntu software center to validate dependencies, than download & unpack version 0019 seperately and run from commandline.

Installation Ultimaker Firmware

Install the firmware by uploading it to your Arduino board:

  • Connect your Arduino board to your computer by USB cable
  • Start Arduino IDE version 0019
  • Check that Tools --> Board is set to "Arduino Mega"
  • Check that Tools --> Serial Port is set to "/dev/ttyUSB" (for Linux)
  • Open the file "RepRapUltimakerFirmware.pde" from the location you downloaded and unpacked the Ultimaker firmware (this will open all included files into the Arduino IDE)
  • Press "Upload" button
  • Check to see "Uploading to I/O board" status message
  • Check to see "Done uploading" status message


If your firmware speaks G-Code, it should now properly connect with ReplicatorG if ReplicatorG has the right machine profile selected (e.g. the Ultimaker is selected).

Firmware Adjustments

[status 2011-03-23] Settings for the PCB version should be correct. Check:

  • in "configuration.h" variable MOTHERBOARD set to 3
  • in "pins.h" variable ULTIMAKER_BOARD_MINOR_VERSION set to 1 (for version 1.1 PCB's, or a higher, e.g. 5 number for 1.5.x).

Firmware requests or issues

Firmware requests for change may be posted here.