Category Archives: AVR Microcontrollers

UPDI Explained: The Complete Guide to Programming and Debugging Modern AVR Microcontrollers

Unified Program and Debug Interface architecture showing host PC, USB-UART adapter and AVR microcontroller connected through a single-wire UPDI interface

UPDI Explained: The Complete Guide to Programming and Debugging Modern AVR Microcontrollers

A comprehensive guide to the Unified Program and Debug Interface (UPDI), including architecture, signalling, security, memory programming, debugging, recovery techniques and programmers.

Continue reading “UPDI Explained: The Complete Guide to Programming and Debugging Modern AVR Microcontrollers” »

AVR High Voltage Programmer

The only way to re-enable Reset or SPIEN fuses on some older AVR chips like ATtiny13A, to allow them to be reprogrammed, is to use High Voltage programming (HVP) method. This was available on AVR Dragon, STK500 and STK600 but since these have been discontinued, there is a lack of suitable programmers.

So, what is now the best solution for AVR High Voltage Programming?

Continue reading “AVR High Voltage Programmer” »

How to use AVRISP-MKII with AVRDUDE and Great cow basic

Atmel have stopped making AVRISP-MKII but Kanda sell a Waveshare version that is identical to the original. Atmel Studio fully supports AVRISP-MKII and it is simple to install and use with Studio but it can also be used with AVRDude and Great Cow Basic compiler.

Continue reading “How to use AVRISP-MKII with AVRDUDE and Great cow basic” »

AVR Programming – ISP, JTAG, TPI, PDI and UPDI

When AVR microcontrollers were first introduced in 1995, In System Programming was simple, with one programming method (Serial Programming Interface or SPI) and a recommended 5 x 2 10-pin target interface. For 10-15 years, this stayed the same except for the addition of JTAG programming on some devices and a move towards a 3 x 2 6-pin target header. In the last few years, new interfaces have sprouted like weeds, including TPI, PDI and UPDI. What do this all mean and how does it affect you?

Continue reading “AVR Programming – ISP, JTAG, TPI, PDI and UPDI” »