I managed to brick my Ultiboard 2.1.1 with a failed firmware upgrade through some upload quirks. (I HATE OS X and its USB issues!)
So I thought: Just reprogram the ATMega2560 with my USBtinyISP and I am good to go. But: NO! Not so fast!
USBtinyISP can only handle uploads up to 64k and as the Marlin Firmware in question is more like 140k I am dead in the water right now :/
What programmer can you recommend? I am currently stuck to using OS X btw...
I found a used Atmel Dragon for a decent price - but do not know what to make of it. What should I get? Any recommendations?
Regards,
Frederik
What ISP programmer to get?
- nilrog
- Reactions:
- Posts: 438
- Joined: February 24th, 2016, 4:48 pm
- Location: Örsundsbro, Sweden
- 3D Printer(s): UMO+
Re: What ISP programmer to get?
You should only need an ISP if you managed to brick the boot loader. And then you should only need to program a new boot loader with the ISP, not the full firmware.
For firmware updates you can try bypassing Cura and do that using the Arduino tools.
For firmware updates you can try bypassing Cura and do that using the Arduino tools.
- Frederik
- Reactions:
- Posts: 23
- Joined: February 23rd, 2017, 9:10 pm
- Location: Aachen, Germany
- 3D Printer(s): Ultimaker Original plus
Re: What ISP programmer to get?
Rewriting the bootloader was my first attempt. Upload via Arduino IDE failed because of mismatch error (either IDE 1.0.6 and 1.8.1).
Working procedure:
unlock fuses
write bootloader
lock fuses
Afterwards the board shows up on /dev/cu.usbmodem1D21, but upload via Arduino IDE fails.
There seems to be an issue with avrdude 5.1.1 I still have to investigate.
Firmware will not compile on IDE 1.8.1
Someone pointed towards just using 1.0.6 instead on another forum.
Antiklesys Marlin firmware is what I am trying right now.
Cura fails to connect to the printer. I also tried uploading from IDE 1.0.6 with nothing else connected on the Ultiboard resulting in timeout.
I remember running into a lot of issues with Arduinos on OS X and it is a bit frustrating, because right now I do not have a Windows machine at hand and Win7 on Parallels somehow does not do any good either.
Using an Arduino Uno as ISP also times out so my best bet is to force feed the Mega2560 via a suitable programmer.
One thing I still need to try is using a newer version of avrdude (eg. 6.3)
Code: Select all
avrdude: verification error, first mismatch at byte 0x0000
unlock fuses
Code: Select all
avrdude -c usbtiny -p m2560 -e -u -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xD8:m -U efuse:w:0xFF:m
Code: Select all
avrdude -c usbtiny -p m2560 -V -U flash:w:stk500boot_v2_mega2560.hex
Code: Select all
avrdude -c usbtiny -p m2560 -U lock:w:0x0F:m
There seems to be an issue with avrdude 5.1.1 I still have to investigate.
Firmware will not compile on IDE 1.8.1
Code: Select all
SdBaseFile.h:38: error: using typedef-name 'fpos_t' after 'struct'
struct fpos_t {
^
In file included from sketch/Marlin.h:10:0,
from sketch/Marlin_main.cpp:30:
Antiklesys Marlin firmware is what I am trying right now.
Cura fails to connect to the printer. I also tried uploading from IDE 1.0.6 with nothing else connected on the Ultiboard resulting in timeout.
I remember running into a lot of issues with Arduinos on OS X and it is a bit frustrating, because right now I do not have a Windows machine at hand and Win7 on Parallels somehow does not do any good either.
Using an Arduino Uno as ISP also times out so my best bet is to force feed the Mega2560 via a suitable programmer.
One thing I still need to try is using a newer version of avrdude (eg. 6.3)
- nilrog
- Reactions:
- Posts: 438
- Joined: February 24th, 2016, 4:48 pm
- Location: Örsundsbro, Sweden
- 3D Printer(s): UMO+
Re: What ISP programmer to get?
Yes, Marlin appears to still require the "ancient" Arduino version to compile...there are too much changes done since then to Arduino.
By nothing else connected does that mean that only the USB cable is connected and no power applied otherwise to the board?
What OS X version are you using?
By nothing else connected does that mean that only the USB cable is connected and no power applied otherwise to the board?
What OS X version are you using?
- Frederik
- Reactions:
- Posts: 23
- Joined: February 23rd, 2017, 9:10 pm
- Location: Aachen, Germany
- 3D Printer(s): Ultimaker Original plus
Re: What ISP programmer to get?
Nothing else connected means no external hardware (sensors, steppers, ...).
Board won't power up with only USB connected, so external power is supplied.
I'm on 10.11.6 – not the smartest move to upgrade from Yosemite, but that's what I am stuck with for the moment.
Board won't power up with only USB connected, so external power is supplied.
I'm on 10.11.6 – not the smartest move to upgrade from Yosemite, but that's what I am stuck with for the moment.
- nilrog
- Reactions:
- Posts: 438
- Joined: February 24th, 2016, 4:48 pm
- Location: Örsundsbro, Sweden
- 3D Printer(s): UMO+
Re: What ISP programmer to get?
Ok, never tried flashing an Ultimaker board, but I read somewhere that it could be done like an Arduino board with just USB. But I might remember wrong
or they were talking about the old UMO board and not the new Ultimaker board.
I think I have the same OS X version on my Mac (can't check right now) and I have been able to upgrade firmware several time without issues. Although I remember a major issue a couple of years ago.
Are you using Apples built-in FTDI driver or have you installed drivers from FTDI? And do you know if you have some other FTDI-related driver installed for some othe HW that you use/have used with your Mac?
![Razz :P](./images/smilies/icon_razz.gif)
I think I have the same OS X version on my Mac (can't check right now) and I have been able to upgrade firmware several time without issues. Although I remember a major issue a couple of years ago.
Are you using Apples built-in FTDI driver or have you installed drivers from FTDI? And do you know if you have some other FTDI-related driver installed for some othe HW that you use/have used with your Mac?
- Frederik
- Reactions:
- Posts: 23
- Joined: February 23rd, 2017, 9:10 pm
- Location: Aachen, Germany
- 3D Printer(s): Ultimaker Original plus
Re: What ISP programmer to get?
You are right, usually firmware upload to the board should be just like any other Arduino.
The Ulti Mainboard rev 2.1.1 features a MEGA16u2 - just like Arduino Uno - so no FTDI drivers involved (though I think there are both WCH and FTDI drivers installed from some other Arduino experiments).
As the device shows up as both cu and tty and I have not touched the 16u2, I am not sure what to look in for on that side.
system_profiler SPUSBDataType returns:
The Ulti Mainboard rev 2.1.1 features a MEGA16u2 - just like Arduino Uno - so no FTDI drivers involved (though I think there are both WCH and FTDI drivers installed from some other Arduino experiments).
As the device shows up as both cu and tty and I have not touched the 16u2, I am not sure what to look in for on that side.
system_profiler SPUSBDataType returns:
Code: Select all
USB Bus:
Host Controller Driver: AppleUSBUHCIPCI
PCI Device ID: 0x2688
PCI Revision ID: 0x0009
PCI Vendor ID: 0x8086
Communication Device:
Product ID: 0x0042
Vendor ID: 0x2341
Version: 0.01
Serial Number: 85334333831351714161
Speed: Up to 12 Mb/sec
Manufacturer: Arduino (www.arduino.cc)
Location ID: 0x1d200000 / 1
Current Available (mA): 1000
Current Required (mA): 100
Extra Operating Current (mA): 0
Last edited by Frederik on March 20th, 2017, 3:12 pm, edited 1 time in total.
- Frederik
- Reactions:
- Posts: 23
- Joined: February 23rd, 2017, 9:10 pm
- Location: Aachen, Germany
- 3D Printer(s): Ultimaker Original plus
Re: What ISP programmer to get?
Finally! We are back in business ![Smile :)](./images/smilies/icon_e_smile.gif)
After buying a new programmer Diamex Prog-S2 the upload worked at the first try - as if nothing ever happened...
Edit: Just for reference, the Diamex programmer works in OS X – no specific drivers needed.
![Smile :)](./images/smilies/icon_e_smile.gif)
After buying a new programmer Diamex Prog-S2 the upload worked at the first try - as if nothing ever happened...
Edit: Just for reference, the Diamex programmer works in OS X – no specific drivers needed.