“This is a USB-stick sized UPDI programmer, for programming Microchip’s new 0-series and 1-series ATtiny chips from the Arduino IDE.
It’s based on an ATmega328P, and is essentially an Arduino Uno on a USB stick, so you also could use it as a mini-sized Arduino Uno.
Starting in 2016 with the ATtiny87 and ATtiny167 Microchip started releasing a new series of ATtiny chips called the ATtiny 1-series, followed in 2018 by a lower cost range called ATtiny 0-series. They are intended as successors to the earlier ATtiny chips, such as the ATtiny85 and ATtiny84. I reviewed the range in an earlier article: Getting Started with the New ATtiny Chips.
A new Arduino core has been developed for the new ATtiny chips by Spence Konde and his collaborators, called megaTinyCore . The new chips also use a new programming method called UPDI, and on his GitHub repository Spence Konde has described how to make an UPDI programmer by installing ElTangas’s jtag2updi program on an Arduino Uno, or other ATmega328-based Arduino board .
I thought it would be nice to have a compact programmer for these devices, and so designed this ATmega328-based controller on a small USB stick that can plug straight into a computer’s USB socket.
In addition to the three pins needed for UPDI programming, the board brings the ISP pins to pads on the edge of the board to allow you to install a bootloader.”