Introduction: Program ESP01 / ESP32 Cam Using FTDI

If you want to use the ESP8266 or ESP32-cam without buttons for programming, here is the configuration that you need!

Step 1: ESP8266: Normal Configuration With FTDI

We normally find this kind of wirings to program the ESP. This configuration has 2 buttons because when you want to upload the code, you must keep pressed the programming button and when the compilation is finished you must press the reset button some times until the upload starts.

You can do this without buttons.

Step 2: My Innovative Configuration

In this configuration when you switch on the board the ESP starts and when you want to upload a new code, automatically it controls the reset and the programming pins and when the upload is finished the ESP uses the new code.

In the diagram there is a 1uF capacitor because it filters the disturbances that can be crated when you connect and disconnect the USB.

Step 3: External Reset Button

With this diagram, in case of need you can press the button that restarts the ESP.

There are 2 diodes (1N4148) in OR configuration with 10K pull-up resistor to have the possibility to drive the reset both manually and via FTDI board.

Step 4: ESP32-CAM: Normal Configuration With FTDI

In this configuration as in the previuos ESP8266, you have to change the status of the programming pin and press the reset button already present in the board. But in this case there is a problem if you put the board on a breadboard: the button is not accessible because it is placed in the bottom and not anymore accessible.

Step 5: Creating External Reset

To control the ESP reset externally I connected a wire to the proper side of the button (the closest to the capacitor).

Step 6: My Configuration for ESP32-CAM

Now we can connect the ESP32-CAM to the FTDI.

Step 7: Esternal Reset Button

Also with this configuration you can use an external reset button in OR with the FTDI.

In this case there isn't any resistor because it is already present inside the board, the diodes are 1N4148.

Step 8: Final Circuit