Introduction
The ATtiny1604 is a microcontroller from Microchip’s tinyAVR series, and programming it can be done using the UPDI (Unified Program and Debug Interface) protocol. UPDI is a single-wire interface used to program and debug the latest AVR microcontrollers. However, when the UPDI pin is accidentally configured as a general-purpose I/O pin, it can no longer be used for programming, making a high-voltage (HV) programming method necessary to recover the microcontroller.
For Full Project :
https://electronicsworkshops.com/2024/07/31/design-attiny1604-updi-hv-programmer/
What is an UPDI HV Programmer?
An UPDI HV programmer is a tool designed to program AVR microcontrollers like the ATtiny1604 using the UPDI protocol, but with an added high-voltage (12V) pulse. This high-voltage pulse is required to reset the UPDI pin when it has been inadvertently reconfigured as a GPIO pin. The HV pulse momentarily forces the microcontroller into programming mode, allowing you to regain access to the UPDI pin for normal programming.
Components Needed for an UPDI HV Programmer
ATtiny1604 or Similar AVR Microcontroller: The target device that you need to program.
UPDI Programmer: This could be a dedicated programmer like the Atmel ICE or a DIY solution using another microcontroller (e.g., an Arduino).
12V Source: This is needed to generate the high-voltage pulse. This could be created using a simple circuit involving a MOSFET or a boost converter.
Diodes and Capacitors: To manage the high-voltage pulse and ensure that it is correctly applied to the UPDI pin without damaging the microcontroller.
Voltage Regulator: To step down the voltage to the required levels for the microcontroller operation after the high-voltage pulse has been applied.
Resistors: To limit current and protect the circuit during the HV programming process.
Basic Steps to Use an HV UPDI Programmer
Assemble the Circuit: Connect the UPDI pin of the ATtiny1604 to the programmer and set up the circuit to allow for the 12V pulse to be applied to this pin.
Apply the 12V Pulse: Momentarily apply the 12V pulse to the UPDI pin. This should reset the pin’s configuration, allowing it to revert to UPDI mode.
Program the Microcontroller: After the pulse, the UPDI pin should be functional again, and you can proceed to program the microcontroller as usual using the UPDI protocol.
Verify: Check if the microcontroller has been correctly programmed and is functioning as expected.
Considerations
Timing: The 12V pulse must be carefully timed; too long or too short might not reset the UPDI pin correctly.
Circuit Protection: Ensure proper protection in the circuit to prevent damaging the microcontroller or other components.
DIY vs. Commercial: While it’s possible to build a DIY UPDI HV programmer, using a commercial product might be easier and more reliable if you frequently work with these microcontrollers.
Manufacturing Files
Gerber
Gerber_drier_Mini_UPDI_HV_Programmer_v1.0_2024-09-04Download
Schematic Design
The schematic should include the following parts:
- ATtiny1604 UPDI Pin Interface: This is where the UPDI pin of the ATtiny1604 will connect. The circuit should switch between the programming voltage (5V or 3.3V) and the high-voltage (12V) pulse.
- 12V Pulse Generator: This section is responsible for generating the 12V pulse. It can be created using a charge pump circuit or a boost converter.
- Control Logic: This logic will control when to apply the 12V pulse and when to switch back to the normal programming voltage.
- Protection Diodes: Diodes to protect the UPDI pin and the microcontroller from voltage spikes.
- Voltage Regulator: If you’re powering the board from a higher voltage source, you’ll need a regulator to step down to 5V or 3.3V for the microcontroller.
For Full Project :
https://electronicsworkshops.com/2024/07/31/design-attiny1604-updi-hv-programmer/
Order Directly from PCB WAY
I have already uploaded all these required manufacturing...
Read more »