Build a UPDI programmer from a USB to UART adaptor

To build a Unified Program and Debug Interface (UPDI) programmer1, I started with a USB-2TTL “USB to TTL Serial Communication Conversion Module” from eBay. The chip on the board is a CH342. This is a USB-to-UART/TTL adapter utilising a chip manufactured by WCH (Jiangsu Qinheng Microelectronics), which provides a USB-C interface. The latest drivers for the CH family of chips are available for download on the WCH website.

I chose the two-channel version of the USB-TTL converter so that I can use the second channel as TTL UART (RS232) or RS485 in the future.

To build my adaptor, I am using the following components:

  • 1N5817 Schottky Diode.
  • 1 kΩ 1/4 W resistor.
  • 470 Ω 1/4 W resistor.
UART to UPDI interface schematic
UART to UPDI interface schematic2.

Disabling the TX and RX LEDs

Due to the way that the TX and RX LEDs are populated on the USB-2TTL board, we need to disable them on the channel that we are converting to UPDI. I converted UART1; these LEDs are the two closest to the yellow voltage selection jumper.

There are several ways of disabling the LEDs; I went with removing the current-limiting resistors, using a soldering iron and a pair of tweezers.

Wiring up the UDI cable

The three components were wired up as per the schematic above, using Dupont wires as the cables to interface between the USB-to-UART/TTL adapter and the microcontroller (in this case, an ATtiny 1614)

Checking it works

I will cover the Arduino IDE settings for the ATtiny 1614 in a second post.

  1. Not as Adafruit call it “Unusually Playful Device Interfacer”
  2. The colour codes I have used (RD, BN, YE, and BK) are from DIN 47100. It is very useful to use the codes when drawing or making cable harnesses.

Leave a Reply

Your email address will not be published. Required fields are marked *

The maximum upload file size: 20 MB. You can upload: image, audio, video, document, spreadsheet, interactive, text, archive, code, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop files here