Andrey Ovcharov

Professional Software Engineer and hobbyist Hardware enthusiast

Andrey Ovcharov

Universal ESP8266/ESP32 programmer

It’s quite a long time since the last update, but the summertime asks you to spend more time outside and I could not resist this call. Nevertheless, here’s the small project I made.

I often work with the devices based on different ESP8266 or ESP32 chips and modules and there is an obvious need in the universal programmer to handle the variety of connections I use.

So, I’ve traced a very simple board using the CP2102 USB to UART converter and packed it with the bunch of connectors. The reason for using this chip is quite simple - I have purchased five of them a long time ago but did not use so far.

For 3.3V output I am using cheap 1117 LDO chip. It’s maximum output current should be sufficient for ESP32 devices.

The schematic just follows the datasheet with one addition - the circuitry for automatic programming without the need to press any buttons. One button is added though - sometimes I need to reset the device and it’s quite handy to do that with a button.

The device can be used for programming popular ESP-01 and ESP-12 modules. However, some spring loaded pins should be soldered to use with the ESP-12.

For my ESP32 based devices like URU Key and URU Card, there is a normal 6pin connectors and 6 spring loaded pins.

The device overall is very simple and cheap. It uses widely available components. CP2102 chip can be replaced with CP2109, unneeded connectors can be omitted. After soldering the device starts to work immediately and does not require any tuning, flashing or adjustments.

All the files for this project are available in my GitHub repository.