Flashed bootloader = dead Rostock
Flashed bootloader = dead Rostock
I've had my Rostock Max running for a while and recently needed to print a larger part requiring a tweak to the delta_radius parameter. Discovered my Rambo was one of the lucky ones that are missing the bootloader. After aquiring an AVRISP MKII I was finally sucessful in flashing the bootloader. Thinking I was ready to rock, I pull the AVR out, reconnect the LCD, power up the printer and nada. The display is now all white squares and I don't have control of the printer. I assume I will need to reflash the firmware but am wondering if the eeprom can be queried before I do that? I realized just as I clicked on the flash bootloader button that I've never saved off the eeprom values.
Am I on the right track and can I collect the settings before flashing the firmware?
Ward
Am I on the right track and can I collect the settings before flashing the firmware?
Ward
Just what I needed, another hobby...
Re: Flashed bootloader = dead Rostock
You apparently cannot save the values back off the rambo.
But I would love a link to a step by step on how to flash the bootloader onto the rambo, I have one here that needs to have that done. I have a little hardware dongly thing I order for doing the job, I'll get you the exact name if you like, but can't seem to get it to work, tinyisp is vaguely something I remember from trying.
But I would love a link to a step by step on how to flash the bootloader onto the rambo, I have one here that needs to have that done. I have a little hardware dongly thing I order for doing the job, I'll get you the exact name if you like, but can't seem to get it to work, tinyisp is vaguely something I remember from trying.
"Now you see why evil will always triumph! Because good is dumb." - Spaceballs
Re: Flashed bootloader = dead Rostock
Sure you can, you just need to be a bit creative, google around an you will find how to:
http://forum.arduino.cc/index.php?topic=41704.0
http://projectgus.com/2010/07/eeprom-ac ... h-arduino/
And that's why you always should erase eeprom before you load new firmware.
Anders
http://forum.arduino.cc/index.php?topic=41704.0
http://projectgus.com/2010/07/eeprom-ac ... h-arduino/
And that's why you always should erase eeprom before you load new firmware.
Anders
Re: Flashed bootloader = dead Rostock
Flateric - this is where I found the correct driver: http://www.arduinoos.com/2012/11/connec ... no-part-3/ and then you can follow the instructions in SeeMeCNCs video http://www.youtube.com/watch?v=mC4Pv15Ibco
Do make sure to save off any important configuaration data or like me you'll be sorry. I got caught up in the excitment of finally having all the right pieces in place to flash the bootloader.
I've looked through Gimbal's suggestions and without a map of the eeprom data used in the Rostock Max being able to dump the eeprom isn't going to help much. I'll probably just reflash the firmware and redo the calibration from scratch.
The only question left is which firmware, SeeMeCNCs or PolygonHells? Thoughts? Otheres to consider?
Ward
Do make sure to save off any important configuaration data or like me you'll be sorry. I got caught up in the excitment of finally having all the right pieces in place to flash the bootloader.
I've looked through Gimbal's suggestions and without a map of the eeprom data used in the Rostock Max being able to dump the eeprom isn't going to help much. I'll probably just reflash the firmware and redo the calibration from scratch.
The only question left is which firmware, SeeMeCNCs or PolygonHells? Thoughts? Otheres to consider?
Ward
Just what I needed, another hobby...
Re: Flashed bootloader = dead Rostock
Ibid, a very good question!
Technologist, Maker, Willing to question conventional logic
http://dropc.am/p/KhiI1a
http://dropc.am/p/KhiI1a
Re: Flashed bootloader = dead Rostock
/** Where to start with our datablock in memory. Can be moved if you
have problems with other modules using the eeprom */
#define EEPROM_OFFSET 0
#define EPR_MAGIC_BYTE 0
#define EPR_ACCELERATION_TYPE 1
#define EPR_XAXIS_STEPS_PER_MM 3
#define EPR_YAXIS_STEPS_PER_MM 7
#define EPR_ZAXIS_STEPS_PER_MM 11
#define EPR_X_MAX_FEEDRATE 15
#define EPR_Y_MAX_FEEDRATE 19
#define EPR_Z_MAX_FEEDRATE 23
#define EPR_X_HOMING_FEEDRATE 27
#define EPR_Y_HOMING_FEEDRATE 31
#define EPR_Z_HOMING_FEEDRATE 35
#define EPR_MAX_JERK 39
#define EPR_OPS_MIN_DISTANCE 43
#define EPR_MAX_ZJERK 47
#define EPR_X_MAX_ACCEL 51
#define EPR_Y_MAX_ACCEL 55
#define EPR_Z_MAX_ACCEL 59
#define EPR_X_MAX_TRAVEL_ACCEL 63
#define EPR_Y_MAX_TRAVEL_ACCEL 67
#define EPR_Z_MAX_TRAVEL_ACCEL 71
#define EPR_BAUDRATE 75
#define EPR_MAX_INACTIVE_TIME 79
#define EPR_STEPPER_INACTIVE_TIME 83
#define EPR_OPS_RETRACT_DISTANCE 87
#define EPR_OPS_RETRACT_BACKLASH 91
#define EPR_EXTRUDER_SPEED 95
#define EPR_OPS_MOVE_AFTER 99
#define EPR_OPS_MODE 103
#define EPR_INTEGRITY_BYTE 104 // Here the xored sum over eeprom is stored
#define EPR_VERSION 105 // Version id for updates in EEPROM storage
#define EPR_BED_HEAT_MANAGER 106
#define EPR_BED_DRIVE_MAX 107
#define EPR_BED_PID_PGAIN 108
#define EPR_BED_PID_IGAIN 112
#define EPR_BED_PID_DGAIN 116
#define EPR_BED_PID_MAX 120
#define EPR_BED_DRIVE_MIN 124
#define EPR_PRINTING_TIME 125 // Time in seconds printing
#define EPR_PRINTING_DISTANCE 129 // Filament length printed
#define EPR_X_HOME_OFFSET 133
#define EPR_Y_HOME_OFFSET 137
#define EPR_Z_HOME_OFFSET 141
#define EPR_X_LENGTH 145
#define EPR_Y_LENGTH 149
#define EPR_Z_LENGTH 153
#define EPR_BACKLASH_X 157
#define EPR_BACKLASH_Y 161
#define EPR_BACKLASH_Z 165
#define EEPROM_EXTRUDER_OFFSET 200
// bytes per extruder needed, leave some space for future development
#define EEPROM_EXTRUDER_LENGTH 100
// Extruder positions relative to extruder start
#define EPR_EXTRUDER_STEPS_PER_MM 0
#define EPR_EXTRUDER_MAX_FEEDRATE 4
// Feedrate from halted extruder in mm/s
#define EPR_EXTRUDER_MAX_START_FEEDRATE 8
// Acceleration in mm/s^2
#define EPR_EXTRUDER_MAX_ACCELERATION 12
#define EPR_EXTRUDER_HEAT_MANAGER 16
#define EPR_EXTRUDER_DRIVE_MAX 17
#define EPR_EXTRUDER_PID_PGAIN 18
#define EPR_EXTRUDER_PID_IGAIN 22
#define EPR_EXTRUDER_PID_DGAIN 26
#define EPR_EXTRUDER_PID_MAX 30
#define EPR_EXTRUDER_X_OFFSET 31
#define EPR_EXTRUDER_Y_OFFSET 35
#define EPR_EXTRUDER_WATCH_PERIOD 39
#define EPR_EXTRUDER_ADVANCE_K 41
#define EPR_EXTRUDER_DRIVE_MIN 45
#define EPR_EXTRUDER_ADVANCE_L 46
#define EPR_EXTRUDER_WAIT_RETRACT_TEMP 50
#define EPR_EXTRUDER_WAIT_RETRACT_UNITS 52
#define EPR_EXTRUDER_COOLER_SPEED 54
have problems with other modules using the eeprom */
#define EEPROM_OFFSET 0
#define EPR_MAGIC_BYTE 0
#define EPR_ACCELERATION_TYPE 1
#define EPR_XAXIS_STEPS_PER_MM 3
#define EPR_YAXIS_STEPS_PER_MM 7
#define EPR_ZAXIS_STEPS_PER_MM 11
#define EPR_X_MAX_FEEDRATE 15
#define EPR_Y_MAX_FEEDRATE 19
#define EPR_Z_MAX_FEEDRATE 23
#define EPR_X_HOMING_FEEDRATE 27
#define EPR_Y_HOMING_FEEDRATE 31
#define EPR_Z_HOMING_FEEDRATE 35
#define EPR_MAX_JERK 39
#define EPR_OPS_MIN_DISTANCE 43
#define EPR_MAX_ZJERK 47
#define EPR_X_MAX_ACCEL 51
#define EPR_Y_MAX_ACCEL 55
#define EPR_Z_MAX_ACCEL 59
#define EPR_X_MAX_TRAVEL_ACCEL 63
#define EPR_Y_MAX_TRAVEL_ACCEL 67
#define EPR_Z_MAX_TRAVEL_ACCEL 71
#define EPR_BAUDRATE 75
#define EPR_MAX_INACTIVE_TIME 79
#define EPR_STEPPER_INACTIVE_TIME 83
#define EPR_OPS_RETRACT_DISTANCE 87
#define EPR_OPS_RETRACT_BACKLASH 91
#define EPR_EXTRUDER_SPEED 95
#define EPR_OPS_MOVE_AFTER 99
#define EPR_OPS_MODE 103
#define EPR_INTEGRITY_BYTE 104 // Here the xored sum over eeprom is stored
#define EPR_VERSION 105 // Version id for updates in EEPROM storage
#define EPR_BED_HEAT_MANAGER 106
#define EPR_BED_DRIVE_MAX 107
#define EPR_BED_PID_PGAIN 108
#define EPR_BED_PID_IGAIN 112
#define EPR_BED_PID_DGAIN 116
#define EPR_BED_PID_MAX 120
#define EPR_BED_DRIVE_MIN 124
#define EPR_PRINTING_TIME 125 // Time in seconds printing
#define EPR_PRINTING_DISTANCE 129 // Filament length printed
#define EPR_X_HOME_OFFSET 133
#define EPR_Y_HOME_OFFSET 137
#define EPR_Z_HOME_OFFSET 141
#define EPR_X_LENGTH 145
#define EPR_Y_LENGTH 149
#define EPR_Z_LENGTH 153
#define EPR_BACKLASH_X 157
#define EPR_BACKLASH_Y 161
#define EPR_BACKLASH_Z 165
#define EEPROM_EXTRUDER_OFFSET 200
// bytes per extruder needed, leave some space for future development
#define EEPROM_EXTRUDER_LENGTH 100
// Extruder positions relative to extruder start
#define EPR_EXTRUDER_STEPS_PER_MM 0
#define EPR_EXTRUDER_MAX_FEEDRATE 4
// Feedrate from halted extruder in mm/s
#define EPR_EXTRUDER_MAX_START_FEEDRATE 8
// Acceleration in mm/s^2
#define EPR_EXTRUDER_MAX_ACCELERATION 12
#define EPR_EXTRUDER_HEAT_MANAGER 16
#define EPR_EXTRUDER_DRIVE_MAX 17
#define EPR_EXTRUDER_PID_PGAIN 18
#define EPR_EXTRUDER_PID_IGAIN 22
#define EPR_EXTRUDER_PID_DGAIN 26
#define EPR_EXTRUDER_PID_MAX 30
#define EPR_EXTRUDER_X_OFFSET 31
#define EPR_EXTRUDER_Y_OFFSET 35
#define EPR_EXTRUDER_WATCH_PERIOD 39
#define EPR_EXTRUDER_ADVANCE_K 41
#define EPR_EXTRUDER_DRIVE_MIN 45
#define EPR_EXTRUDER_ADVANCE_L 46
#define EPR_EXTRUDER_WAIT_RETRACT_TEMP 50
#define EPR_EXTRUDER_WAIT_RETRACT_UNITS 52
#define EPR_EXTRUDER_COOLER_SPEED 54
Re: Flashed bootloader = dead Rostock
Thanks Gimbal, that is very useful data! In the end I just flashed the SeeMeCNC copy of the firmware and my Rostock Max is once again alive. Even better I can now make changes to the firmware and upload those as well. I took a few minutes to do a rough calibration so I could finally make a change to the delta_radius parameter and see the change take effect. Nice to feel in control again...
Ward
Ward
Just what I needed, another hobby...
Re: Flashed bootloader = dead Rostock
See my extra Rambo in question does not even connect with the USB anymore. My system recognizes the usb port and it also can disconnect and reconnect with the OS, however, I cannot connect to it with the Arduino program or with repetier host.
I have been told I have to re-burn the bootloader. Not to be confused with the firmware.
I have been told I have to re-burn the bootloader. Not to be confused with the firmware.
"Now you see why evil will always triumph! Because good is dumb." - Spaceballs
Re: Flashed bootloader = dead Rostock
Flateric, if it is an extra Rambo the easy way would be to have someone else do it for you
It isn't hard to do if you have a programmer, it was getting the programmer's drivers correct that was a challenge for me. If you want to give it a go I'll be happy to help if I can...
Ward

Ward
Just what I needed, another hobby...
Re: Flashed bootloader = dead Rostock
I was able to flash a bootloader onto my RAMBo using an Arduino UNO as the ISP. Since a RAMBo is an Arduino at heart, you could probably use one RAMBo to flash another... I'd rather use an UNO since I already have a couple and I'd feel better about frying a $30 board than a $180 board if I did something stupid.wshelley wrote:Flateric, if it is an extra Rambo the easy way would be to have someone else do it for youIt isn't hard to do if you have a programmer, it was getting the programmer's drivers correct that was a challenge for me. If you want to give it a go I'll be happy to help if I can...
Ward
Re: Flashed bootloader = dead Rostock
Here's a dumb question - do both ISP headers go to the Atmel 2560, or does one go to the 32u8(?) and the other to the main cpu?
g.
g.
Delta Power!
Defeat the Cartesian Agenda!
http://www.f15sim.com - 80-0007, The only one of its kind.
http://geneb.simpits.org - Technical and Simulator Projects
Defeat the Cartesian Agenda!
http://www.f15sim.com - 80-0007, The only one of its kind.
http://geneb.simpits.org - Technical and Simulator Projects
- Eaglezsoar
- ULTIMATE 3D JEDI
- Posts: 7159
- Joined: Sun Apr 01, 2012 5:26 pm
Re: Flashed bootloader = dead Rostock
Gene, I think they explain the connectors on the SeeMeCNC bootloader You Tube video but if memory serves me correctly the connector closest to thegeneb wrote:Here's a dumb question - do both ISP headers go to the Atmel 2560, or does one go to the 32u8(?) and the other to the main cpu?
g.
USB socket is for the 32u8. So you won't have to look it up the You Tube link is http://www.youtube.com/watch?v=mC4Pv15Ibco
Re: Flashed bootloader = dead Rostock
Gene, you need an Arduino to use as the ISP, and you need a RAMBo to be programmed. I only had to flash the ATmega2560; I haven't touched the 32U2.
This page identifies the RAMBo ISP connectors. The ATmega2560 is on the right.
http://reprap.org/wiki/File:Rambo-conn-all.jpg
Note that pin 1 is on the southwest corner on RAMBo, not the northeast like most boards.
This page describes the whole process pretty well. I think it has been updated since I flashed my RAMBo in June.
http://arduino.cc/en/Tutorial/ArduinoISP
Note that all the pins shown in the first diagram are duplicated in the ICSP header; I used the ICSP header. Get Pighixxx's diagram for your model of Arduino. http://www.pighixxx.com/ (I confess: Pighixxx has reorganized his site and I can't actually find the diagrams any more. But I think they're still in there somewhere.)
This page identifies the RAMBo ISP connectors. The ATmega2560 is on the right.
http://reprap.org/wiki/File:Rambo-conn-all.jpg
Note that pin 1 is on the southwest corner on RAMBo, not the northeast like most boards.
This page describes the whole process pretty well. I think it has been updated since I flashed my RAMBo in June.
http://arduino.cc/en/Tutorial/ArduinoISP
Note that all the pins shown in the first diagram are duplicated in the ICSP header; I used the ICSP header. Get Pighixxx's diagram for your model of Arduino. http://www.pighixxx.com/ (I confess: Pighixxx has reorganized his site and I can't actually find the diagrams any more. But I think they're still in there somewhere.)
Re: Flashed bootloader = dead Rostock
I've actually got an AVRISP MkII compatible programmer on order - it'll be here tomorrow.
I've burned bootloaders before, but only using my ancient STK500 and ATMega328P chips. Using the ISP header is doing it the "easy" way for me.
g.
I've burned bootloaders before, but only using my ancient STK500 and ATMega328P chips. Using the ISP header is doing it the "easy" way for me.

g.
Delta Power!
Defeat the Cartesian Agenda!
http://www.f15sim.com - 80-0007, The only one of its kind.
http://geneb.simpits.org - Technical and Simulator Projects
Defeat the Cartesian Agenda!
http://www.f15sim.com - 80-0007, The only one of its kind.
http://geneb.simpits.org - Technical and Simulator Projects
Re: Flashed bootloader = dead Rostock
Heaven forfend that you do anything the easy way. That'd be like, I dunno, buying premade wire sheath! (-:geneb wrote:I've actually got an AVRISP MkII compatible programmer on order - it'll be here tomorrow.
I've burned bootloaders before, but only using my ancient STK500 and ATMega328P chips. Using the ISP header is doing it the "easy" way for me.
g.
Re: Flashed bootloader = dead Rostock
\o/
Delta Power!
Defeat the Cartesian Agenda!
http://www.f15sim.com - 80-0007, The only one of its kind.
http://geneb.simpits.org - Technical and Simulator Projects
Defeat the Cartesian Agenda!
http://www.f15sim.com - 80-0007, The only one of its kind.
http://geneb.simpits.org - Technical and Simulator Projects