Cheap AVR UPDI Programmer from ATtiny817 Xplained Mini

New AVR processors from Microchip/Atmel use a 1-wire UPDI interface for flash programming. You could use either AVR ICE or Pickit 4 as the “official” programmers (I did not test any of them). Both of these cost >50 EUR.

A good alternative, presented in this post, is to modify the ATtiny817 Xplained Mini board (costs ~10 EUR) and use it as the UPDI programmer:

ATTINY817-XMINI - Zkušební Sada, ATtiny817/816/814/417 MCU, Xplained Mini, Integrovaný Debugger, Kapacitní Dotek
ATtiny817 Xplained Mini board from Microchip

ATtiny817 Xplained Mini is the official evaluation board for ATtiny817 processor. Besides the ATtiny817 processor, the board also has another MCU ATMEGA3204 acting as a USB-powered flash programmer. By connecting this board to a PC, you get a complete working platform with an UPDI programmer in ATMEGA, and the user-programmable ATtiny817.

Modification: remove the 0-ohm resistor R203 near the ATMEGA. It is marked UPDI disconnect in this picture:

I add two single-pin headers: first connected to the output of UPDI on ATMEGA, second to the input of UPDI on ATtiny. Using a jumper wire between these two the system works as usual. Or the UPDI output could be brought to another board for programming of a different target.

Photo of my board with the modifications

As the programming sw I use Atmel Studio 7. To program a different target than the default ATtiny817, you need to manualy write the device type in the Device drop-down list of the Device Programming window. Here I use it to program ATtiny402 on a breadboard:

Flash programming through the “Device Programming” window




  1. Hello Jarda, Great post! But the Studio 7 is always using simulation, only. I can see the device in the mEDBG window (as you posted), including reading fuses, memory, etc, but when I close the window and try to program it the Atmel Studio goes to simulation and the mEDBG is not present in the tool’s list. Is there something else to configure?

    • Hello Augusto,
      Unfortunately, with this programmer hack, the Start button in Atmel Studio does not work. You must program the chip via the “Device Programming” window, section Memories, the button Program in the Flash section. I have added a screenshot of this step.
      Consequently, debugging via Atmel Studio will not work; you have to debug your program the “hard way” with the help of UART, LEDs, etc.

  2. Thank you, Jara, for the fast response to my help scream. After digging at AVRFREAKS I found another solution (at least to my case). I will left it here so other users may find it, as well. In the Atmel Studio 7,go to Tools menu / Options / Tools / Tool settings. Then set to FALSE the “Hide unsupported devices” variable. It did made the AtTiny1634 show up in the mDEBG option as debugger/programmer, allowing most of the debugging operations to work.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.