Self-contained smart doorbell with wireless video streaming using ESP32-CAM and ESP32 CYD display boards
This is a self-contained smart doorbell implementation using two ESP32 boards: the ESP32-CAM as a camera/sensor unit and the ESP32 CYD as a display receiver. The system enables wireless video streaming when someone presses the doorbell button.
When the doorbell button is pressed, the system triggers a 1-second buzzer alert. Simultaneously, the ESP32-CAM initiates a WebSocket connection to the CYD board and streams live JPEG-encoded video frames. The display renders incoming frames in real-time using TFT_eSPI and TJpg_Decoder libraries. After a configurable 10-second timeout, the video stream stops and the system returns to idle mode.
Complete Hardware Setup
ESP32-CAM Schematics
ESP32-CAM Interface Diagram
State Machine Architecture
ESP32-CAM, ESP32 CYD, Active Buzzer, Push Button, 5V Battery
WiFi, ArduinoWebSockets, TFT_eSPI, TJpg_Decoder, ESP32Time, HTTPClient
WebSocket, NTP, JPEG Encoding, GPIO Control
Arduino IDE, C++, State Machine Design
This project illustrates a robust and scalable embedded solution for a smart doorbell system, with live video feedback, real-time communication, and on-screen information when idle. It leverages the power of the ESP32 ecosystem, open-source libraries, and efficient event-driven programming to create a fully wireless, modular design.
Technologies used include TFT display interfacing, camera driver configuration, WebSocket server/client handling, RTC time sync, and low-level GPIO management, highlighting a wide skill set in real-world embedded development. Complete firmware, schematics, and wiring diagrams are available on GitHub for those interested in replicating, learning from, or extending the project.