If you've ever worked with the ESP32, you'll know that it does not have native USB. Most ESP32 development boards will include a USB to serial converter chip, like the CP2102N that you'll see on the Feather ESP32 V2. If you're working with a bare ESP32 though, or maybe doing some reverse engineering, what do you do?
Parts
I was in this position for a project I'm currently working on. I'm doing some reverse engineering on the Yoto Mini player, which uses an ESP32. I needed to access the chip over serial for programming and it would need to be repeatable. I wanted it to be non-destructive to the board yet stable and to use parts that I already had in my parts bin.
I decided to solder up the programming circuit to a 1/4 size perma proto that I could plug in a USB serial/FTDI cable. You don't need an FTDI cable here, you could just use a USB to TTL Serial Cable, but I always keep the FTDI cable in my desk drawer.
The Yoto Mini has the programming pins broken out at the top of the board, which is common for programming in manufacturing. However, the spacing and pad holes are too small for standard headers. I used a pair of 1.25mm matched cables with one side soldered to the programming header on the board and the other to the breakout. This will be easy to either leave connected to the Yoto Mini or desolder.
The ESP32 uses 3.3V, so I used a 3.3V Buck Converter breakout to step down the 5V from USB. I considered using a resistor divider but I had this breakout in my parts bin and it makes it really easy and stable.
I really like these soft tactile buttons in the shop, so I used them for the BOOT and RESET buttons.
You need a 10K resistor for the RESET button and I used pin headers to plug the FTDI cable into.
(The wire colors match the cable pair colors)
ESP32
- Enable (EN) to BOOT button (red wire)
- Reset (RST) to 10K resistor to RESET button (black wire)
- TXD to FTDI RX (yellow wire)
- RXD to FTDI TX (green wire)
- GND to FTDI GND (blue wire)
- 3.3V to TLV62569 3V (red wire)
FTDI/USB Serial
- GND to TLV62569 GND (black wire)
- GND to BOOT and RESET button GND (black wires)
- 5V to TLV62569 Vin (orange wire)
Use
Plug the cable pairs into each other to connect the ESP32 to the programmer breakout. Then, plug the FTDI/USB serial cable into the headers on the breakout. Plug the USB cable into your computer and you can use the BOOT and RESET buttons to get into bootloader mode to interface with the ESP32.
This page (Serial Programmer for ESP32) was last updated on January 13, 2026.
Text editor powered by tinymce.