Unable to upload sketch via Atmel Ice programmer

Hey All,

I got an Atmel Ice programmer/debugger and I love it when doing stuff in Atmel Studio 7. Anyways, I got an Atmega328p-au on a custom board and I can't seem to program the thing when selecting Amtel-Ice as the programmer. Whenever I try to upload a sketch or do a boatload burn, it says "Please select a programmer from Tools->Programmer menu" which I have selected "Atmel-ICE". I just don't get it.

If I plug in my Arduino ISP it works just fine. Any ideas? I've got the cable properly connected to ISP and I'm using the AVR output on the Atmel ICE unit rather than the SAM output. I'm using OS X and the system shows it's recognizes that I've got the Atmel ICE connected to a USB port. Am I missing anything?

The Atmel ICE programmer entry is added with the Arduino SAMD Boards(Zero) but the fields for that entry are blank. My guess is the SAMD core has another way of dealing with the ICE but the Arduino AVR Boards core requires these fields to be filled so that's the cause of the error. My understanding is that Atmel ICE support was only added in avrdude 6.1 and Arduino is using avrdude 6.0.1 so if you wanted to add support to the Arduino IDE for programming AVR with Atmel ICE you'd need to install the new version of avrdude and fill in the fields in the Atmel ICE entry in programmers.txt with the correct values.

How is this not a bug? Why did this make it into a release? It is just embarrassing.

1 Like

I still can't get mine to work. My thoughts are, Geez I wish I had searched this before buying I would never have. I wanted to branch into making my own SAM based pcb...so I thought lets lash out and get something genuine.

I also get the "please select a programmer from Tools etc" error. Using Upload via programmer does not work.

So why is it, there is even an option to select that has "Atmel ICE" as the programmer when it never works, and everyone has to do some extra's to get it going.

I did manage to use LibUSB to install the inf files so that the Atmel ICE now shows in the device manager.

But to get the ICE to work isn't happening.

I am running Arduino 1.8.1 - just downloaded and updated it.

I can't verify the unit is working in any way, as my computer runs Win7, and Atmel Studio 7 won't install, as it wants an Microsoft update, which won't install either.

Frankly I think I wasted money getting the Atmel ICE, and all I can say to anyone out their thinking of it, spend your money elsewhere it is not properly supported.

This thread might be useful to you:
https://forum.arduino.cc/index.php?topic=390155.0

midworld08:
So why is it, there is even an option to select that has "Atmel ICE" as the programmer when it never works, and everyone has to do some extra's to get it going.

As I said before, it's part of the Arduino SAMD Boards package and is only intended for use with those boards.

What microcontroller/board are you trying to use the ICE with?

I think I wasted money getting the Atmel ICE, and all I can say to anyone out their thinking of it, spend your money elsewhere it is not properly supported.

Atmel ICE is presumably supported by the Atmel Tools, like Atmel Studio. Arduino is not an Atmel tool.
It's unfortunate that the Arduino "support" for the Atmel ICE is apparently non-functional, but it's not really that surprising. Arduino's support for uploading using "programmers" has always been pretty skimpy.
The big draw of Atmel ICE is debugger support under AS, so if you bought it wanting only support for "upload using programmer" in Arduino, then it almost certainly WAS a waste of money.

Atmel Studio 7 won't install, as it wants an Microsoft update, which won't install either.

Ah, well those are definitely complaints for Atmel and/or Microsoft. I ran into the "AS7 won't install unless you have all the latest windows updates installed" issue myself, recently. Very annoying - IDEs aren't normally so dependent on the latest OS specifics. Fortunately, in my case, W10 updated without problems...

(Um. You can run an un-activated W10 install in a virtual box VM...)

Undoubtedly with AS7 do you debug with JTAG or debuwire with the ISP.
I would like to only use to restore your bootloader when I need to come back so that the Fuse in place by yourself ...

Just thought I would add an update to this post...in case someone is searching....

So its been a year since I couldn't get the Atmel ICE to work with the Arduino software. For some reason I dusted it off, and plugged it in to see if things had progressed.
I updated Atmel Studio, and then plugged it in. Heavens forbid Atmel Studio installed flawlessly, and the Atmel ICE was showing up nicely in the device manager. Didn't get that far before.
Downloaded an older version of the Arduino software, as the latest version installed inside the Windows App doesn't allow you to look in the program files folder and manually edit.
Pleasantly surprised when I looked in the tools->programmer drop downs to see multiple entries for the Atmel ICE. I selected the Atmel ICE (AVR). I then plugged in an old UNO board to the Atmel ICE cable, powered up the UNO, and hit tools->Burn Bootloader. Well bugger me it worked.
But that was it. The Atmel ICE cannot burn sketches to the UNO. It only does the boot loader. I'm not unhappy about this, and its a great. Big Smiley Face.
Now AS7 added arduino compatibility in the sketches, so I loaded up the blink sketch into a project, and shorty after AS7 programmed the blink.ino into the UNO real quick. It also upgraded the firmware to the Atmel ICE.
So it appears I might be able to use this thing now. My aim was to actually use this to burn bootloaders on SAMD MCUs....I really like the low power consumption these have.
So it appears that I have some old projects to dust off.
Thanks to the people who got this going.

1 Like

I'm also glad they added support for the Atmel ICE. I like to see the Arduino IDE offer a large range of hardware compatibility.

midworld08:
The Atmel ICE cannot burn sketches to the UNO. It only does the boot loader.

What happens when you try to burn the sketch?

Hi2All,
as time passes by, some issues get solved, others stay open...

I am currently on the same trace...but on a Linux-host.
My issue:
I have a sketch, that does not build on Linux_Arduino 1.8.7, but on Win7-Arduino 1.8.8 on my LapTop.
Unfortunately it doesn't upload on Win7 via USB.
So I procured an Atmel-ICE to support both upload and debugging capabilioties with AS7.
AS7 works well with the ICE, whereas no Arduino-IDE does (neither Win nor Linux).
The issue seem to be, that Arduino does not detect the ICE on USB and does not provide interface acces to it via USB.
Consequently avrdude, which does the background-communication on both Lx and Win, does not know, where to look for it.

If I invoke avrdude from command-line in Linux, it detects the ICE and the Arduino Leonardo, that is attached to it's ISP.

So far about the analysis of fault. Still I am successlessly spending my time finding a solution or work-around. :frowning:

Is there anyone in this forum, who already fixed this issue?
I desparately need to speed-up my learning curve...

Thx 4 your patience
sepp2gl

Hi. I have never used an Atmel ICE (haven't managed to convince myself to spend the cash for one yet), so this is purely a guess. I have had a very similar problem with the USBasp though so I thought I should share my limited knowledge on the subject. What I would try is to install the libusbK driver for your Atmel ICE:

  • Download Zadig: http://zadig.akeo.ie/.
  • Plug in your Atmel ICE
  • Start Zadig
  • From the dropdown menu, select Atmel ICE. If it doesn't show up on the menu, then select Options > List all devices and check again.
  • Click the up or down arrows next to the Driver selection box on the right side until you see libusbK.
  • Click the "Replace Driver" button.
  • After it finishes you can close Zadig.

@pert:
did it and followed your proposal.
Unfortunately no effect on Arduino-behavior.
I will continue to explore the issue and report, if I break through.

Thanks, sepp2gl