ESP32 Cam in 30 Seconds
- The ESP32 Cam is a developer board (Dev Board) based on an ESP32 microcontroller and a camera, used for capturing photos and videos.
- There are different ESP32 Cam boards from various manufacturers with varying features.
- All ESP32 Cam boards have WiFi capabilities and can live stream video.
- Many ESP32 Cam boards come with a Micro SD slot for storing photos and videos.
- The ESP32 Cam commonly uses the OV2640 camera module, with the OV7670 or OV3660 being less common.
- Some ESP32 Cam boards do not have a USB port – in such cases, the code needs to be uploaded using an FTDI or an ESP32-CAM-MB.
What is ESP32 Cam?
The ESP32 Cam is an ESP32 developer board that is equipped with an additional camera.
This means that we get the wireless interfaces known from the ESP32 such as WiFi and (depending on the ESP32 chip used) also Bluetooth plus a camera function with which you can take photos or videos.
The whole thing is available at a fabulous price – it has never been cheaper and easier to make spy tools 🕵🏻♂️
There are now various ESP32 Cam Board models. A 2 megapixel OV2640 camera module is almost always installed. These are usually supplied with a small flex cable.
There are separately available camera modules with longer cables or a fisheye lens. The fisheye lens captures a larger area, which is very useful for surveillance projects, for example.
Some ESP32 Cam Boards are directly equipped with a micro SD card slot. This allows you to save photos and videos directly and reuse or edit them later.
Some boards have usable GPIO pins that can be accessed via solder pads. This allows additional functions to be added to the board.
Some boards even have very special functions. Have a look at the overview table with the ESP32 Cam boards that I found.
Which ESP32 Cam Boards are available?
There is a variety of ESP32 Cam boards available on the market, differing in features, price, and performance. Here are some of the models I could find at the time of researching this article, without claiming to be exhaustive:
ESP32 Cam Model Overview
|AZ Delivery ESP32 Cam||FREENOVE ESP32-WROVER CAM||FREENOVE ESP32-S3-WROOM CAM||ESP-EYE v2.1||ESP32-S3-EYE||ESP32 PSRAM Timer Camera||ESP32 PSRAM Timer Camera X||Unit Cam Wi-Fi Camera||ESP32CAM-PSRAM FishEye||T-Journal||T-Camera S3||T-Camera Plus|
|Preis||14,99 EUR||18,95 EUR||22,95 EUR||24,04 EUR||56,32 EUR||15.95 USD||17.95 USD||10.95 USD||9.95 USD||15.61 USD||17.31 USD||15.49 USD|
|Produktlink||Amazon Link*||Amazon Link*||Amazon Link*||Amazon Link*||Amazon Link*||Link||Link||Link||Link||Link||Link||Link|
|Onboard Bildschirm||❌||❌||❌||❌||1.3” LCD display||❌||❌||❌||❌||0.91"||0.96" OLED||1.3" OLED|
|Batterie Anschluss||❌||❌||❌||❌||✅||✅||✅||❌||Solder Pads||✅||✅||✅|
|USB-Port zur Programmierung||❌||✅||✅||✅||✅||✅||✅||❌||✅||✅||✅||✅|
|IPEX Antennen Stecker||✅||❌||❌||✅||❌||❌||❌||❌||❌||❌||❌||✅|
|Sonstiges||Accelerometer z.B. für Drehung des Bildschirms||Speziell für Deep Sleep und Aufwachen per Timer Steuerung ausgelegt||Wie ESP32 PSRAM Timer + Gehäuse||Externe WiFi Antenne||eingebauter Bewegungssensor|
Funktioniert am besten, wenn du das Handy im Querformat hältst.
Which camera does the ESP32 Cam use?
Espressif currently (as of November 2023) offers 14 camera drivers for the ESP32, as indicated in this GitHub document. In theory, these camera modules can be used with the ESP32.
Some camera modules are available as breakout boards and can be connected to an existing, regular ESP32 or Arduino.
Completed ESP32 Cam boards typically use the OV2640 camera module. I found one board that uses the OV3660 by default. This camera has a higher resolution than the OV2640.
The OV7670 camera module also appears frequently in tutorials. This camera has a lower resolution than the OV2640, as you can see in the following table:
Most Used ESP32 Camera Modules
|Auflösung||1600 × 1200 (UXGA)||640 × 480 (VGA)||2048 × 1536 (QXGA)|
|Video FPS||1600×1200 @ 15 fps|
800×600 @ 30 fps
288×352 @ 60 fps
|640×480 @ 30 fps||2048×1536 @ 15fps
1920×1080 @ 20fps
1280×720 @ 45fps
1024×768 @ 45fps
640×480 @ 60fps
320×240 @ 120fps
Funktioniert am besten, wenn du das Handy im Querformat hältst.
The camera modules are usually connected via a 24-pin flex cable. Additionally, it includes a built-in JPEG encoder, increasing the transmission speed by compressing images to a smaller size before sending them to the ESP32.
What else do I need for the ESP32 Cam?
To work with an ESP32 Cam board, the following components are needed:
ESP32 Cam Power Supply
A 5 volt power supply is required. You can use a wall adapter or a power bank for this purpose. It’s also a good idea to check out my article on power supply for the ESP32 and Arduino. I’ve extensively covered the topic of power supply there, and what applies to the ESP32 also applies to the ESP32 Cam. Well, almost, because…
… although the ESP32 natively runs on 3.3 volts, there is an official notice from the manufacturer AI Thinker that the ESP32 Cam board can only be operated stably with 5 volts.
This may of course not apply to other boards. It’s best to look at the instructions from your board manufacturer. Or you could just use 5 volts, then nothing should go wrong.
If your board has an SD card slot, you can directly store images and videos on the SD card.
Information regarding the maximum compatible SD card capacities can vary. The AI Thinker board documentation specifies a maximum of 4GB. However, there are reports of successful tests using 64GB cards as well.
FTDI or USB-to-TTL Adapter or ESP32-CAM-MB Programmer
If the ESP32 Cam does not have a USB port, you will need an FTDI or an ESP32-CAM-MB board. I will go into more detail on this topic further below.
For the FTDI board or if you want to use the GPIO pins of the ESP32 Cam board, jumper cables are needed.
To program the ESP32 Cam, the Arduino IDE or PlatformIO with VS Code is suitable. How to connect the ESP32 in both environments is described in this article, where I compare PlatformIO and the Arduino IDE.
Arduino IDE vs. PlatformIO
Can the ESP32 Cam be used without an SD card?
Yes, the ESP32 Cam board can be used without an SD card. However, in that case, storing photos or videos is not possible. Even without an SD card, the ESP32 Cam board is still capable of sending live video streams.
Furthermore, additional code could be stored on an SD card to expand the internal memory of the board, which allows for larger applications and projects.
What are FTDI, USB-TTL, or ESP32-CAM-MB?
In the comparison table above, you can see that there are some ESP32 Cam boards that do not have a USB port. This is the case, for example, with the widely used ESP32 Cam from AI Thinker. Then you need what’s called an FTDI USB adapter or a USB-to-TTL adapter to load code onto the board.
What is an FTDI and a USB-TTL adapter?
FTDI is actually the name of a company that specializes in USB solutions. I assume they produce the chips that are used on USB-TTL adapters. Therefore, these adapters are often called FTDI.
FTDI adapters and USB-TTL adapters are essentially the same thing.
By the way, you can also use an Arduino as an FTDI. So, if you have an Arduino lying around, you don’t necessarily need an FTDI or USB-TTL adapter.
- ✅ Der USB-Serial Adapter ist einer der meistbenutzten der am Markt befindlichen Konverter. Dies liegt u.a. daran, dass ein signierter Treiber bei…
- ✅ Für den AZDelivery Kompitabel mit FT232-AZ Adapter sind keine zusätzlichen Treiber erforderlich und das Logic-Level ist über die auf dem Board…
- ✅ Auch bei der Verwendung mit Linux erfreut sich der AZDelivery Converter größter Beliebtheit.
What is an ESP32-CAM-MB?
Programming is even easier with something called an ESP32-CAM-MB board. This is essentially an additional board that fits exactly underneath the ESP32 Cam like a shield and extends it with a USB port.
I suspect that an ESP32-CAM-MB is nothing more than a USB-TTL adapter built in.
Often the ESP32 Cam is offered with an additional ESP32-CAM-MB board.
The advantage of an FTDI adapter is that it can also be used for other microcontrollers. For example, the Arduino Pro Mini also does not have a USB port – here, an FTDI must be used too. In contrast, the ESP32-CAM-MB is specifically designed for the AI Thinker ESP32 Cam board.
In this article, you have learned all the basic information about the ESP32 Cam board. In the comparison table, you can find 12 current boards. With this information, you should be able to pick the right board for your needs.
The board from AI Thinker is widely used, and there are many tutorials available for it. This board is often rebranded and resold. That’s why this ESP32 Cam board is available from many different suppliers such as AZ Delivery, diymore, XTVTX, etc.
However, the AI Thinker board has the disadvantage that you need an additional FTDI or ESP32-CAM-MB to load code onto the board. Therefore, I recommend opting for offers that come with an ESP32-CAM-MB. This makes programming the ESP32 Cam the easiest.
From the boards in the table, the LILYGO products seem to me to be the most attractive. However, it’s somewhat unclear which GPIO pins can still be used with them. If you don’t need additional GPIO pins, you should take a look at these boards.
I also find the ESP32 PSRAM Timer Camera from M5Stack very appealing. Although it offers the best resolution of the boards listed here, it remains price-wise in the same segment as the classic AI Thinker model.