Loading files…
The smallest USB Type-C Serial UPDI programmer for your projects. Available for purchase on Tindie or Lectronz!
UPDI is a proprietary programming interface developed by Atmel/Microchip, similar to the JTAG/SWD interfaces used for ARM microcontrollers. It's the default programming interface for several newer AVR microcontrollers, including models like the ATTINY212, ATTINY412, ATTINY414, etc. It only requires a single pin for programming, so it's more convenient and efficient.
No installation required, it is Plug&Play with the majority of operating systems since the CH340x is a commonly used USB-to-serial converter.
If you use avrdude to program your UPDI compatible AVR microcontrollers, you simply need to specify serialupdi as the programmer:
avrdude -c serialupdi -p t414 -P /dev/tty.usbserial-10
Make sure to specify the correct serial device: on Linux devices, NanoUPDI might show up as /dev/ttyUSBX, while on MacOS it might show as /dev/tty.usbserial-XX.
To use NanoUPDI with the Arduino IDE, first install the megaTinyCore board support package, then choose Serial UPDI as the programmer in the dropdown menu.
For a browser-based programming option, you can use WebUPDI — a lightweight tool that runs entirely in your browser with Web Serial API support. Simply connect your NanoUPDI, select your target device, and flash firmware without installing any additional software. Works on Chrome, Edge, Opera and other Chromium-based browsers.
If you want to open and modify the original project in Kicad 8 (>=8.0.6), you can find both the .kicad_sch and .kicad_pcb files in the kicad folder in this repository. I recommend you use the latest Kicad 8 version available for better compatibility.
If you want to fabricate your own PCBs from a PCB manufacturer of your choice, you can go ahead and download the Gerber-v2.x.zip file from the gerber folder in this repository. Upload it or send it to the PCB fabrication house and select the following specifications (if not already filled out):
Included in this repository is the HTML BOM (ibom.html) to help you in the assembly/soldering process after you received your PCBs. You can access the Interactive HTML BOM here, without having to download the .html file. Also, here is the list of components you will have to source and solder yourself:
| Reference(s) | Value | Footprint | LCSC Part # | Qty |
|---|---|---|---|---|
| C1, C4, C5 | 100nF 50V 10% X7R | C_0603_1608Metric | C14663 | 3 |
| C2, C3 | 10uF 10V 10% X7R | C_0805_2012Metric | C237493 | 2 |
| R1, R2 | 5k1 1% | R_0402_1005Metric | C25905 | 2 |
| R3, R6 | 470R 1% | R_0402_1005Metric | C25117 | 2 |
| R4 | 0R 1% | R_0603_1608Metric | C21189 | 1 |
| R5 | 1k 1% | R_0402_1005Metric | C11702 | 1 |
| D1 | 1N4148 | D_SOD-523 | C727112 | 1 |
| D2 | EMERALD/GREEN | LED_0603_1608Metric | C965804 | 1 |
| D3 | RED | LED_0603_1608Metric | C965799 | 1 |
| U1 | CH340E | MSOP-10_3x3mm_P0.5mm | C99652 | 1 |
| SW1 | MSK12C02 | MSK12C02 | C431540 | 1 |
| FB1 | 220R @ 100MHz | L_0805_2012Metric | C85840 | 1 |
| USB1 | USB_C_Receptacle_USB2.0 | TYPE-C-31-M-12 | C2988369 | 1 |
| VREG1 | AP2112K-3.3 | SOT-23-5 | C51118 | 1 |
| J1 | Conn_01x03 | PinHeader_1x03_P2.54mm_Vertical | C92159 | 1 |
If you're looking for a NanoUPDI programmer that's already assembled and ready to go, I offer a prebuilt option that's perfect for those who want a plug-and-play solution without the hassle of sourcing and assembling components. Each unit is handcrafted and fully tested before shipping. Check it out on my Tindie store or on Lectronz.
No comments yet. Be the first to ask about this board.