“HV” (High voltage) UPDI programming adapter for the Atmel-ICE

A few months back I made a variation of David Lloyd’s open source Updi-Key project. It’s an add-on programmer which allows non HV UPDI programmers to program AVRs which have need the UPDI pin in an alternate mode.

The original project. It’s err, key-like… if that kind of thing floats your boat.

My design is largely unchanged from the original, using mostly the same BOM and schematic.

The difference is that the Atmel-ICE cannot power the target, there are some changes relating to this.

I’ve also changed the form factor from the original key shape to a rectangle with connectors at each end, the idea being it can be encased inside heat-shrink tube.

Atmel-ICE connector selection

The Atmel-ICE is supplied with a 1.0mm pitch 10 pin cable, however there is a small quirk, in that the connectors are reversed, so pin numbering is opposite at each end of the cable. In this case the adapter can be fitted with a right angle adapter with the key facing inwards like this:

Connector orientation if using the Atmel supplied “reversed” cable.

Or a vertical connector can be used with the key in the same orientation.

If using an off-the-shelf non Atmel cable, then it should be fitted like this:

Connector orientation if using a standard non Atmel cable to the Atmel-ICE

In this case a vertical connector must be used as the horizontal type is not available with reversed polarity.

Programming the on-board AVR

Simply fit the “SELF PROGRAM” jumper, apply +5V to the VTG/GND pins on the target connector and use the Atmel-ICE its self to program the ATTINY202.


… for Non Arduino people

If like me you’re not into Arduino, you can save yourself quite a bit of time and hassle by using the pre-compiled .HEX file here.

The command to flash is as follows:

C:\Dev\Updi-Key\source\NonArduino>avrdude -Cavrdude.conf -v -pattiny202 -catmelice_updi -Pusb -Ufuse2:w:0x02:m -Ufuse6:w:0x04:m -Ufuse8:w:0x00:m -Uflash:w:UpdiKey.hex:i

That assumes you already have avrdude installed and correctly configured to work with libusb.

Posted in Bits and pieces

Leave a Reply

Your email address will not be published. Required fields are marked *