Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can make a basic UPDI programmer with a USB-to-serial adapter and a 1 kΩ resistor, or use an Arduino running jtag2updi firmware. Neither route works with every adapter or every AVR by default: check the exact target’s pinout, voltage limits, and tool support before connecting it.

What UPDI does

UPDI is Microchip’s one-wire, UART-based, half-duplex programming and debugging interface. A single target pin handles data reception and transmission; depending on the device, that pin may be dedicated or shared with RESET. Microchip’s overview demonstrates UPDI with an ATtiny817 Xplained Mini and MPLAB X: Microchip’s UPDI explanation.

Option 1: USB-to-serial adapter and resistor

For a basic DIY circuit, Adafruit documents using a USB-to-serial cable or adapter and a 1 kΩ resistor. Its guide’s wiring is simple, but it is an example setup—not proof that every adapter, target, or board is compatible. See Adafruit’s ATtiny programming guide.

Wire the documented circuit

  1. Connect the adapter’s power output to the target’s VIN, and connect adapter ground to target ground.
  2. Connect the adapter’s RX and TX lines to the same side of the 1 kΩ resistor.
  3. Connect the other side of the resistor to the target’s UPDI pin.

Confirm the target’s pinout and the adapter’s logic levels and supply voltage before powering the circuit. The documented wiring does not establish compatibility for every USB-to-serial adapter. Do not assume that VIN or the adapter’s signal levels are safe for your chosen AVR; check its electrical limits.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Tiny AVR Programmer for Arduino
  • Type: USB A Male Port
  • It can shrink your Arduino projects down to "Tiny Size".
  • Easy to use for programming ATTiny ICs (ATTiny85, ATTiny45, ATTiny13A, etc.)
  • 3 In 1 Solution: 1) Program a socketed chip, 2) Connect a socketed chip in the programmer to a breadboard with jumper wires for prototyping, 3) Program a chip in-circuit (e.g. an SO8).
  • Professional design, Flexible, stable performance and easy to install.

Configure the software and power

In Adafruit’s example, the guide uses megaTinyCore and selects SerialUPDI at 57600 baud. These are setup instructions for that guide, not universal UPDI settings. The guide also says its default 20 MHz clock option is valid only with 5 V power and recommends selecting 10 MHz at 3.3 V for the ATtiny context it describes. Verify your target’s voltage and clock requirements rather than copying those settings to another device.

Option 2: Use an Arduino running jtag2updi

Instead of the basic adapter-and-resistor circuit, an Arduino can run ElTangas’s jtag2updi firmware. The project lists support for tinyAVR 0/1/2, megaAVR 0, and AVR DA/DB families. Consult its current documentation and confirm that your specific target and Arduino configuration are supported.

Building this route involves loading and configuring firmware as well as making the target connection. The project instructions call out matching the MCU, CPU frequency, and UPDI baud configuration. An Arduino with integrated serial may require auto-reset to be disabled. Follow the project’s current instructions; these details are specific to the firmware and can change.

Rank #2
HiLetgo USBTiny USBtinyISP AVR ISP Programmer 6/10 Pin Bootloader for Arduino UNO MEGA
  • Power supply options: external power supply and USB power
  • Isp interface: 6 needle, 10 needle

Choose a route that fits your setup

Option What it involves What to verify
USB-to-serial adapter + 1 kΩ resistor The simpler documented circuit; wire adapter power, ground, RX, TX, resistor, and target UPDI as described above. Target pinout and electrical limits, adapter logic levels and supply, and the programming setup appropriate to your device.
Arduino + jtag2updi Load and configure the project firmware, then connect it to the target. That your target family is supported and the MCU, CPU frequency, baud, and any auto-reset setting match project instructions.
Adafruit UPDI Friend A ready-made alternative to assembling the basic circuit. Current availability; the product listing showed it out of stock when accessed. Check the UPDI Friend listing for current status.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

When a target may need recovery

Some AVR devices use a shared pin for UPDI and GPIO or RESET. On those devices, fuse settings can disable UPDI or repurpose the pin, so ordinary serial programming may no longer reach the interface. Depending on the target, restoring access may require a high-voltage activation pulse.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Microchip warns that circuitry connected to the shared line can interfere with activation or be damaged by the pulse. Check the exact device datasheet for the required activation amplitude and any pin-sharing details, and protect or remove connected circuitry as Microchip advises. High-voltage activation is a device-specific recovery mechanism—not the voltage used to program memory—and is not part of the basic resistor circuit. Microchip’s UPDI implementation guidance describes differences between dedicated-pin and shared-pin implementations.

Quick Recap

Bestseller No. 1
Tiny AVR Programmer for Arduino
Tiny AVR Programmer for Arduino
Type: USB A Male Port; It can shrink your Arduino projects down to "Tiny Size".; Easy to use for programming ATTiny ICs (ATTiny85, ATTiny45, ATTiny13A, etc.)
$16.99
Bestseller No. 2
HiLetgo USBTiny USBtinyISP AVR ISP Programmer 6/10 Pin Bootloader for Arduino UNO MEGA
HiLetgo USBTiny USBtinyISP AVR ISP Programmer 6/10 Pin Bootloader for Arduino UNO MEGA
Power supply options: external power supply and USB power; Isp interface: 6 needle, 10 needle
$9.19

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.