What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Yes—but an ESP32-CAM is best understood as the camera and button module in a DIY smart-home system, not as a complete Ring replacement. Pair an ESP32-CAM with ESPHome, Home Assistant, wired power and a doorbell button, and you can create a local video doorbell that provides live video, detects presses, sends phone alerts, controls a chime and optionally records events.
The trade-off is substantial: you must provide the enclosure, safe power conversion, remote access, storage, lighting and—if required—audio hardware. The result is highly customizable and can avoid a mandatory camera subscription, but a commercial doorbell remains the better choice for polished apps, weatherproofing, reliability and two-way audio.
As an Amazon Associate I earn from qualifying purchases.
What you are actually building
The recommended architecture is:
Doorbell button → ESP32 GPIO
ESP32-CAM → Wi-Fi → Home Assistant
├─ Phone notification
├─ Snapshot and dashboard
├─ Automation and chime
└─ Optional recording
The ESP32 handles camera capture, Wi-Fi, the physical button and optional sensors or lighting. Home Assistant handles notifications, dashboards, automation, storage and secure remote access. Keeping those responsibilities separate is more reliable than trying to make the ESP32 perform every function of a commercial security platform.
What it can—and cannot—replace
| Feature | DIY ESP32 solution |
|---|---|
| Live video | Yes, locally, with limitations |
| Doorbell press detection | Yes |
| Phone notifications | Yes, through Home Assistant |
| Snapshot on press | Yes |
| Local dashboard | Yes |
| Recording | Possible through Home Assistant, an NVR or another server |
| Motion detection | External PIR or mmWave sensor is recommended |
| Person or package detection | Usually requires Home Assistant, Frigate or another server |
| Two-way audio | Not included in the basic ESPHome camera setup |
| Remote viewing | Requires a VPN or secure Home Assistant remote access |
| Weatherproof, tamper-resistant housing | You must design or purchase it |
| Battery operation | Possible, but unsuitable for an always-on live stream |
ESPHome officially supports ESP32 camera boards through Home Assistant. Its optional camera web server provides MJPEG streaming and snapshots; only one stream can be served at a time, although multiple snapshots are supported. See the ESPHome camera documentation and camera web-server documentation.
#1 Best Overall
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Support LWIP protocol, Freertos
- SupportThree Modes: AP, STA, and AP+STA
- Ultra-Low power consumption, Compatible with Arduino IDE
- ESP32 is a safe, reliable, and scalable to a variety of applications
Parts you need
Required
- AI-Thinker-style ESP32-CAM, or another camera board with documented ESPHome support and PSRAM.
- USB-to-serial programmer with 3.3-V logic, unless your board includes native USB.
- Stable, regulated 5-V power supply suitable for continuous operation.
- Momentary doorbell push button.
- Wi-Fi coverage at the entrance.
- Home Assistant with ESPHome access and a configured mobile-app notification service.
Recommended or optional
- Weather-resistant enclosure with a clear camera window and cable glands.
- PIR or mmWave motion sensor.
- White LED or suitable infrared illumination.
- MicroSD card, if supported and needed for your design.
- Low-voltage chime and a transistor or MOSFET driver.
- Optocoupler or appropriately rated relay for an existing chime circuit.
- Separate microphone and speaker hardware for an advanced audio project.
Do not publish or rely on an exact project cost without pricing every component in your region. The board may be inexpensive, but the programmer, power conversion, enclosure, lighting, chime hardware and installation time can make a ready-made doorbell the better value.
Choose the board carefully
“ESP32-CAM” is not a single standardized product. Camera pins, PSRAM, flash LED wiring, microSD connections, voltage input and boot behavior vary between boards and clones.
Before wiring anything, verify:
- The exact board and camera sensor.
- Whether PSRAM is fitted and detected.
- The camera pin map.
- Whether the regulator expects 5 V or regulated 3.3 V.
- Whether GPIO 0 is needed for flashing.
- Whether the flash LED or microSD interface conflicts with your chosen GPIO.
ESPHome’s camera component requires PSRAM and a configured camera I²C bus. On a commonly sold AI-Thinker-style board, the camera mapping includes GPIO 5, 18, 19, 21, 36, 39, 34 and 35 for data; GPIO 0 for XCLK; GPIO 22 for PCLK; GPIO 25 for VSYNC; GPIO 23 for HREF; GPIO 26 and 27 for camera control; and GPIO 32 for camera power control. These assignments are board-specific. Compare your board with its schematic or the AI-Thinker ESP32-CAM reference before copying them.
Free tools Windows power users keep installed
One-click scans. No signup required.
Install ESPHome and create the device
Open the ESPHome dashboard or add-on in Home Assistant, create a device, select the correct ESP32 family and board, and enter the Wi-Fi credentials. ESPHome changes quickly, so labels and defaults may differ between releases; consult the current ESPHome component index when configuring a new installation.
For many ESP32-CAM boards, the first installation requires a USB-to-serial adapter:
- Connect the adapter’s TX to the board’s RX, RX to TX and ground to ground.
- Connect GPIO 0 to ground while flashing.
- Use the board’s specified regulated input—commonly 5 V through its onboard regulator, not a weak 3.3-V adapter output.
- Start the upload and reset the board if necessary.
- Remove the GPIO 0 connection and reset again after flashing.
Never assume a programmer can safely power the camera. Camera capture and Wi-Fi transmission can expose voltage drop or current limitations that do not appear during a basic microcontroller test.
Configure the camera
This is a representative starting point for a commonly sold AI-Thinker-style ESP32-CAM, not a universal copy-and-flash file:
Recommended Free Tools
Rank #2
- Dual-Core Performance Up to 240 MHz: Run sensor processing, wireless communication, automation logic and connected-device tasks on a 32-bit dual-core ESP32 platform designed for responsive embedded and IoT projects
- Built-in Wi-Fi and Bluetooth 4.2: Connect to 2.4 GHz Wi-Fi networks or use Bluetooth Classic and BLE for wireless sensors, smart devices, remote controls, home automation and other connected projects
- Flexible Power-Saving Modes: ESP32 power-management features support dynamic clock scaling and low-power operating modes, helping developers reduce energy use in compatible sensing, monitoring and connected-device applications, suitable for battery-powered Internet of Things (IoT) devices.
- USB-C Programming with CP2102: Connect through USB-C for power, sketch uploads and serial monitoring, while GPIO, UART, SPI and I2C interfaces support sensors, displays, motor drivers and other modules (USB-C cable not included)
- Over-the-Air Update Support: Configure OTA functionality through a compatible ESP-32 software framework to update deployed firmware over Wi-Fi without reconnecting the board by USB for every revision
esp32_camera:
name: Front Door Camera
external_clock:
pin: GPIO0
frequency: 20MHz
i2c_id: camera_i2c
data_pins:
- GPIO5
- GPIO18
- GPIO19
- GPIO21
- GPIO36
- GPIO39
- GPIO34
- GPIO35
vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
reset_pin: GPIO-1
resolution: 640x480
jpeg_quality: 12
Start at 640×480. A stable, timely image is more useful at a doorway than a higher theoretical resolution that causes resets, latency or memory exhaustion. Increase resolution only after the camera is reliable with its final power supply, Wi-Fi position and enclosure.
Higher resolution and lower JPEG-compression values generally increase memory use, bandwidth and processing load. Disable components you do not need, particularly if the board has limited memory.
Add the doorbell button
A simple arrangement connects one side of a momentary button to a GPIO and the other to ground. The internal pull-up keeps the input high until the button is pressed:
binary_sensor:
- platform: gpio
id: doorbell_button
name: Doorbell Button
pin:
number: GPIO13
mode:
input: true
pullup: true
inverted: true
filters:
- delayed_on: 20ms
- delayed_off: 100ms
GPIO13 is only an example. Select a pin that is not used by your camera, microSD card, flash LED or boot process. Some pins are boot-strapping pins; using them incorrectly can prevent the board from starting. For long button wires, consider an external pull-up or pull-down, twisted or shielded cable and additional debounce protection.
Expose video to Home Assistant
The native ESPHome camera integration is the preferred path for a Home Assistant dashboard. An optional direct MJPEG endpoint can be useful for browser access or compatible software:
esp32_camera_web_server:
- port: 8080
mode: stream
- port: 8081
mode: snapshot
Use the ESP32’s IP address with the selected ports. This is HTTP MJPEG, not RTSP. The web server does not itself create event recordings, person detection, cloud relay, mobile notifications or two-way audio. Also note the one-stream limitation documented by ESPHome.
The general ESPHome web-server documentation warns that the component uses significant memory. Avoid enabling it unless you need it, especially on a memory-constrained camera board.
Rank #3
- Powerful ESP-32 Board: Unlock the world of Internet of Things (IoT) and advanced electronics with the heart of this kit: the ESP-32 board. It features a powerful dual-core processor, integrated Wi-Fi and Bluetooth 4.2, making it perfect for building connected, smart devices that communicate with your phone or the cloud. It's fully compatible with the Arduino IDE for easy programming.
- Super Starter Kit: This kit contains over 35 different modules and electronic components, including sensors, displays, motors, and input devices. From LEDs and buttons to an OLED screen, servo motor, and keypad, you have everything needed to explore a vast range of projects in one box.
- Step by Step Online Tutorial: Jump right in with our detailed, beginner-friendly tutorial. Access 30+ projects with complete code, clear circuit diagrams, and step-by-step instructions. Learn the fundamentals of electronics, coding, and how to utilize the ESP-32's unique capabilities without any prior experience.
- Hands-on Learning for All Skill Levels: Perfect for students, makers, engineers, and hobbyists. Start with basic circuits and coding, then progress to intermediate and advanced IoT applications. Build practical projects like weather stations, smart home controllers, remote-controlled devices, and interactive gadgets. The skills you learn are the foundation for real-world innovation.
- Quality & Great Support: Elegoo is committed to quality. We provide a clear, detailed tutorial guide, refined code, and a well-organized component kit. All modules are carefully selected for reliability and ease of use. Our dedicated technical support team and active online community are ready to help you succeed in your learning journey.
Send a snapshot notification
In Home Assistant, create an automation that triggers on the button entity, waits briefly for a fresh frame, captures a snapshot and sends it to your phone. The exact service name and media path depend on the Home Assistant mobile app and current release:
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →alias: Front doorbell notification
trigger:
- platform: state
entity_id: binary_sensor.front_door_button
to: "on"
action:
- delay: "00:00:01"
- service: camera.snapshot
target:
entity_id: camera.front_door_camera
data:
filename: "/media/front_door/latest.jpg"
- delay: "00:00:01"
- service: notify.mobile_app_YOUR_PHONE
data:
title: "Doorbell"
message: "Someone is at the front door"
data:
image: "/media/local/front_door/latest.jpg"
mode: single
Test the camera entity and a text-only notification first. If the image is missing, check the snapshot path, phone permissions, camera availability and whether the delay is long enough after a Wi-Fi reconnect.
You can also add a fallback notification, a dashboard link, a porch light action or an announcement on a smart speaker. Those are Home Assistant functions rather than ESP32 functions.
Add an indoor chime safely
Never connect an ESP32 GPIO directly to a mains-powered or high-current chime. For a low-voltage DC chime, use a properly rated transistor or MOSFET and a separate supply. For an existing wired chime, an optocoupler or correctly rated relay may be appropriate. Add a flyback diode across inductive DC loads such as relay coils or solenoids.
Existing doorbell wiring is not automatically suitable power for an ESP32-CAM. Identify the transformer voltage, available current and transient behavior, then use an appropriately rated converter. Disconnect power before modifying wiring, and use a qualified electrician where local rules or the installation require it. Do not connect unknown doorbell terminals directly to the board.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsMake the camera usable outdoors
Lighting
A basic ESP32-CAM can struggle at night. A white LED may illuminate the visitor, while infrared lighting requires a camera and optics that support it. The onboard flash LED is not automatically a night-vision system: it can create glare, annoy visitors and increase current demand.
Keep lights angled to avoid reflections from the door or enclosure window. Test the image after installing the clear window; condensation, scratches and reflections can matter more than the camera’s nominal resolution.
Rank #4
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Support LWIP protocol, Freertos;ESP32 is a safe, reliable, and scalable to a variety of applications
- SupportThree Modes: AP, STA, and AP+STA
- Ultra-Low power consumption, Compatible with Arduino IDE
- 1PCS 30Pin ESP32 Development Board 2.4GHz WiFi Dual Cores Microcontroller Integrated with Antenna RF Low Noise Amplifiers Filters
Position and enclosure
Frame the visitor’s face, package area and enough surrounding context to understand the approach. A wide-angle lens covers more space but can reduce facial detail through distortion. Use a weather-resistant enclosure with a sealed cable entry, drainage or condensation strategy, and enough ventilation to prevent heat buildup. Add tamper-resistant mounting if the camera is intended to provide security evidence.
Secure the system and protect privacy
- Keep the ESP32 on your trusted LAN or an isolated IoT VLAN.
- Use encrypted ESPHome API communication where supported.
- Use strong Wi-Fi credentials and keep firmware updated.
- Do not port-forward the ESP32’s HTTP stream to the internet.
- Use a VPN or a supported Home Assistant remote-access method when away from home.
- Disable unused web interfaces and services.
- Decide how long snapshots and recordings should be retained.
- Check whether notifications upload images through a third-party service.
- Check local rules for video and audio recording, particularly where neighbors or public areas are visible.
Local hardware reduces dependence on a camera manufacturer, but it does not make the entire system private automatically. Home Assistant, remote-access tools, mobile notification providers, NVR software and phone platforms may all process part of the data.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Common problems and fixes
The camera will not initialize
Check the exact pin map, camera ribbon cable, PSRAM detection, board selection, power supply and GPIO conflicts. Disconnect the microSD card and optional peripherals, reduce resolution and inspect serial logs during boot.
Uploading fails
Confirm GPIO 0 is grounded only while flashing, TX and RX are crossed correctly, all grounds are common and the adapter is not trying to power the camera from an inadequate 3.3-V output. Reset the board after entering the bootloader if required, then remove the GPIO 0 link after the upload.
The board resets or the image is unstable
Suspect voltage drop, insufficient current, heat, excessive resolution, too many enabled components or memory exhaustion. Use a regulated supply with current headroom, reduce resolution, remove unused components, disable the general web server and check logs for brownout or watchdog messages.
The button triggers repeatedly
Add debounce filters, verify the pull-up logic, use an external resistor for long wires and make sure the input is not floating or shared with another device. Keep signal wiring away from noisy power conductors.
The notification has no image
Capture a snapshot manually, test a text-only alert, verify the Home Assistant media path and add a short delay after the press. The camera may still be starting after a Wi-Fi reconnection.
Best Value
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Ultra-Low power consumption, works perfectly with the Arduino IDE
- Support LWIP protocol, Freertos
- SupportThree Modes: AP, STA, and AP+STA
- ESP32 is a safe, reliable, and scalable to a variety of applications
The stream works locally but not remotely
That is expected when the ESP32 is not internet-exposed. Use secure Home Assistant remote access or a VPN rather than opening its HTTP port.
Wired versus battery operation
| Design | Advantages | Disadvantages |
|---|---|---|
| Wired ESP32-CAM | Always available and suitable for live view | Requires safe power conversion and weatherproof installation |
| Battery ESP32-CAM | Flexible placement | Deep-sleep and wake-up behavior limit always-on streaming; batteries need maintenance |
For a Ring-style experience, use wired power. A battery design must wake on a button or motion event and sacrifice continuous viewing to achieve useful battery life.
Build or buy?
The ESP32 approach is a good fit if you value Home Assistant integration, local control, customization, unusual sensors, a custom enclosure or the learning experience. It is a poor fit as the only security camera when you need guaranteed 24/7 operation, high-resolution video, strong night vision, weather-ready hardware, native two-way audio, off-site recording or minimal maintenance.
Ready-made alternatives can be more sensible. Reolink’s official US doorbell range lists 2K/5MP-class models, local-storage options and two-way audio; prices observed on August 18, 2026 included approximately $119.99 to $129.99 for several doorbell models, but promotions change. See the official Reolink doorbell store.
Eufy’s official pages likewise emphasize local storage and no monthly fee for several models. Prices observed on August 18, 2026 included $149.99 for the Video Doorbell E340, $109.99 sale pricing for the wired S330 and $179.99 for the S220. Check the current Eufy collection before buying.
Ring offers the mature app and broad ecosystem, but its cloud-centered service model is less aligned with a local-control project. Home Assistant documents that accessing Ring recordings through its integration requires a Ring Protect plan; see the Ring integration documentation.
Bottom line: build the ESP32 doorbell if you want a customizable maker project integrated with Home Assistant. Buy a commercial doorbell if the priority is dependable security hardware, weatherproofing, audio and a polished user experience. DIY gives you control and subscription flexibility; it does not automatically give you commercial reliability.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallQuick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

