Hi Everyone, I'm going to put together a firmware flashing guide. This is just a placeholder for the time being, I will add content later. I will aim to cover the following topics, feel free to ask me to cover any more.
- Driver Installation
- Arduino IDE Setup
- Project Setup
- Firmware Flashing
Driver Installation
The Windows driver for the RUMBA board can be downloaded from the RepRap wiki: http://reprap.org/wiki/RUMBA#RUMBA_USB_Driver_for_Windows
Download the ZIP file, extract the installer and run it. Follow the installer steps until completion accepting any default options.
Edit: I'm unsure if this requires the printer to be connected over USB as part of the installation. Can someone confirm?
Note 1: I'm not sure if this is needed for Windows 10.
Note 2: I can't remember if the driver is signed, certain versions of Windows require you to boot into a special mode that allows unsigned drivers to be installed.
Arduino IDE Setup
The installer can be downloaded from the Arduino website:
https://www.arduino.cc/en/Main/Software
The current version is 1.6.8 and this is the version this guide will be using. When installing choose the default component installation and installation location.
Arduino IDE is now installed, however, before we can build a new firmware there are some extra libraries required. These come bundled with the source code so will be setup in the next step.
Project Setup
The firmware source code is hosted on GitHub in the following repositories depending on the printer type:
https://github.com/BigBox3D/Marlin
Click the Download ZIP button on the right-hand side of the page:
Extract the files in the ZIP to a sensible location on disk, I have chosen C:\3d\Firmware\
The source code for the firmware is stored in the Marlin folder. The ArduinoAddons folder contains the 3rd party libraries needed to compile the firmware.
Copy the U8glib folder from Arduino_1.0.x\libraries\ and Arduino_1.6.x to the libraries folder in the location we installed Arduino IDE to. If you accepted the defaults and are running x64 Windows then it will be C:\Program Files (x86)\Arduino\libraries\. If you are running x86 Windows then it will be C:\Program Files\Arduino\libraries\.
Before proceeding further it would be wise to check that we can compile firmware okay. Navigate to the Marlin folder and double-click Marlin.ino. This should open Arduino IDE.
Select the following options from the menu to make sure the correct board and processor options are set:
Tools > Board > "Arduino/Genuino Mega or Mega 2560"
Tools > Processor > "ATmega2560 (Mega 2560)"
To compile the firmware, select Sketch > Verify/Compile from the menu:
The compilation will take a minute or two and may well report some warnings in the output window at the bottom of the screen, these can be ignored. You should not see any errors. When compilation is complete Arduino IDE will report information about the amount of memory the program uses.
If you receive any errors then it is likely that you either haven't setup the U8glib library or selected the right board/processor type.
Firmware Flashing
Note: Do not flash your printer whilst it is printing. The printer should be in 'cooldown' mode.
Connect your printer to your computer using a USB cable. If you have the OctoPrint upgrade then open the electronics fan hatch, unplug the USB cable from the RUMBA and plug in a cable from your computer.
Note: From the factory the board will not power up with just the USB voltage. Make sure the printer has mains power turned on too. It is possible to power the RUMBA via USB but this involves switching a jumper on the board and isn't strictly necessary.
When connected to your computer Windows Device Manager should show the COM port. I will add a screenshot of this to confirm as soon as possible. The first time connecting it Windows may take a while whilst it sorts out the driver for it.
Run Arduino IDE and check that it has correctly identified the correct COM port (circled in red) to use:
If Port is greyed out and there is no COM listing afterwards, as above, then it is likely that the printer is either not connected or not detected by Windows because of a driver issue.
To compile, verify and write the firmware to the printer choose Sketch > Upload from the menu:
Once the printer firmware has been flashed it will reboot.