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.
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:
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:
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.
- My project repository
- Schematic of my version
- Gerbers of my version
- BOM of my version (Coming soon)
- Original project (including AVR source code)
… 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.