MakerBot Replicator 1 Firmware Upgrade

From ivc wiki
Revision as of 17:09, 25 June 2016 by Ivc (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Updating the MakerBot Replicator 1 firmware requires a bit of patient to get right. It requires exact resetting and uploading timing for the process to start.

MakerBot Replicator 1 Upgrades and Repairs

MakerWare firmware upload

One way, and the easiest, is to update the firmware via MakerWare (as of writing 3.5.0.39). Select Device and Update Firwmare, and follow the instructions.

Makerbot firmware makerwave.png

I could not get the timing right, so I decided to reverse the uploading process and do the update manual using avrdude. See the following section.

Manual avrdude update

Getting the timing right is quite finicy and time consiming. Getting down to the command-line and perform the update manually can save you a bit of time and head banging.

Should work equally well on Windows and OS X, Windows 7 64-bit shown below.

  1. Open a command-line window, Start, type cmd and enter
  2. Change directory to MakerWare and avrdude, cd "\Program Files\MakerBot\MakerWare"
  3. Power on the Replicator and find the COM-port used, Start, type Device Manage and enter, under Ports find the port Makerbot firmware device manager.png
  4. Get the firmware binary by either
    1. Starting the MakerWave upload process once and failing (to get the firmware downloaded), then going to \Windows\Temp and searching for *.hex
    2. Download the firmware version from the links below
  5. Copy the firmware (*.hex) to "\Program Files\MakerBot\MakerWare"
  6. For Replicator 1/2/2X, execute the upload command, avrdude.exe -Cavrdude.conf -pm1280 -b57600 -cstk500v1 -P \\.\COM6 -Uflash:w:mighty_one_v7.5.0.hex:i -v -v
    1. Where you change COM6 to your COM-port and firmware file name to your desired one
  7. Move the keyboard and Replicator to arms reach
  8. Simultaneously press the Reset button on the back of the Replicator and the enter key on the computer to start the process, if you get "access is denied", it is working, try again
    1. Vary the time between until you see avrdude detecting and uploading the new firmware, this can take 1 to 30 tries but it will work eventually, use arrow up and enter to re-try Makerbot firmware avrdude cmd1.png Makerbot firmware avrdude cmd2.png

Bootloader

The bootloader provide extra USB/serial flashing functionality.

All the avrdude fuse configurations can be found in the 'dist' directory in the MakerBot MightyBoardFirmware repository or local backup from 2014-08-26.

To set the fuses (configuration) and flash the bootloader and main firmware, connect a AVR ISP flasher to the right header (1280/8U2) and change "avrisp" to your particular programmer. And "/dev/cu.usbserial-A700dX8R" is the device path for the ISP programmer, change it to yours. I recommend the ArduinoISP if you have a Arduino Uno available.

Replicator 1 serial/usb (ATmega8U2), using Adafruit USBtiny (brown-out changed from 4.3V to 2.7V):

avrdude -p m8u2  -c usbtiny -U flash:w:Makerbot-usbserial.hex -e -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF5:m -U lock:w:0x0F:m

Or ArduiniISP (didn't work for me):

avrdude -p at90usb82 -c avrisp -P /dev/cu.usbserial-A700dX8R -b 19200 -e -U flash:w:Makerbot-usbserial.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF5:m -U lock:w:0x0F:m

It should be identified as "avrdude: Device signature = 0x1e9389".

Replicator 1 main (ATmega1280), using Adafruit USBtiny (brown-out changed from 4.3V to 2.7V):

avrdude -p m1280 -c usbtiny -U flash:w:ATmegaBOOT_168_atmega1280.hex -e -U lfuse:w:0xFF:m -U hfuse:w:0xDA:m -U efuse:w:0xF5:m -U lock:w:0x0F:m

Or ArduinoISP:

avrdude -p m1280 -c avrisp -P /dev/cu.usbserial-A700dX8R -b 19200 -e -U flash:w:ATmegaBOOT_168_atmega1280.hex -U lfuse:w:0xFF:m -U hfuse:w:0xDA:m -U efuse:w:0xF5:m -U lock:w:0x0F:m

It should be identified as "avrdude: Device signature = 0x1e9703".

Firmwares

To flash the main firmware on ATmega1280 boards via the normal USB connector on the MigthyBoard (not ISP header/programmer):

avrdude -p m1280 -P /dev/tty.usbmodem-U83 -c stk500v1 -b 57600 -e -U flash:w:$FILENAME

Change "/dev/tty.usbmodem-U83" to the right device path for your MighyBoard (which really is just the 8U2 serial/usb controller on the MigthyBoard).

Replicator 1 Firmwares

Replicator 2 Firmwares

Every file is also available as a local backup, just put http://ivc.no/makerbot/firmware/ before the file name.

Replicator 2X Firmwares

Every file is also available as a local backup, just put http://ivc.no/makerbot/firmware/ before the file name.

Thing-O-Matic Firmwares

Note: Requires Extruder Controller firmware 3.1 or newer.

Every file is also available as a local backup, just put http://ivc.no/makerbot/firmware/ before the file name.