Yet another ESP32 Programmer

Yes, you may have seen something like this before. There are a lot of projects of adapters for programming ESP32 and ESP8266 chips. Still, I decided to make my own, covering the features I thought needed for my projects while keeping it functional for others who may be interested in using this board.

What’s the idea behind such a board? When designing products around ESP32, if you won’t need the serial communication via USB, chances are you’ll only use the serial converter when you load the firmware to the ESP32. So, why not have this part of the circuit in another board? Saving space in the main board, and most importantly, reducing costs. All parts of this circuit would only need to be purchased once, instead of every single board you make.

This board acts as a USB to serial converter/bridge while providing power to the target ESP32 (3.3V or 5V available). And also, the famous auto-reset circuit for programming the Espressif chips. Let’s take a look at the board features before going on how it was developed:

  • USB-C Connector: totally overkill, but this.
  • ESD and overcurrent protection: a PTC fuse for overcurrent protection and TVS diodes for ESD.
  • USB-to-UART Bridge: the CP2104 is the star of this board, providing communication via USB with the target device.
  • 3.3V ~ 600mA regulator: more than plenty for this board.LEDs for power, and TX/RX lines.
  • Auto-reset circuit: needed for automatically programming Espressif devices without the need to enter manually boot mode.
  • Boot and Reset buttons: just in case, but you shouldn’t need it.

Let’s analyze the schematics, each section at a time to understand this really simple board: