Close Menu
  • Articles
    • Learn Electronics
    • Product Review
    • Tech Articles
  • Electronics Circuits
    • 555 Timer Projects
    • Op-Amp Circuits
    • Power Electronics
  • Microcontrollers
    • Arduino Projects
    • STM32 Projects
    • AMB82-Mini IoT AI Camera
    • BLE Projects
  • IoT Projects
    • ESP8266 Projects
    • ESP32 Projects
    • ESP32 MicroPython
    • ESP32-CAM Projects
    • LoRa/LoRaWAN Projects
  • Raspberry Pi
    • Raspberry Pi Projects
    • Raspberry Pi Pico Projects
    • Raspberry Pi Pico W Projects
  • Electronics Calculator
Facebook X (Twitter) Instagram
  • About Us
  • Disclaimer
  • Privacy Policy
  • Contact Us
  • Advertise With Us
Facebook X (Twitter) Instagram Pinterest YouTube LinkedIn
How To Electronics
  • Articles
    • Learn Electronics
    • Product Review
    • Tech Articles
  • Electronics Circuits
    • 555 Timer Projects
    • Op-Amp Circuits
    • Power Electronics
  • Microcontrollers
    • Arduino Projects
    • STM32 Projects
    • AMB82-Mini IoT AI Camera
    • BLE Projects
  • IoT Projects
    • ESP8266 Projects
    • ESP32 Projects
    • ESP32 MicroPython
    • ESP32-CAM Projects
    • LoRa/LoRaWAN Projects
  • Raspberry Pi
    • Raspberry Pi Projects
    • Raspberry Pi Pico Projects
    • Raspberry Pi Pico W Projects
  • Electronics Calculator
How To Electronics
Home » Getting Started with ESP32 CAM Board & Video Streaming Over WiFi
ESP32-CAM Projects

Getting Started with ESP32 CAM Board & Video Streaming Over WiFi

Mamtaz AlamBy Mamtaz AlamUpdated:June 1, 20236 Comments8 Mins Read
Share Facebook Twitter LinkedIn Telegram Reddit WhatsApp
ESP32 CAM Getting Started & Video Streaming
Share
Facebook Twitter LinkedIn Pinterest Email Reddit Telegram WhatsApp

Overview

This is a Getting Started Tutorial with ESP32 CAM Board as well as Video Streaming Over WiFi. The ESP32-CAM is a small camera module with the ESP32-S chip that costs approximately $10. Besides the OV2640 camera and several GPIOs to connect peripherals, it also features a microSD card slot that can be useful to store images taken with the camera.

In this tutorial, we will go through its features, pins description, and the method to program this device using FTDI Module. Also, we will see the beginner guide on setting up Arduino IDE for the ESP32 Camera Module. We will then use the ESP32 CAM basic example code for Video Streaming Over Wifi.

A powerful alternative to ESP32-CAM is Realtek AMB82-Mini IoT AI Camera Board which is fast reliable and secure.



The ESP32 CAM Getting Started Tutorial is very important because we will be doing so many projects using this Module. The project includes Streaming Live Video Online Worldwide, Smart Door Bell or Surveillance cameras. Apart from these, we can also make Face Recognition System based projects for Security Applications as well as Color Detection Project using OpenCV.


Bill of Materials

Following are the list of components for Getting Started with ESP32 CAM Board. You can purchase all the components online from Amazon.

S.N.ComponentsQuantityPurchase Links
1ESP32-CAM Board AI-Thinker1Amazon | AliExpress
2FTDI Module1Amazon | AliExpress
3Micro-USB Cable1Amazon | AliExpress
4Jumper Wires10Amazon | AliExpress

Introducing the ESP32-CAM

The ESP32-CAM is a very small camera module with the ESP32-S chip. The module has an OV2640 camera. It also has several GPIOs to connect peripherals. The ESP32-CAM module is developed by so many manufacturers but the board developed by AI-Thinker is the most popular one.

The controller is based on a 32-bit CPU with a frequency of up to 240MHz. It has a built-in 520 KB SRAM with an external 4M PSRAM. It has a combined 802.11b/g/n Wi-Fi + Bluetooth/BLE SoC module. It supports image WiFI upload and Embedded Lwip and FreeRTOS. There is an onboard voltage regulator IC and a PSRAM Chip.


The board has a single reset button and is breadboard friendly. But if you place the Module on the breadboard, you won’t have access to the Reset button as it’s placed at the bottom. So, it is recommended to use jumper wires while connecting any sensors or modules with the Board. There is an LED on the board that can be used as an indication.

This module has already an antenna attached. But if you want to use an external antenna of better power and better range, you can connect an antenna to the IPEX connector. To use that antenna, you need to connect a jumper or a zero-ohm resistor on the PCB near the Antenna.


OV2460 Camera

The most important part of ESP32 CAM is the Camera Module. The Camera Module that you can use is the OV2640 Camera Module which has a 24 Pin Camera Holder. It has the highest Camera Resolution up to 1600 × 1200.

There is a gold-plated connector strip. Using this connector, you can connect this camera with the ESP32. To connect it, push this slide in opposite direction. And then you will see the pins for connecting the camera. Simply insert the camera marked with a gold plate at the bottom side and then pull this slide. Now the Camera is connected to this module. You are now ready to use this module.





SD Card Support

On the backside, there is an SD Card Holder which supports SD Card up to 4GB. But I found even a 16GB SD Card working fine with this module.

ESP32 CAM SD Card

The SD card is used for storing images while making images based projects. For learning, you can use a 4GB SD Card. You can simply slide and insert the SD Card into the SD Card Adapter.


ESP32 CAM GPIO Pins

There are several GPIOs Pins that have support like UART, SPI, I2C, PWM, ADC, and DAC. You can get a 3.3V VCC pin as well as a 5V Pin from this module. There are multiple GND Pins as well.

The following pins are internally connected to the microSD card reader:
GPIO 14: CLK
GPIO 15: CMD
GPIO 2: Data 0
GPIO 4: Data 1 (also connected to the on-board LED)
GPIO 12: Data 2
GPIO 13: Data 3


ESP32-CAM FTDI Connection

For programming the board, you need any USB-to-TTL Converter Module or an FTDI Module. There are so many FTDI Module available based on CP2102 or CP2104 Chip or any other chip.

For getting started with ESP32 CAM Module, make a following connection between FTDI Module and ESP32 CAM module.

ESP32 CAM FTDI Module Connection

ESP32-CAMFTDI Programmer
GNDGND
5VVCC (5V)
U0RTX
U0TRX
GPIO 0GND

Connect the 5V & GND Pin of ESP32 to 5V & GND of FTDI Module. Similarly, connect the Rx to UOT and Tx to UOR Pin. And the most important thing, you need to short the IO0 and GND Pin together. This is to put the device in programming mode. Once programming is done you can remove it.




Project PCB Gerber File & PCB Ordering Online

If you don’t want to assemble the circuit on a breadboard and you want PCB for the project, then here is the PCB for you. The PCB Board for ESP32 CAM Board is designed using EasyEDA online Circuit Schematics & PCB designing tool. The PCB looks something like below.

ESP32 Cam Board PCB

The Gerber File for the PCB is given below. You can simply download the Gerber File and order the PCB from ALLPCB at 1$ only.

Download Gerber File: ESP32-CAM Multipurpose PCB

You can use this Gerber file to order high quality PCB for this project. To do that visit the ALLPCB official website by clicking here: https://www.allpcb.com/.

You can now upload the Gerber File by choosing the Quote Now option. From these options, you can choose the Material Type, Dimensions, Quantity, Thickness, Solder Mask Color and other required parameters.

After filling all details, select your country and shipping method. Finally you can place the order.

You can assemble the components on the PCB Board.


Setting Up ESP32 CAM Board on Arduino IDE

Now, let’s start the ESP32 CAM programming part. For that, open your Arduino IDE. Go to tools. Then select the ESP32 Board. And from the list select AI-Thinker ESP32-CAM.

Then connect the FTDI Module to your Computer and select the COM Port.

ESP32 CAM Getting Started


Source Code & Getting Started with ESP32 CAM

Go to the files menu and then select examples. From the examples menu, select the ESP32 and then Camera. Then finally open the CameraWebServer Sketch.

ESP32 Camera Web Server Sketch

So this the example code for Basic Video Streaming. The code is very complicated and has so many files.

You need to modify this code a little bit. Select the Camera Module by uncommenting the model that you are using. If you are using AI-Thinker Board uncomment the AI-Thinker Part and comment rest of the part.

1
2
3
4
5
6
7
8
//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
#define CAMERA_MODEL_AI_THINKER // Has PSRAM
//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM

You also need to change your WiFi SSID and Password.

1
2
const char* ssid = "*********";
const char* password = "*********";

Now you can upload the code. The code will take more than a minute to compile and upload.





ESP32 CAM Video Streaming Over WiFi

Once code uploads completely, you can open the Serial Monitor. At this instance, if you press the reset button the Serial Monitor will show the device is in downloading mode.

To disable the downloading mode, remove the IO0 GND Jumper from the ESP32 CAM Module. Now again press the reset button. So the device will try connecting to the WiFi Network. Once the device connects to the WiFi, it will display its local IP Address.

Copy this IP Address Link and paste it on your favorite web browsers like Chrome or Mozilla.

So the web page will appear with all the camera settings on the left side. You can go through each setting manually.

At the bottom part you can see there is an option to start streaming, you can click con Start Streaming and see yourself in the video. Maximize the resolution using the Camera Option.

You can move the camera in any direction to see yourself in the video. The Video data is live and you can observe it on the local WebServer always.

There is an option to capture the image as well. The image will be stored on SD Card. Simply click on Get Still.




So this is how you can use ESP32 CAM for Video Streaming & stream the videos online using the local webserver. The advantage of this project is you can use the ESP32 CAM as a surveillance camera. You can place it outside your house and use it as a Security Device. You can also automatically upload ESP32 CAM captured images to Google Drive.


Video Tutorial & Guide

ESP32 CAM Video Streaming on Web Server || Getting Started with ESP32 Camera Module
Watch this video on YouTube.

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email Reddit Telegram WhatsApp
Previous ArticleInterfacing 16×2 LCD Display with Raspberry Pi Pico
Next Article 555 Timer IC – Features, Pinout, Working, Circuit, Operating Modes

Related Posts

Mars Rover Robot Replica using ESP32 CAM & Arduino

Mars Rover Robot Replica using ESP32 CAM & Arduino

Updated:February 2, 20253K
DIY Spiderbot Hexapod Robot using ESP32-CAM FOV

DIY Spiderbot Hexapod Robot using ESP32-CAM FOV

Updated:February 2, 20254K
Mecanum Wheel Robot using Arduino & ESP32 CAM

Mecanum Wheel Robot using Arduino & ESP32 CAM

Updated:June 15, 202310K
QR Code Scanner Reader ESP32 CAM

QR Code Scanner with ESP32 CAM Module & OpenCV

Updated:May 29, 2023623K
Motion Detection ESP32 CAM

Motion Detection Squid Game using ESP32 CAM & OpenCV

Updated:May 29, 202313K
Gesture Controlled Virtual Mouse with ESP32-CAM & OpenCV

Gesture Controlled Virtual Mouse with ESP32-CAM & OpenCV

Updated:May 29, 2023316K
View 6 Comments

6 Comments

  1. Sredha Vinod on August 4, 2021 8:38 PM

    I want to use ESP32 cam module as live video input in Visual Studio C++. The project is object detection and ESP32 Cam should act as a camera input.
    How to do this instead of using webserver for video streaming?
    Please help!!!

    Reply
  2. Ian Brown on April 29, 2022 3:59 AM

    Looks good. Would it be possible to turn this into a webcam for Skype/Zoom/Teams/Google Meet?

    Reply
  3. Seyonne Leslie-Dalley on June 5, 2022 2:58 AM

    did you get a reply to this question?

    Reply
  4. ned5173 on July 15, 2022 5:21 AM

    I have programmed my ESP32 with the Arduino “example” and it streams while connected to the esp32cam-MD programmer. If I remove the programmer and connect +5V and gnd wires it no longer streams. What’s missing please?

    Reply
    • ned5173 on July 15, 2022 5:46 AM

      I have the Esp32 working independently of its programmer. Silly mistake sorry.

      Reply
  5. Siri on April 11, 2023 10:48 AM

    Where is source code?can u help me

    Reply

CommentsCancel reply

Latest Posts
ESP32 Fingerprint Attendance System with Live Web Dashboard

ESP32 Fingerprint Attendance System with Live Web Dashboard

June 21, 2026
IoT Based PM & Air Quality Monitoring System using ESP32

IoT Based PM & Air Quality Monitoring System using ESP32

June 14, 2026
DIY ESP32 MLX90640 IR Thermal Camera with Live Web Display

DIY ESP32 MLX90640 IR Thermal Camera with Live Web Display

May 10, 2026
IoT Activity Tracker with ESP32 & Accelerometer Gyroscope

IoT Activity Tracker with ESP32 & Accelerometer/Gyroscope

May 2, 2026
A Guide to Sourcing Obsolete ICs for Vintage Projects

Beyond AliExpress: A Guide to Sourcing Obsolete ICs for Vintage Projects

April 21, 2026

ESP32 IoT Vehicle Motion Analyzer with MPU6050 & LIS3MDL

April 27, 2026
Building a Smart Sensor Node with a BLE Microcontroller

Building a Smart Sensor Node with a BLE Microcontroller

February 26, 2026
High-Accuracy Pitch, Roll, Yaw with ESP32 & BNO08x IMU

High-Accuracy Pitch, Roll, Yaw with ESP32 & BNO08x IMU

April 27, 2026
Top Posts & Pages
  • ESP32 Fingerprint Attendance System with Live Web Dashboard
    ESP32 Fingerprint Attendance System with Live Web Dashboard
  • IoT AC Energy Meter with PZEM-004T & ESP32 WebServer
    IoT AC Energy Meter with PZEM-004T & ESP32 WebServer
  • 12V DC to 220V AC Inverter Circuit & PCB
    12V DC to 220V AC Inverter Circuit & PCB
  • Buck Converter: Basics, Working, Design & Application
    Buck Converter: Basics, Working, Design & Application
  • How to use INA226 DC Current Sensor with Arduino
    How to use INA226 DC Current Sensor with Arduino
  • LD2410 Sensor with ESP32 - Human Presence Detection
    LD2410 Sensor with ESP32 - Human Presence Detection
  • Designing of MPPT Solar Charge Controller using Arduino
    Designing of MPPT Solar Charge Controller using Arduino
  • ECG Graph Monitoring with AD8232 ECG Sensor & Arduino
    ECG Graph Monitoring with AD8232 ECG Sensor & Arduino
Categories
  • Arduino Projects (197)
  • Articles (60)
    • Learn Electronics (19)
    • Product Review (15)
    • Tech Articles (28)
  • Electronics Circuits (46)
    • 555 Timer Projects (21)
    • Op-Amp Circuits (7)
    • Power Electronics (13)
  • IoT Projects (205)
    • ESP32 MicroPython (7)
    • ESP32 Projects (82)
    • ESP32-CAM Projects (15)
    • ESP8266 Projects (76)
    • LoRa/LoRaWAN Projects (22)
  • Microcontrollers (38)
    • AMB82-Mini IoT AI Camera (4)
    • BLE Projects (18)
    • STM32 Projects (19)
  • Raspberry Pi (93)
    • Raspberry Pi Pico Projects (57)
    • Raspberry Pi Pico W Projects (12)
    • Raspberry Pi Projects (24)
Follow Us
  • Facebook
  • Twitter
  • Pinterest
  • Instagram
  • YouTube
About Us

“‘How to Electronics’ is a vibrant community for electronics enthusiasts and professionals. We deliver latest insights in areas such as Embedded Systems, Power Electronics, AI, IoT, and Robotics. Our goal is to stimulate innovation and provide practical solutions for students, organizations, and industries. Join us to transform learning into a joyful journey of discovery and innovation.

Copyright © How To Electronics. All rights reserved.
  • About Us
  • Disclaimer
  • Privacy Policy
  • Contact Us
  • Advertise With Us

Type above and press Enter to search. Press Esc to cancel.

Ad Blocker Enabled!
Ad Blocker Enabled!
Looks like you're using an ad blocker. Please allow ads on our site. We rely on advertising to help fund our site.