0
\$\begingroup\$

When programming the ESP32-CAM with an FTDI, I proceed as follows:

  1. Connect GPIO0 to GND.

  2. Reset the ESP32-CAM. (by cutting power)

  3. Run:

    python2 $(which idf.py) -p /dev/ttyUSB0 flash --baud 2000000
    

Afterwards, to monitor output:

  1. Remove GPIO0 from GND.

  2. Reset the ESP32-CAM. (as above)

  3. Run:

    python2 $(which idf.py) -p /dev/ttyUSB0 monitor
    

Is there a way to do all that without touching any cables or buttons?

Further information:

  • I reset by cutting power because the reset button is inaccessible with the ESP32-CAM on a breadboard.

  • I was hoping that the CTS or DTR pins on the FTDI could somehow be used. The ESP32-CAM will not be powered from the FTDI. It will be powered from an Adafruit 1000c booster, which has an enable pin.

\$\endgroup\$
  • \$\begingroup\$ OTA is the way to upload without touching the board. or the auto-reset circuit used on dev boards with USB \$\endgroup\$ – Juraj Nov 15 '19 at 13:41
1
\$\begingroup\$

I was hoping that the CTS or DTR pins on the FTDI could somehow be used. The ESP32-CAM will not be powered from the FTDI. It will be powered from an Adafruit 1000c booster, which has an enable pin

Indeed, this is possible.

You can use either the DTR or RTS pin to drive GPIOO, which is available as CSI MCLK on pin 6 of the same header 8 where you find the serial signals.

And you can use the other signal for the enable to your power supply.

esp-tool is python to begin with, and seems to manipulate these signals, so you could merely modify the code.

Or, if you want to continue to use them in the usual way, you could build a little adapter board to put between the FTDI and the ESP32-CAM, with the open collector transistor inverters as seen on the more common ESP dev boards with the CP210x interface.

But there is no need to modify the ESP32-CAM board itself.

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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