Doorbell

Self-contained smart doorbell with wireless video streaming using ESP32-CAM and ESP32 CYD display boards

Year 2025
Role Lead Developer
Platform ESP32

Demo Video

Overview

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.

Project Images

Doorbell Hardware Setup

Complete Hardware Setup

ESP32-CAM Schematics

ESP32-CAM Schematics

ESP32-CAM Interface

ESP32-CAM Interface Diagram

State Machine Diagram

State Machine Architecture

Key Components

Technical Stack

Hardware

ESP32-CAM, ESP32 CYD, Active Buzzer, Push Button, 5V Battery

Libraries

WiFi, ArduinoWebSockets, TFT_eSPI, TJpg_Decoder, ESP32Time, HTTPClient

Protocols

WebSocket, NTP, JPEG Encoding, GPIO Control

Development

Arduino IDE, C++, State Machine Design

Planned Enhancements

Summary

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.

← Back to All Projects