ESP32-CAM: Machine Vision Tips, Camera Guides and Projects

Published by Lee Jackson on

ESP32-CAM: Specification, Pinout and User Guide

esp32 cam pinout

ESP32-CAM Specs

Module ModelESP32-CAM
PackageDIP-16
Size27*40.5*4.5 mm
SPI FlashDefault 32Mbit
RAM520KB SRAM +4M PSRAM
BluetoothBluetooth 4.2 BR/EDR and BLE standards
Wi-Fi802.11 b/g/n/
Support interfaceUART/SPI/I2C/PWM
Support TF cardMaximum support 4G
IO port9
UART BaudrateDefault 115200 bps
Image Output FormatJPEG( OV2640 support only ), BMP, GRAYSCALE
Spectrum Range2412 ~2484MHz
AntennaOnboard PCB antenna, gain 2dBi
Transmit Power802.11b: 17±2 dBm (@11Mbps)
802.11g: 14±2 dBm (@54Mbps)
802.11n: 13±2 dBm (@MCS7)
Receiving SensitivityCCK, 1 Mbps: -90dBm
CCK, 11 Mbps: -85dBm
6 Mbps (1/2 BPSK): -88dBm
54 Mbps (3/4 64-QAM): -70dBm
MCS7 (65 Mbps, 72.2 Mbps): -67dBm
Power DissipationDeep-sleep: [email protected]
Moderm-sleep: [email protected]
Light-sleep: [email protected]
SecurityWPA/WPA2/WPA2-Enterprise/WPS
Power Supply Range5V
Operating Temperature-20 °C ~ 85 °C
Storage Environment-40 °C ~ 90 °C, < 90%RH
Weight10g

Quick sum-up about the ESP32-CAM:

  • The board is powered by an ESP32-S SoC from Espressif, a powerful, programmable MCU with out-of-the-box WIFI and Bluetooth.
  • It’s the cheapest (around $7) ESP32 dev board that offers an onboard camera module,   MicroSD card support, and 4MB PSRAM at the same time.
  • Adding an external wifi antenna for signal boosting requires extra soldering work.
  • The board does not have a conventional USB port, you will have to use either an FTDI programmer, or an add-on HAT, or an Arduino UNO along with the Arduino IDE/ESP-IDF DEV tools to upload codes to it.
  • Being a low-cost board in a small enough form factor has made it extremely popular for many IoT and machine vision applications.
  • The outdated spec sheet and many tutorial pages say that the ESP32-CAM only supports two camera modules (OV2640 & OV7670), while in fact you can use many cameras with it, simply scroll down for more details.

ESP32-CAM Datasheets

Getting Started with ESP32-CAM (Full Guide)

getting started with your esp32 cam

First time using ESP32-CAM? DroneBotWorkshop has a good tutorial you can follow.

Top 4 problems developers have with the ESP32-CAM

issues with the ESP32 CAM

Maximum SD Card Size Supported

The datasheet states that the ESP32-CAM can support up to 4GB, but a fellow Redditor have tried a 64GB card and it worked pretty well.

Local Image Classification

Using the latest TinyML models, the ESP-32 CAM is capable of doing on-device machine learning tasks like image classification, person detection, etc. Check the tutorials section for more details.

Capturing RAW Images at Maximum Resolution

The OV2640 sensor itself supports RAW data format, and since it’s also got a whopping 4MB external PSRAM, getting uncompressed images at a 1600 x 1200 resolution is totally eligible as long as the camera is properly configured.

5V or 3.3V Input

ESP-32 CAM has two input power pins, and by default, the board takes 3.3V, chances are that if you try to use the OV2640 under 3.3V, the board can become unstable with errors or images having colored lines. 5V input is recommended.

The onboard camera (OV2640) Variants: Fisheye, Night Vision, Extension Cable, etc.

best ov2640 cameras for esp32 cam

Although the ESP32-CAM can be a good bargain and has big potential for IoT-related projects, it’s not a perfect board, especially on the camera part, the 2MP OV2640 camera that comes with it has quite some limitations.

Narrow field of view: The lens on the stock module only provides a 65-degree FoV, which is far less than what we actually need for home/desk bench/etc. monitoring projects.

Short Cable Length: The ribbon of the stock camera is just way too short to let anyone change the orientation of the camera without rotating the board.

Inability for Night Vision: If you want to use IR LEDs with the camera together for low light or night vision projects, there’s no other way but to manually unglue/unscrew the lens and remove the IR-blocking filter from the bottom. Doing so will also put you at risk of damaging the lens or getting dust on the surface of the image sensor.

For the ESP32-CAM, Arducam decides to tackle these problems with three infallible solutions.

OV2640 Module w/ Multiple Lens Options

The Arducam wide-angle OV2640 camera series is a perfect supplement for projects that need to have the ESP32-CAM in much wider FoVs.

OV2640 VersionAvailable FoV
Stock Camera65 °C
Arducam OV2640 Camera100/120/140/170 °C

Various Cable Lengths

For ease of project development, we also have the OV2640 camera in many different cable lengths.

OV2640 VersionLength
Stock Camera21 mm
Arducam OV2640 Camera40/60/100/189 mm

NoIR OV2640 Modules

And to save the trouble of manual removal, OV2640 cameras manufactured without the IR-Cut filter can also make the ESP32-CAM a more flexible MCU for the maker community.

OV2640 VersionIR-Sensitive
Stock CameraNo, Visible Light Only
Arducam OV2640 CameraYes, Visible Light/Infrared

Multiple Cameras with one ESP32-CAM Board

using 4 cameras with the ESP32 CAM

Two years ago we designed a board with the same ESP32-S module and managed to have our multi-camera adapter board work with it to successfully put four OV2640 cameras on it. That same quad-camera setup can work with the ESP32-CAM as well.

Learn more about it here:

arducam-iotai-esp32-camera-module-arduino-uno-r3-board

Introducing Arducam IoTai – The Ultimate IoT (Internet of Things) Board with Camera Support, Based on ESP32 and in the Shape of Arduino UNO

IoT Platform with ESP32 If you are interested in maker boards and IoT projects, you must have heard of ESP platforms such as the ESP-32 series. Considering the Wifi and Bluetooth features integrated, it is Read more…

1 comment

ESP32-CAM: Compatible Camera List

esp32 cam compatible camera list

Aside from the two officially supported cameras, the Espressif’s camera repository offers driver support for a total of 9 image sensors that are compatible with the ESP32-CAM, yet with Arducam’s solutions, you can use it or any ESP32 based dev board with dozens of camera modules!

Here’s a complete list of cameras you can use with the ESP32-CAM:

SensorResolutionLens Size
OV26402MP, 1600 x 12001/4″
OV36403MP, 2048 x 15361/4″
OV36603MP, 2048 x 15361/5″
OV56405MP, 2592 x 19441/4″
OV76700.3MP, 640 x 4801/6″
OV7725
0.3MP, 640 x 480
1/4″
NT991411MP, 1280 x 7201/4″
GC032A0.3MP, 640 x 4801/10″
GC03080.3MP, 640 x 4801/6.5″
GC21452MP, 1600 x 12001/5″

Machine Vision/Learning on ESP32-CAM: Resources and Tutorials

esp32 machine vision and machine learning tutorials

Tiny Machine Learning Resources for ESP32-CAM

ESP32-CAM Machine Learning/Vision Tutorials

Projects based on ESP32-CAM

Categories: esp32-cam

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *