Microchip, who took over Atmel, have pushed UPDI as the preferred programming method for AVR microcontrollers. All the latest devices use this interface for both debugging and programming – UPDI means Unified Programming and Debug Interface.
To try and eliminate any memory of Atmel, Microchip have given the newest AVR microcontrollers the part number of AVR, e.g. AVR64DB28, rather than use Atmel AT prefix e.g. ATtiny28 or ATmega128. All AVRxx chips use UPDI programming but so do some newer ATtiny and ATmega microcontrollers just to confuse things!
All AVRxx Microcontrollers have UPDI
ATmega Microcontrollers with UPDI
- ATmega1608, ATmega1609, ATmega3208, ATmega3209
- ATmega4808, ATmega4809, ATmega808, ATmega809
ATtiny Microcontrollers with UPDI
- ATtiny1604, ATtiny1606, ATtiny1607, ATtiny1614
- ATtiny1616, ATtiny1617, ATtiny1624, ATtiny1626, ATtiny1627
- ATtiny202, ATtiny204, ATtiny212, ATtiny214, ATtiny3216
- ATtiny3217, ATtiny3224, ATtiny3226, ATtiny3227
- ATtiny402, ATtiny404, ATtiny406, ATtiny412, ATtiny414
- ATtiny416, ATtiny417, ATtiny424, ATtiny426, ATtiny427
- ATtiny804, ATtiny806, ATtiny807, ATtiny814
- ATtiny816, ATtiny817, ATtiny824, ATtiny826, ATtiny827
AVR UPDI Programmers
Kanda have been producing AVR programmers for 25 years so we know what we are doing. We now have a range of AVR programmers that support UPDI programming.
Kanda AVR UPDI Programmer – USB Programmer that supports AVR UPDI, TPI JTAG and AVR ISPKanda HandHeld AVR UPDI Programmer – Handheld programmer with AVR UPDI, TPI, UPDI, ISP and ATxmega PDI support
Kanda 8-way Standalone AVR UPDI Programmer – 8-way Handheld programmer with AVR UPDI, TPI, UPDI, ISP and ATxmega PDI support
Kanda Keyfob AVR UPDI Programmer – Keyfob programmer with AVR UPDI and AVR ISP support
Kanda Portable AVR UPDI Programmer – 31 Slot Portable programmer with AVR UPDI, TPI, UPDI, ISP and ATxmega PDI support
Kanda AVR UPDI Programmer Summary
Kanda AVR UPDI Programmer is a great solution for PC based UPDI programming, that also supports AVR ISP, TPI and JTAG AVR programming interfaces. It can also supply 12V pulse needed to enter UPDI if UPDI or TPI Reset pins have been reassigned to GPIO.
Kanda standalone AVR UPDI programmers also support all these interfaces and include a 12V generator. They can also power your target. Ideal for field updates and the production line as no PC or skill are needed.
Other AVR UPDI Programmers
As UPDI is also a debug interface, it is supported by Atmel and Microchip Studio and also by MPLAB X. Both Atmel ICE and PICKit 4 can be used as AVR UPDI programmers but their programming interfaces are not great.
There are also Arduino UPDI programming solutions but they are not really designed for professional use.
AVR UPDI Interface
The UPDI interface for AVR is a one wire protocol. It is a serial UPDI interface, which is asynchronous. It has a single line for both transmit and receive and uses a sync byte to determine the Baud Rate.
The default Baud Rate is usually 500KHz but it can operate faster, with 1MHz being commonly used, but this can get unreliable on some devices or at lower voltages.
ATmega UPDI chips have a dedicated pin for UPDI, with a separate Reset pin so you can always enter UPDI but ATtiny UPDI devices have a shared pin that can be configured as UPDI, Reset or GPIO by RSTCFG fuse. If pin is not configured as UPDI, then a 12V pulse is needed to enter UPDI.
AVRxxx Series devices have separate Reset and UPDI pins. The first series, AVRxxDA and AVRxxDB, have these pin functions fixed but newer series such as AVRxxDDxx and AVRxxEAxx families have a fuse that allows UPDI pin to be reconfigured as GPIO. Again a 12V pulse is needed to re-enter UPDI if this is set but this time the pulse is applied to Reset pin not UPDI pin. This means Reset should be connected to your UPDI header.
Kanda programmers all support 12V UPDI entry.
The recommended Atmel UPDI pinout is shown here. This matches AVR ISP pinout so that same 6-way adapter can be used for both.
AVR UPDI Header
Conclusion
If you are happy with your older AVR microcontrollers, like ATmega328PB, that use AVR ISP interface, then you haven’t got to worry. If you want to look at newer AVR chips, then you will need an Atmel AVR UPDI programmer. This is why Kanda have added UPDI to all our AVR ISP programmers.