Add-On Makes ESP32 Camera Board Easier To Program

Don’t you just hate it when dev boards have some annoying little quirk that makes them harder to use than they should be? Take the ESP32-CAM, a board that started appearing on the market in early 2019. On paper, the thing is amazing: an ESP32 with support for a camera and an SD card, all for less than $10. The trouble is that programming it can be a bit of a pain, requiring extra equipment and a spare finger.

Not being one to take such challenges lying down, [Bitluni] has come up with a nice programming board for the ESP32-CAM that you might want to check out. The problem stems from the lack of a USB port on the ESP32-CAM. That design decision leaves users in need of a USB-to-serial adapter that has to be wired to the GPIO pins of the camera board so that programs can be uploaded from the Arduino IDE when the reset button is pressed. None of that is terribly complex, but it is inconvenient. His solution is called cam-prog, and it takes care of not only the USB conversion but also resetting the board. It does that by simply power cycling the camera, allowing sketches to be uploaded via USB. It looks to be a pretty handy board, which will be available on his Tindie store.

To demonstrate the add-on, he programmed his ESP32-CAM and connected it to his enormous ping pong ball video wall. The video quality is about what you’d expect from a 1,200 pixel display at 40 mm per pixel, but it’s still pretty smooth – smooth enough to make his interpretive dance moves in the last few minutes of the video pretty interesting.

16 thoughts on “Add-On Makes ESP32 Camera Board Easier To Program

    1. I bought a batch of boards packaged with camera modules labeled as ‘esp32cam’ recently, and tried everything to get the reset to trigger enough to write any sketch via the ide, and was only successful about 3 times after 10 hours of all the possible tricks and wiring combinations / timing, and even then I wasnt able to get the damn camera modules to work. These were of course the dirt cheap chinese copycat boards from amazon, so I had a feeling it wouldn’t be smooth, but after that many hours with multiple ftdi/uart to usb methods and hardware I’m still left wondering what combination of rubbing my head + patting my back + holding and releasing multiple wires to various pins actually did the trick those few times I wrote to the boards….esp32 has a bad taste in my mouth now. I figured out of the 5 boards I got, surely one of them could be reliable…i was wrong in this case! Background: not a novice to programming esp8266 / atmega chips, let alone mcu boards…just saying. If I ever buy more, I’ll get it straight from the factory, but eh…

  1. I program the ESP32 cams with just the FTDI adapter and DuPont wires. As this board has 2 GND’s, just connect 1 to the programmer, and 1 to the flash pin. Then plug in the USB of the FTDI adapter and you’re done. Bitluni has some great ESP solutions, but I don’t see why this is one of them.

    1. Similar here; FTDI adaptor, half-length protoboard, Dupont wires. One thing I have that’s helped is two momentary switches (micro pushbuttons) on a piece of PC board with header pins to plug into the protoboard. I wire one pushbutton for reset, one to go into flash mode. Easy peasy.

      1. Ok, in fairness I should mention that for reset I’m power-cycling (switch on the power supply). So in this case I am actually not wiring an external reset button. (play video of people slapping foreheads)

    2. I’ve seen two obvious things wrong with most of these camera boards – not only no programming interface, but also no power connector. So instead of just plugging it into a USB cable, you have to either solder wires onto the board, or add the headers if they’re not there and plug into a breadboard or do something in that general space. During development/programming, that’s not a problem, but for actually deploying these things, e.g. to put a camera next to the bird nest on the porch, it would be much simpler to just use USB or LiPo power.

  2. When I first read the title, I was thinking that someone made a programmer board with a servo to press the reset button.. haha but how reliable is power cycling? Can a relay do that? If it is just taking a pin hi/lo, my ftdi board has a DTR pin.. Is that an out or in?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.