All You Ever Needed To Know About UPDI, And Then Some!

This entry is part 1 of 7 in the series IMPLEMENTING UPDI FROM SCRATCH

Part I — Foundations, Electrical Interface, Protocol, and High-Voltage Activation There was a time when connecting a programmer to an AVR microcontroller could consume a surprisingly large number of pins. Traditional AVR In-System Programming used SPI-like signaling. JTAG used four principal signaling wires plus reset and power references. debugWIRE reduced debugging to essentially one signal,

All You Ever Needed To Know About UPDI, And Then Some!

This entry is part 2 of 7 in the series IMPLEMENTING UPDI FROM SCRATCH

Part II — Building UPDI from Scratch with an Arduino Nano In Part I we took UPDI apart conceptually. We established that UPDI is not merely “serial programming on one wire.” It is a layered system consisting of: Now we are going to begin making it work. Rather than immediately downloading somebody else’s programmer firmware

All You Ever Needed To Know About UPDI, And Then Some!

This entry is part 3 of 7 in the series IMPLEMENTING UPDI FROM SCRATCH

Part III — Turning the Arduino Nano into a Real UPDI Programmer Updated for the finalized NANO UPDI PROGRAMMER Rev. 1.0.0 hardware Parts I and II got us across the wire. We now understand enough of UPDI to: That is already a useful communications system. But it is not yet a programmer. Programming begins when

All You Ever Needed To Know About UPDI, And Then Some!

This entry is part 4 of 7 in the series IMPLEMENTING UPDI FROM SCRATCH

Part IV — High-Voltage UPDI Activation and Recovery By the end of Part III, our Arduino Nano could do something genuinely useful. It could: That is already a practical programmer. But there remains an awkward problem. What happens if the microcontroller’s UPDI pin is no longer configured as UPDI? Or, on newer devices, what happens

All You Ever Needed To Know About UPDI, And Then Some!

This entry is part 5 of 7 in the series IMPLEMENTING UPDI FROM SCRATCH

Part V — Using UPDI as an On-Chip Debugger Updated for the finalized NANO UPDI PROGRAMMER Rev. 1.0.0 hardware So far, we have used only half of UPDI’s name. We have built the: Unified Program and Debug Interface into a functioning programmer. Now we turn to the second half: Unified Program and Debug Interface This

All You Ever Needed To Know About UPDI, And Then Some!

This entry is part 6 of 7 in the series IMPLEMENTING UPDI FROM SCRATCH

Part VI — The Complete Reference Design, Operating Guide, Troubleshooting Manual, and Resources Updated for the finalized NANO UPDI PROGRAMMER Rev. 1.0.0 hardware We began this series with one deceptively simple question: What is UPDI? Six parts later, the answer is considerably richer than: “It is Microchip’s one-wire programming interface.” UPDI is indeed a one-wire

All You Ever Needed To Know About UPDI, And Then Some!

This entry is part 7 of 7 in the series IMPLEMENTING UPDI FROM SCRATCH

Part VI — The Complete Reference Design, Operating Guide, Troubleshooting Manual, and Resources Updated for the finalized NANO UPDI PROGRAMMER Rev. 1.0.0 hardware We began this series with one deceptively simple question: What is UPDI? Six parts later, the answer is considerably richer than: “It is Microchip’s one-wire programming interface.” UPDI is indeed a one-wire