Can we just use an ESP32 NodeMCU for example to program an ESP32-CAM? I saw a lot of people programming ESP32-CAM using an arduino Uno, can we do the same for ESP32 NodeMCU? Of course, in the "Arduino as ISP" programming mode. If we can, is there anything more that I need? if not, why? and are there any other solutions to program it?

Moreover, I want to use ESP-IDF which is better than using the Arduino GUI app.

  • "Arduino as ISP" is something very different
    – Juraj
    Commented Mar 30, 2020 at 16:24
  • I really dont even know what to do man. I really need help, sometimes when I power it up (ESP32-CAM) the LED does not even turn on, even if I press the reset button, I am so confused, it only lights up when I give it electricity from the FTDI, I think this board is broken or something... Commented Mar 30, 2020 at 16:37
  • you can't power an esp32 from FTDI 3.3 V pin. it can't provide enough current
    – Juraj
    Commented Mar 30, 2020 at 16:42
  • Well, It actually worked fine, the led was flashing, but when I connect IO0 to GND, the flashing stops. If you have any video that explains ESP32-CAM very well, please notify me, it is one of these two: 1. The chip is not genuine. 2. I have a bad understanding about the chip. Commented Mar 30, 2020 at 17:19
  • it is 2. but please read arduino.stackexchange.com/tour
    – Juraj
    Commented Mar 30, 2020 at 17:26

2 Answers 2


I have discovered how to use the ESP32 NodeMCU as a serial interface. In other words, make the ESP32 traverse ALL of the serial communication to the TX & RX pins directly without any interference. When you press the "RST" (Reset) button, it turns off, but when you release your finger, it will turn on. However, when it is turned off, it traverses all the serial communication to the TX & RX pins, which can then be used to program and contact with the ESP32-CAM. Of course, you can't keep pressing the "RST" button all the time, instead connect the "En" (Enable) pin to GND which will then disable the 3.3 voltage regulator (Same as if you were pressing the "RST" button), in other words, turns the ESP32 off. And then, connect any two GND pins together from both of the ESP32's. At last, upload your program to the ESP32-CAM.


All you need to program any ESP32 (Cam or not) is a serial interface. How you make that serial interface is up to you.

Most ESP32 development boards have a USB to UART converter on them which you can use just like on an Arduino - keep the ESP32 you're using for the programming in RESET so it doesn't try and respond on the UART.

You could also program the "programmer" ESP32 as a UART passthrough to connect the USB UART through to the other UART so you don't need to mess with holding in RESET.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.