Harsh truth about ESP-01 programming

Personally, I really like the whole ESP8266 family. It showed us that WiFI modules can be cheap, available and have great performance. But where there is delight, there is often disappointment.

Let's face it. ESP-01 is brilliant, compact, cheap... But programming and usage can be really inconvenient. Pinout in form of 2x4 pins can not be placed on breadboard without special adapter.

It can not be programmed without a special USB-serial converter. And even with converter you have to be careful about the power supply voltage. While ESP8266 tolerates 5V on GPIO pins, such supply voltage can damage IC. A lot of tinkering with cables, adapters, converters can effectively discourage. Probably that's why boards like NodeMCU or Wemos D1 were created.

Can I get a simple and enjoyable version, please?

Yes and no... This adapter allows you to easily connect ESP-01 and ESP-01S modules to the USB port. It solves several potential problems. ESP modules are properly powered by the built-in voltage regulator, the large capacitor provides enough current with proper filtering. The USB-serial converter makes communication possible. Cool! Let's program it! Not so fast!

Apparently someone forgot that in order to program ESP-01, you must first enter the programming mode. It is very simple, but again - inconvenient. To do this, simply short the GPIO0 to GND. This must be done while the module is starting and continue until the programming starts. A button or at least jumper would be nice.

Do you want a button? A small hack and you will have it!

The trick is to solder the tact switch in the right place so it shorts the legs connected to GPIO0 and GND. We chose an angled connector for several reasons. First of all, thanks to it we have a good access to the button. Secondly, we have them on stock all the time. Thirdly, the ESP-01 module in a vertical position - has a better range away from the converter PCB.

This little mod presents quite well and what is most important is functional and easy to use.