AtmelICE ISP/PDI adapter accessory

Adapts the AtmelICE AVR output to ordinary ISP/PDI pinouts and adds target power

Similar projects worth following
Starting from
nsayer has 1538 orders / 132 reviews
Ships from United States of America
I bought an AtmelICE because I needed to do PDI programming for XMega controllers (it also turned out to be useful for JTAG connections to ATSAM chips as well). When you buy an AtmelICE it comes with cables to adapt to the traditional 6 pin AVR pinouts, but the cable is awfully flimsy. Also, the programmer doesn't work unless the target is powered. This board fixes that.

The AtmelICE documentation includes the correct pinouts for PDI and AVR-ISP programming interfaces. What they don't tell you (well, they do have a diagram on page 15, but even so, DEAR GOD WHY????), is that the 10 pin 50 mil cable is not a straight-through cable. It's actually got one connector on backwards/upside-down, resulting in a cable that connects pin 1 on the ICE to pin 10 on the other end, 2 to 9 and so on. This wound up costing me dearly, as I ordered a pile of those cables and discovered to my horror that they didn't work.

That really is the trick here. If you have a properly screwed-up cable, then Atmel's pinouts are fairly straightforward.

That leaves target power. Unfortunately, the programmer is set up to use the target voltage to set the voltage levels for the I/O pins used for programming. If there is no target power, then programming won't work (you won't get the green middle light to turn on).

The quick and dirty fix for this is to add a micro-USB connector on the board along with a 3.3 volt LDO and a 2-way jumper block to allow selecting between 5 volts (direct from USB), 3.3 volts (from the LDO) or none (by either leaving the USB disconnected or removing the jumper).

The PDI and AVR-ISP pinouts for the AtmelICE are mutually compatible, so the adapter just needs to be wired for AVR-ISP (since it uses all 6 pins and PDI only uses four) and PDI will work as well.

I normally leave the target power jumper at 3.3 volts, since all the parts I've ever used have been able to be programmed at that voltage.

Adobe Portable Document Format - 11.34 kB - 05/23/2020 at 22:10


sch - 124.46 kB - 05/23/2020 at 22:09


brd - 38.90 kB - 05/23/2020 at 22:09


  • TPI

    Nick Sayer05/26/2020 at 22:37 0 comments

    It turns out this board works fine for TPI programming as well. The 6 pin end has the correct pinout. You do need to jumper the target power for 5 volts, as that’s the only voltage supported for programming. You would also need to add some extra circuit to give a 12 volt pulse on !RESET if you configure that pin as a GPIO pin.

    The bad news for me is that avrdude doesn’t support the ATMelICE in TPI mode. So that means using “atprogram” under Windows. Groan. 

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates