What ISP programmer to get?

Electronics talk! Arduino UNO, Raspberry Pi and more
Post Reply
User avatar
Frederik
Reactions:
Posts: 23
Joined: February 23rd, 2017, 9:10 pm
Location: Aachen, Germany
3D Printer(s): Ultimaker Original plus

What ISP programmer to get?

Post by Frederik » March 7th, 2017, 11:46 am

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

User avatar
nilrog
Reactions:
Posts: 384
Joined: February 24th, 2016, 4:48 pm
Location: Örsundsbro, Sweden
3D Printer(s): UMO+

Re: What ISP programmer to get?

Post by nilrog » March 7th, 2017, 12:11 pm

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.

User avatar
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?

Post by Frederik » March 7th, 2017, 1:37 pm

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).

Code: Select all

avrdude: verification error, first mismatch at byte 0x0000
Working procedure:

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
write bootloader

Code: Select all

avrdude -c usbtiny -p m2560 -V -U flash:w:stk500boot_v2_mega2560.hex
lock fuses

Code: Select all

avrdude -c usbtiny -p m2560 -U lock:w:0x0F:m
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

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:
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)

User avatar
nilrog
Reactions:
Posts: 384
Joined: February 24th, 2016, 4:48 pm
Location: Örsundsbro, Sweden
3D Printer(s): UMO+

Re: What ISP programmer to get?

Post by nilrog » March 7th, 2017, 2:01 pm

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?

User avatar
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?

Post by Frederik » March 7th, 2017, 2:26 pm

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.

User avatar
nilrog
Reactions:
Posts: 384
Joined: February 24th, 2016, 4:48 pm
Location: Örsundsbro, Sweden
3D Printer(s): UMO+

Re: What ISP programmer to get?

Post by nilrog » March 7th, 2017, 2:42 pm

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 :P 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?

User avatar
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?

Post by Frederik » March 7th, 2017, 2:49 pm

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:

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.

User avatar
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?

Post by Frederik » March 20th, 2017, 12:15 pm

Finally! We are back in business :)

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.

Post Reply

Return to “Electronics”

Who is online

Users browsing this forum: No registered users and 1 guest