Skip to content

Commit e4d41bb

Browse files
committed
Added new board
1 parent bb641f4 commit e4d41bb

12 files changed

+70
-33
lines changed

README.md

Lines changed: 42 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,29 @@
11
# AVR Programmer Boards
2-
Collection of AVR Programmer Boards and Accessories. AVR development boards can be found [here](https://github.com/wagiminator/AVR-Development-Boards).
2+
Collection of AVR Programmer Boards and Accessories. AVR development boards can be found [here](https://github.com/wagiminator/AVR-Development-Boards). Special programmers can be found here:
3+
- [tinyHVSP: high-voltage fuse resetter for 8-pin ATtinys](https://github.com/wagiminator/ATtiny84-TinyHVSP)
4+
- [tinyCalibrator: oscillator calibrator for 8-pin ATtinys](https://github.com/wagiminator/ATtiny84-TinyCalibrator)
5+
- [tinyICOC: in-circuit oscillator calibrator for AVR microcontrollers](https://github.com/wagiminator/ATtiny84-TinyICOC)
6+
- [picoDAP: CMSIS-DAP compliant SWD Programmer](https://github.com/wagiminator/CH552-picoDAP)
37

48
## [SerialUPDI Programmer - CH340N](https://github.com/wagiminator/AVR-Programmer/tree/master/SerialUPDI_Programmer)
5-
Simple and cheap UPDI programmer for tinyAVR, megaAVR and AVR-Dx microcontrollers with voltage selection switch (5V and 3.3V). The programmer works with [pyupdi](https://github.com/mraardvark/pyupdi) as well as with the Arduino IDE as ["SerialUPDI with 4.7k resistor or diode"](https://github.com/SpenceKonde/megaTinyCore). It is based on the USB-to-serial chip [CH340N](https://datasheet.lcsc.com/lcsc/2101130932_WCH-Jiangsu-Qin-Heng-CH340N_C506813.pdf).
9+
Simple and cheap UPDI programmer for tinyAVR, megaAVR and AVR-Dx microcontrollers with voltage selection switch (5V and 3.3V). The programmer works with [pyupdi](https://github.com/mraardvark/pyupdi) as well as with the Arduino IDE as ["SerialUPDI"](https://github.com/SpenceKonde/megaTinyCore). It is based on the USB-to-serial chip [CH340N](https://datasheet.lcsc.com/lcsc/2101130932_WCH-Jiangsu-Qin-Heng-CH340N_C506813.pdf).
610

7-
![SerialUPDI_Programmer_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/SerialUPDI_Programmer/SerialUPDI_Programmer_pic1.jpg)
11+
![SerialUPDI_Programmer_pic3.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/SerialUPDI_Programmer/SerialUPDI_Programmer_pic3.jpg)
12+
13+
## [SerialUPDI HV Programmer - CH340E](https://github.com/wagiminator/AVR-Programmer/tree/master/SerialUPDI_HV_Programmer)
14+
The simple and cheap High-Voltage Serial UPDI Programmer is a device designed specifically for tinyAVR microcontrollers. This programmer includes a target voltage selection switch that allows users to choose between 5V and 3.3V for their project needs. With this device, you can use the additional configuration settings for the UPDI pin without worrying about getting locked out from the MCU. The programmer operates similarly to a standard SerialUPDI programmer and is compatible with popular development environments like the Arduino IDE, where it appears as "SerialUPDI". The device utilizes the MT3608 Boost Converter IC which generates the 12V pulse required for high-voltage activation of the UPDI pin.
15+
16+
![SerialUPDI_HV_Prog_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/SerialUPDI_HV_Programmer/documentation/SerialUPDI_HV_Prog_pic1.jpg)
817

918
## [picoISP Programmer - CH552E](https://github.com/wagiminator/AVR-Programmer/tree/master/picoISP_Programmer)
10-
The CH55x-based picoISP is a simple and cheap ISP programmer for AVR microcontrollers with voltage selection switch (5V and 3.3V) and compatible with the [USBtinyISP](https://learn.adafruit.com/usbtinyisp). It works fine with AVRdude and the Arduino IDE.
19+
The CH55x-based picoISP is a simple and cheap ISP programmer for AVR microcontrollers with voltage selection switch (5V and 3.3V). Since it is compatible with the [USBtinyISP](https://learn.adafruit.com/usbtinyisp) it works fine with AVRdude and the Arduino IDE.
1120

12-
![picoISP_pic4.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/picoISP_Programmer/documentation/picoISP_pic4.jpg)
21+
![picoISP_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/picoISP_Programmer/documentation/picoISP_pic1.jpg)
1322

1423
## [USB to Serial Converter Stick - CH340E](https://github.com/wagiminator/AVR-Programmer/tree/master/USB_to_Serial_Stick)
1524
Simple and cheap USB-to-Serial converter based on [CH340E](https://datasheet.lcsc.com/lcsc/2008191806_WCH-Jiangsu-Qin-Heng-CH340E_C99652.pdf) with voltage selection switch (5V and 3.3V).
1625

17-
![USB2Serial_Stick_pic2.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/USB_to_Serial_Stick/USB2Serial_Stick_pic2.jpg)
18-
19-
## [PyUPDI Programmer - CH330N](https://github.com/wagiminator/AVR-Programmer/tree/master/PyUPDI_Programmer)
20-
Probably the simplest UPDI programmer for tinyAVR, megaAVR and AVR-Dx microcontrollers. The programmer works with [pyupdi](https://github.com/mraardvark/pyupdi) as well as with the Arduino IDE as ["SerialUPDI"](https://github.com/SpenceKonde/megaTinyCore). It is based on the USB-to-serial chip [CH330N](https://datasheet.lcsc.com/szlcsc/2008191734_WCH-Jiangsu-Qin-Heng-CH330N_C108996.pdf) or [CH340N](https://datasheet.lcsc.com/lcsc/2101130932_WCH-Jiangsu-Qin-Heng-CH340N_C506813.pdf).
21-
22-
![PyUPDI_Programmer_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/PyUPDI_Programmer/PyUPDI_Programmer_pic1.jpg)
23-
24-
## [UPDI Programmer - ATmega8/88/168/328](https://github.com/wagiminator/AVR-Programmer/tree/master/UPDI_Programmer)
25-
UPDI Programmer (jtag2updi) for tinyAVR, megaAVR and AVR-Dx microcontrollers built on ATmega8/88/168/328 based on the design and firmware by [ElTangas](https://github.com/ElTangas/jtag2updi).
26-
27-
![UPDI_Programmer_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_Programmer/UPDI_Programmer_pic1.jpg)
28-
29-
## [UPDI Programmer Mini - ATtiny1604/1614](https://github.com/wagiminator/AVR-Programmer/tree/master/UPDI_Programmer_Mini)
30-
Mini UPDI Programmer Stick (jtag2updi) for tinyAVR, megaAVR and AVR-Dx microcontrollers built on ATtiny1604/1614 based on the design and firmware by [ElTangas](https://github.com/ElTangas/jtag2updi). Program the new ATtiny devices with a new ATtiny device!
31-
32-
![UPDI_Programmer_Mini_pic2.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_Programmer_Mini/UPDI_Programmer_Mini_pic2.jpg)
33-
![UPDI_Programmer_Mini_pic3.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_Programmer_Mini/UPDI_Programmer_Mini_pic3.jpg)
34-
35-
## [UPDI HV Programmer - ATmega8/88/168/328](https://github.com/wagiminator/AVR-Programmer/tree/master/UPDI_HV_Programmer)
36-
HV UPDI (High-Voltage Unified Program and Debug Interface) Programmer for tinyAVR, megaAVR and AVR-Dx microcontrollers built on ATmega8/88/168/328 based on the design and the firmware by [Dlloydev](https://github.com/Dlloydev/jtag2updi). The HV UPDI Programmer will enable you to use the additional configuration settings for the UPDI pin without the fear of getting locked out from the MCU. It features 3 programming modes: UPDI, HV or PCHV, with the target voltage at 5V.
37-
38-
![UPDI_HV_Programmer_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_HV_Programmer/UPDI_HV_Programmer_pic1.jpg)
39-
40-
## [UPDI HV Programmer Mini - ATtiny1604/1614](https://github.com/wagiminator/AVR-Programmer/tree/master/UPDI_HV_Programmer_Mini)
41-
Mini HV UPDI (High-Voltage Unified Program and Debug Interface) Programmer Stick for tinyAVR, megaAVR and AVR-Dx microcontrollers built on ATtiny1604/1614 based on the design and the firmware by [Dlloydev](https://github.com/Dlloydev/jtag2updi). The Mini HV UPDI Programmer Stick will enable you to use the additional configuration settings for the UPDI pin without the fear of getting locked out from the MCU. It features 3 programming modes: UPDI, HV or PCHV, with the target voltage at 5V.
42-
43-
![UPDI_HV_Programmer_Mini_pic2.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_HV_Programmer_Mini/UPDI_HV_Programmer_Mini_pic2.jpg)
44-
![UPDI_HV_Programmer_Mini_pic3.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_HV_Programmer_Mini/UPDI_HV_Programmer_Mini_pic3.jpg)
26+
![USB2Serial_Stick_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/USB_to_Serial_Stick/USB2Serial_Stick_pic1.jpg)
4527

4628
## [USBasp - ATmega8A](https://github.com/wagiminator/AVR-Programmer/tree/master/USBasp_SMD)
4729
USB ISP/TPI Programmer Stick for Atmel AVR microcontrollers with 5V and 3.3V target voltage based on the design by [Thomas Fischl](https://www.fischl.de/usbasp/).
@@ -89,3 +71,30 @@ The AVR Programmer Adapter Maxi makes it easy to program SMD ATtinys and ATmegas
8971

9072
![AVR_Programmer_Adapter_Maxi_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/AVR_Programmer_Adapter_Maxi/AVR_Programmer_Adapter_Maxi_pic1.jpg)
9173
![AVR_Programmer_Adapter_Maxi_pic2.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/AVR_Programmer_Adapter_Maxi/AVR_Programmer_Adapter_Maxi_pic2.jpg)
74+
75+
## [PyUPDI Programmer - CH330N](https://github.com/wagiminator/AVR-Programmer/tree/master/PyUPDI_Programmer)
76+
Probably the simplest UPDI programmer for tinyAVR, megaAVR and AVR-Dx microcontrollers. The programmer works with [pyupdi](https://github.com/mraardvark/pyupdi) as well as with the Arduino IDE as ["SerialUPDI"](https://github.com/SpenceKonde/megaTinyCore). It is based on the USB-to-serial chip [CH330N](https://datasheet.lcsc.com/szlcsc/2008191734_WCH-Jiangsu-Qin-Heng-CH330N_C108996.pdf) or [CH340N](https://datasheet.lcsc.com/lcsc/2101130932_WCH-Jiangsu-Qin-Heng-CH340N_C506813.pdf).
77+
78+
![PyUPDI_Programmer_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/PyUPDI_Programmer/PyUPDI_Programmer_pic1.jpg)
79+
80+
## [UPDI Programmer - ATmega8/88/168/328](https://github.com/wagiminator/AVR-Programmer/tree/master/UPDI_Programmer)
81+
UPDI Programmer (jtag2updi) for tinyAVR, megaAVR and AVR-Dx microcontrollers built on ATmega8/88/168/328 based on the design and firmware by [ElTangas](https://github.com/ElTangas/jtag2updi).
82+
83+
![UPDI_Programmer_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_Programmer/UPDI_Programmer_pic1.jpg)
84+
85+
## [UPDI Programmer Mini - ATtiny1604/1614](https://github.com/wagiminator/AVR-Programmer/tree/master/UPDI_Programmer_Mini)
86+
Mini UPDI Programmer Stick (jtag2updi) for tinyAVR, megaAVR and AVR-Dx microcontrollers built on ATtiny1604/1614 based on the design and firmware by [ElTangas](https://github.com/ElTangas/jtag2updi). Program the new ATtiny devices with a new ATtiny device!
87+
88+
![UPDI_Programmer_Mini_pic2.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_Programmer_Mini/UPDI_Programmer_Mini_pic2.jpg)
89+
![UPDI_Programmer_Mini_pic3.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_Programmer_Mini/UPDI_Programmer_Mini_pic3.jpg)
90+
91+
## [UPDI HV Programmer - ATmega8/88/168/328](https://github.com/wagiminator/AVR-Programmer/tree/master/UPDI_HV_Programmer)
92+
HV UPDI (High-Voltage Unified Program and Debug Interface) Programmer for tinyAVR, megaAVR and AVR-Dx microcontrollers built on ATmega8/88/168/328 based on the design and the firmware by [Dlloydev](https://github.com/Dlloydev/jtag2updi). The HV UPDI Programmer will enable you to use the additional configuration settings for the UPDI pin without the fear of getting locked out from the MCU. It features 3 programming modes: UPDI, HV or PCHV, with the target voltage at 5V.
93+
94+
![UPDI_HV_Programmer_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_HV_Programmer/UPDI_HV_Programmer_pic1.jpg)
95+
96+
## [UPDI HV Programmer Mini - ATtiny1604/1614](https://github.com/wagiminator/AVR-Programmer/tree/master/UPDI_HV_Programmer_Mini)
97+
Mini HV UPDI (High-Voltage Unified Program and Debug Interface) Programmer Stick for tinyAVR, megaAVR and AVR-Dx microcontrollers built on ATtiny1604/1614 based on the design and the firmware by [Dlloydev](https://github.com/Dlloydev/jtag2updi). The Mini HV UPDI Programmer Stick will enable you to use the additional configuration settings for the UPDI pin without the fear of getting locked out from the MCU. It features 3 programming modes: UPDI, HV or PCHV, with the target voltage at 5V.
98+
99+
![UPDI_HV_Programmer_Mini_pic2.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_HV_Programmer_Mini/UPDI_HV_Programmer_Mini_pic2.jpg)
100+
![UPDI_HV_Programmer_Mini_pic3.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/UPDI_HV_Programmer_Mini/UPDI_HV_Programmer_Mini_pic3.jpg)

SerialUPDI_HV_Programmer/LICENSE

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
2+
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send
3+
a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

SerialUPDI_HV_Programmer/README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# SerialUPDI HV Programmer based on CH340E and MT3608
2+
The simple and cheap High-Voltage Serial UPDI Programmer is a device designed specifically for tinyAVR microcontrollers. This programmer includes a target voltage selection switch that allows users to choose between 5V and 3.3V for their project needs. With this device, you can use the additional configuration settings for the UPDI pin without worrying about getting locked out from the MCU.
3+
4+
The programmer operates similarly to a standard SerialUPDI programmer and is compatible with popular development environments like the Arduino IDE, where it appears as "SerialUPDI". The device utilizes the CH340E USB-to-serial chip and the MT3608 Boost Converter IC to function. The CH340E chip allows the device to interface with a computer or other device through a USB connection, while the MT3608 Boost Converter IC generates the 12V pulse required for high-voltage activation of the UPDI pin.
5+
6+
![SerialUPDI_HV_Prog_pic1.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/SerialUPDI_HV_Programmer/documentation/SerialUPDI_HV_Prog_pic1.jpg)
7+
8+
# Working Principle
9+
The microcontrollers of the ATtiny 0-series, 1-series and 2-series typically have a limited number of GPIO (General-Purpose Input/Output) pins available for use. However, it is possible to obtain an additional GPIO pin by reprogramming the UPDI (Unified Program and Debug Interface) pin as such. The problem is, however, that the ATtiny can then no longer be reprogrammed via the UPDI interface.
10+
11+
To revert the GPIO pin back to an UPDI pin, a high-voltage activation is required immediately prior to reprogramming. Specifically, a short 12V pulse must be applied to the UPDI pin by the programmer. The SerialUPDI HV Programmer offers a solution to this problem by extending a standard SerialUPDI programmer with additional circuitry that automatically applies the required 12V pulse, allowing for the programming of an ATtiny even if the UPDI pin has been previously reprogrammed for a different purpose.
12+
13+
The required 12V for high-voltage activation is generated by using the low-cost MT3608 boost converter IC, along with some simple support circuitry. The 12V pulse is controlled via the RTS (Ready To Send) signal of the CH340E USB-to-serial chip. At the start of data transfer and thus programming, this signal is set to LOW. The signal drives the gate of a P-channel MOSFET, which in turn releases the 12V onto the UPDI line. A coupling capacitor between the RTS line and the MOSFET gate, in combination with a 10kΩ pullup resistor, ensures that the duration of the pulse is limited to about 150µs.
14+
15+
The SerialUPDI HV Programmer can be used as a replacement for a standard SerialUPDI programmer without requiring any further software modifications. A voltage selector switch allows users to select the target voltage between 3.3V and 5V. However, it is important to ensure that the target circuit that contains the ATtiny can handle a 12V pulse on the UPDI line. By the way, if the back of the board is not populated with components, the device works as a normal SerialUPDI programmer.
16+
17+
![SerialUPDI_HV_Prog_pic2.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/SerialUPDI_HV_Programmer/documentation/SerialUPDI_HV_Prog_pic2.jpg)
18+
![SerialUPDI_HV_Prog_pic3.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/SerialUPDI_HV_Programmer/documentation/SerialUPDI_HV_Prog_pic3.jpg)
19+
![SerialUPDI_HV_Prog_scope2.jpg](https://raw.githubusercontent.com/wagiminator/AVR-Programmer/master/SerialUPDI_HV_Programmer/documentation/SerialUPDI_HV_Prog_scope2.jpg)
20+
21+
# License
22+
![license.png](https://i.creativecommons.org/l/by-sa/3.0/88x31.png)
23+
24+
This work is licensed under Creative Commons Attribution-ShareAlike 3.0 Unported License.
25+
(http://creativecommons.org/licenses/by-sa/3.0/)
91.8 KB
Loading
127 KB
Loading
129 KB
Loading
113 KB
Loading
117 KB
Loading
166 KB
Loading
Binary file not shown.

0 commit comments

Comments
 (0)