/STK2UPDI

STK500 compatible UPDI programmer firmware for Arduino

Primary LanguageC++

STK2UPDI

This is a firmware, that when uploaded on an atmega328p, or a similar AVR MCU running @16Mhz, enables it to interface with Atmel Studio as if it were an STK500 programmer. In particular, you can use an Arduino to host this firmware. It provides a bridge to program the new attiny817 family of MCUs, that use the UPDI interface, from Atmel Studio, using the STK500v2 protocol:

Atmel Studio -> HW Serial interface -> Programmer MCU (e.g. Mega328P) -> SW Serial on PD6 -> Target MCU (e.g. tiny817)

Currently, I have not tested this software with a level shifter, so the target MCU must run at the same voltage as the programmer.

                                              Vcc                     Vcc
                                              +-+                     +-+
                                               |                       |
 +----------+          +---------------------+ |                       | +--------------------+
 | Atmel    |          | Programmer          +-+                       +-+  Target            |
 | Studio   |          |                     |      +----------+         |                    |
 |       TX +----------+ RX              PD6 +------+   4k7    +---------+ UPDI               |
 |          |          |                     |      +----------+         |                    |
 |       RX +----------+ TX                  |                           |                    |
 |          |          |                     |                           |                    |
 |          |          |                     |                           |                    |
 |          |          |                     +--+                     +--+                    |
 +----------+          +---------------------+  |                     |  +--------------------+
              STK500v2                         +-+     UPDI          +-+
              Protocol                         GND     Protocol      GND

Drawing adapted from: https://github.com/mraardvark/pyupdi

To build, run the make.bat file, after editing it with the path of AVR-GCC on your system. Since this program is meant to talk to Atmel Studio, I provide a makefile suitable for a MS-Windows environment.

There are also pre-built files on the "build" directory. They were built using avr-gcc 8.0 compiled for MinGW by sprintersb: https://sourceforge.net/projects/mobilechessboar/files/avr-gcc%20snapshots%20%28Win32%29/

More information at: http://www.avrfreaks.net/forum/stk500-updi-working-was-enabling-xtiny-updi