Adafruit released a newer and smaller ATtiny programmer – UPDI Friend
If you have ever programmed an AVR microcontroller with a USB to serial adapter, you should know how it sometimes gets messy with all the data and power wires. Therefore, Adafruit created a UPDI programmer tool that can program newer tinyAVR and megaAVR chips with only 3 wires!
What is UPDI?
UPDI stands for Unified Program and Debug Interface. It is a Microchip proprietary interface and is a successor to the PDI interface, which has 2 data wires. UPDI provides a bidirectional half-duplex asynchronous communication with a microcontroller for programming or debugging. For more in-depth information about Microchip interfaces, you can find it here.
Where Adafruit get the inspiration?
SerialUPDI Programmer by Stefan Wagner was the inspiration. It had a long USB-A connector, 2.54 mm male pin headers for connections, a switch to choose 5V or 3.3V rail, and a CH340N USB-to-serial chip. It was a great proof-of-concept project and Adafruit made it even more user-friendly.
Is UPDI Friend better?
- It is very small – 26.4 x 17.8 millimeters
- Has a USB-C for data and power
- There is a slide switch for selecting a 5V or 3V voltage rail. The 3V regulator can source up to 500mA of current
- For programming, you can either solder wires to the 3 pads or use the included JST SH cable for poking into the breadboard
- There are also two LEDs, green is for power OK and red for serial activity
- Uses CH340E USB-to-serial chip
What chips you can program?
As mentioned earlier you can program newer tinyAVR and megaAVR microcontroller chips that have UPDI. Especially ATtiny boards like ATiny816, ATtiny817, or ATtiny1616. Adafruit recommends using Arduino IDE with the megaTinyCore board support package installed. For the programmer type, you need to select “Serial UPDI”. Upload speed of 230Kbps is great, but 56Kbps also works.
More information
You can get the UPDI Friend board from Adafruit for 6.95$, additional JST to socket headers cable will cost you 1.50$. There is also a how-to-use-it guide on the Adafruits overview page.