Difference between revisions of "MakerBot Replicator 1 Firmware Upgrade"

From ivc wiki
Jump to navigationJump to search
 
(35 intermediate revisions by the same user not shown)
Line 1: Line 1:
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.  
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.  


== MakerWare ==
[[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.
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.


I couldn't get the timing right, so I decided to reverse the uploading process and do the update manual using avrdude. See the following section.
[[Image:Makerbot_firmware_makerwave.png|450px]]


== Manual avrdude ==
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.
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.
Line 20: Line 24:
## Download the firmware version from the links below
## Download the firmware version from the links below
# Copy the firmware (*.hex) to "\Program Files\MakerBot\MakerWare"
# Copy the firmware (*.hex) to "\Program Files\MakerBot\MakerWare"
# Execute the upload command, '''avrdude.exe -Cavrdude.conf -pm1280 -b57600 -cstk500v1 -P \\.\COM6 -Uflash:w:mighty_one_v7.5.0.hex:i -v -v'''
# 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'''
## Where you change COM6 to your COM-port and firmware file name to your desired one  
## Where you change COM6 to your COM-port and firmware file name to your desired one  
# Move the keyboard and Replicator to arms reach  
# Move the keyboard and Replicator to arms reach  
# Simultaneously press the Reset button on the back of the Replicator and the enter key on the computer to start the process
# 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
## 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 [[Image:Makerbot_firmware_avrdude_cmd1.png|450px]] [[Image:Makerbot_firmware_avrdude_cmd2.png|450px]]
## 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 [[Image:Makerbot_firmware_avrdude_cmd1.png|450px]] [[Image:Makerbot_firmware_avrdude_cmd2.png|450px]]
== Bootloader ==
The bootloader provide extra USB/serial flashing functionality.
All the avrdude '''fuse''' configurations can be found in the 'dist' directory in the [https://github.com/makerbot/MightyBoardFirmware MakerBot MightyBoardFirmware repository] or [http://ivc.no/makerbot/MightyBoardFirmware-git-2014-08-26.zip local backup from 2014-08-26].
* ATmega 8U2 - Serial/USB controller:
** [http://ivc.no/makerbot/firmware/Makerbot-usbserial.hex Download MakerBot Replicator 1 Rev. E bootloader for ATmega 8U2 serial/usb controller]
** New! [http://ivc.no/makerbot/firmware/Makerbot-usbserial-16U2.hex Download MakerBot Replicator 1 Rev. E bootloader for ATmega 16U2 serial/usb controller] - [http://ivc.no/makerbot/firmware/Makerbot-usbserial-16U2.zip 16U2 source code - untested, but should work]
** [http://ivc.no/makerbot/firmware/Makerbot-usbserial_rep2.hex Download MakerBot Replicator 2 Rev. G(?) bootloader for ATmega 8U2 serial/usb controller]
** [http://ivc.no/makerbot/firmware/Makerbot-usbserial_revH_rep2.hex Download MakerBot Replicator 2 Rev. H bootloader for ATmega 8U2 serial/usb controller]
** [http://ivc.no/makerbot/firmware/Makerbot-usbserial_revH_rep2X.hex Download MakerBot Replicator 2X Rev. H bootloader for ATmega 8U2 serial/usb controller]
* ATmega1280 - Main controller:
** [http://ivc.no/makerbot/firmware/ATmegaBOOT_168_atmega1280.hex Download MakerBot Replicator 1/2/2X bootloader for ATmega1280 main controller] - Normal Arduino bootloader, no modifications
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 ==
== 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 1 Firmwares ===
Line 55: Line 102:
* [http://firmware.makerbot.com/firmware/mighty_one_v7.5.0.hex MakerBot Replicator 1 "Mighty One" v7.5.0 firmware download] [http://ivc.no/makerbot/firmware/mighty_one_v7.5.0.hex local backup download]
* [http://firmware.makerbot.com/firmware/mighty_one_v7.5.0.hex MakerBot Replicator 1 "Mighty One" v7.5.0 firmware download] [http://ivc.no/makerbot/firmware/mighty_one_v7.5.0.hex local backup download]
** Bugfix release for firmware 7.4. Fixes issue with Heat Hold.
** Bugfix release for firmware 7.4. Fixes issue with Heat Hold.
* MakerBot Replicator 1 "Mighty One" v7.5.5 firmware [http://ivc.no/makerbot/firmware/mighty_one_v7.5.5.hex local backup download]
** Latest firmware found on the [https://github.com/makerbot/MightyBoardFirmware MakerBot MightyBoardFirmware repository]


=== Replicator 2 Firmwares ===
=== Replicator 2 Firmwares ===
Line 72: Line 122:
* [http://firmware.makerbot.com/firmware/mighty_two_rep2_v7.5.0.hex MakerBot Replicator 2 "Mighty Two Rep2" v7.5.0 firmware download]
* [http://firmware.makerbot.com/firmware/mighty_two_rep2_v7.5.0.hex MakerBot Replicator 2 "Mighty Two Rep2" v7.5.0 firmware download]
** Bugfix release for firmware 7.4. Fixes issue with Heat Hold.
** Bugfix release for firmware 7.4. Fixes issue with Heat Hold.
* [http://ivc.no/makerbot/firmware/mighty_two_old_v7.5.5.hex MakerBot Replicator 2 "Mighty Two Old" v7.5.5 firmware download]
* [http://ivc.no/makerbot/firmware/mighty_two_rep2_v7.5.5.hex MakerBot Replicator 2 "Mighty Two Rep2" v7.5.5 firmware download]
** Firmware found on the [https://github.com/makerbot/MightyBoardFirmware MakerBot MightyBoardFirmware repository]
* [http://firmware.makerbot.com/firmware/mighty_two_old_v7.6.0.hex MakerBot Replicator 2 "Mighty Two Old" v7.6.0 firmware download]
* [http://firmware.makerbot.com/firmware/mighty_two_old_v7.6.0.hex MakerBot Replicator 2 "Mighty Two Old" v7.6.0 firmware download]
* [http://firmware.makerbot.com/firmware/mighty_two_rep2_v7.6.0.hex MakerBot Replicator 2 "Mighty Two Rep2" v7.6.0 firmware download]
* [http://firmware.makerbot.com/firmware/mighty_two_rep2_v7.6.0.hex MakerBot Replicator 2 "Mighty Two Rep2" v7.6.0 firmware download]
** Improves the heating of the Replicator 2X. Following the upgrade, users should reset to factory settings for the changes to take effect.
** Improves the heating of the Replicator 2X. Following the upgrade, users should reset to factory settings for the changes to take effect.
Every file is also available as a local backup, just put http://ivc.no/makerbot/firmware/ before the file name.


=== Replicator 2X Firmwares ===
=== Replicator 2X Firmwares ===
Line 90: Line 145:
* [http://firmware.makerbot.com/firmware/mighty_two_rep2x_v7.5.0.hex MakerBot Replicator 2X "Mighty Two Rep2x" v7.5.0 firmware download]
* [http://firmware.makerbot.com/firmware/mighty_two_rep2x_v7.5.0.hex MakerBot Replicator 2X "Mighty Two Rep2x" v7.5.0 firmware download]
** Bugfix release for firmware 7.4. Fixes issue with Heat Hold.
** Bugfix release for firmware 7.4. Fixes issue with Heat Hold.
* [http://ivc.no/makerbot/firmware/mighty_two_old_v7.5.5.hex MakerBot Replicator 2/2X "Mighty Two Old" v7.5.5 firmware download]
* [http://ivc.no/makerbot/firmware/mighty_two_rep2x_v7.5.5.hex MakerBot Replicator 2X "Mighty Two Rep2x" v7.5.5 firmware download]
** Firmware found on the [https://github.com/makerbot/MightyBoardFirmware MakerBot MightyBoardFirmware repository]
* [http://firmware.makerbot.com/firmware/mighty_two_old_v7.6.0.hex MakerBot Replicator 2/2X "Mighty Two Old" v7.6.0 firmware download]
* [http://firmware.makerbot.com/firmware/mighty_two_old_v7.6.0.hex MakerBot Replicator 2/2X "Mighty Two Old" v7.6.0 firmware download]
* [http://firmware.makerbot.com/firmware/mighty_two_rep2x_v7.6.0.hex MakerBot Replicator 2X "Mighty Two Rep2x" v7.6.0 firmware download]
* [http://firmware.makerbot.com/firmware/mighty_two_rep2x_v7.6.0.hex MakerBot Replicator 2X "Mighty Two Rep2x" v7.6.0 firmware download]
** Improves the heating of the Replicator 2X. Following the upgrade, users should reset to factory settings for the changes to take effect.
** Improves the heating of the Replicator 2X. Following the upgrade, users should reset to factory settings for the changes to take effect.
Every file is also available as a local backup, just put http://ivc.no/makerbot/firmware/ before the file name.


=== Thing-O-Matic Firmwares ===
=== Thing-O-Matic Firmwares ===
Line 101: Line 161:
* [http://firmware.makerbot.com/firmware/MB-mb24-2560-Sailfish-v4.3-r943A.hex MakerBot Thing-O-Matic "Sailfish" v4.3 r943A firmware download]
* [http://firmware.makerbot.com/firmware/MB-mb24-2560-Sailfish-v4.3-r943A.hex MakerBot Thing-O-Matic "Sailfish" v4.3 r943A firmware download]
* [http://firmware.makerbot.com/firmware/MB-mb24-2560-Sailfish-v4.4-r1029.hex MakerBot Thing-O-Matic "Sailfish" v4.4 r1029 firmware download]
* [http://firmware.makerbot.com/firmware/MB-mb24-2560-Sailfish-v4.4-r1029.hex MakerBot Thing-O-Matic "Sailfish" v4.4 r1029 firmware download]
Every file is also available as a local backup, just put http://ivc.no/makerbot/firmware/ before the file name.

Latest revision as of 16:09, 25 June 2016

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.