arrow icon) and – after a short wait – your code should
be on your board. There’ll be a message in the black
box at the bottom of the screen saying that the upload
was successful (or not). You can now unplug the IO0 to
GND connection but leave everything else connected
for now. Open the serial monitor in the Arduino IDE,
set the baud rate to 115200 (bottom-right corner), and
press the reset button on the ESP32-CAM.
In the serial monitor, you’ll see a bit of debug code
followed by something like:
Camera Ready! Use ‘http://x.x.x.x’ to connect
If you point a web browser to that URL, you’ll see the
camera control page. Press ‘Start stream’ to see the
output of the camera.
For a cheap IP webcam, this works well if you’re
happy using the Arduino IDE to upload credentials.
You can get streaming output at up to 1284×1024
pixels (we got a frame rate of about 6 fps at this size,
and faster at smaller sizes). The fact that it outputs
data in a standard format, and so works well with
open-source IoT hubs, is a bonus. There’s also some
rudimentary face recognition, but we found this to
be quite unreliable.
The cooling on the board does struggle if you’re
streaming continuously. The board gets very warm,
and some users report it stopping working. We’d
expect this to be a bigger problem if the unit is
enclosed, so if you plan to use a case of some sort,
you may need to take this into account with a heat
sink or even a fan.
UNDER THE HOOD
Getting to this point has been a little fiddly, but not
too complex for anyone familiar with microcontrollers;
however, going further can be a bit more complex.
In principle, you should be able to integrate this
camera with your projects in all sorts of ways.
There is a library for basic image gathering
available at hsmag.cc/ulc0JF, and an image
recognition framework at hsmag.cc/uHtRDf.
Both of these are designed to work with the ESP
Integrated Development Framework (IDF), but can
be got to work with Arduino if you would rather
program in that way. You will need to be fairly
comfortable in C programming to have a reasonable
chance of success in developing with these.
Hobbyists used to dealing with user-friendly wrapper
libraries may struggle.
Right
The same code can
run on other ESP32-
based camera kits,
such as the ESP32
M5Stack, which
is slightly more
expensive but can
run off a LiPo battery
REGULAR
Direct From Shenzhen