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 2088 orders / 156reviews
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 USB-C connector on the board along with a 3.3 volt LDO and a switch to allow selecting between 5 volts (direct from USB) or 3.3 volts (from the LDO).

The PDI, TPI 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 and TPI only use four) and PDI and TPI will work as well.

Adobe Portable Document Format - 19.26 kB - 02/08/2021 at 05:46


sch - 126.46 kB - 02/08/2021 at 05:46


brd - 44.71 kB - 02/08/2021 at 05:46


  • 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