8 ESPHome Projects for Beginners (With Complete Configs)
ESPHome turns a $5 ESP32 into a smart home device that integrates directly with Home Assistant. No cloud, no subscription, no app. These 8 projects are beginner-friendly and each one solves a real problem.
Not sure what ESPHome is? Read my ESPHome vs Tasmota comparison first.
What You Need for Every Project
- An ESP32 dev board (~$5) — Get one on Amazon
- A micro-USB or USB-C cable
- ESPHome installed (Home Assistant add-on or CLI)
- DuPont jumper wires (~$1)
No soldering needed for any of these. Everything connects with DuPont cables.
1. Temperature & Humidity Sensor
Cost: $8 total
Extra parts: DHT22 sensor ($3)
The simplest useful project. Put one in every room for whole-house climate awareness.
esphome:
name: room-climate
friendly_name: Living Room Climate
esp32:
board: esp32dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_key
sensor:
- platform: dht
model: DHT22
pin: GPIO4
temperature:
name: "Temperature"
humidity:
name: "Humidity"
update_interval: 60s
Wiring: DHT22 has 3 pins — VCC to 3.3V, GND to GND, DATA to GPIO4. That’s it.
2. Door/Window Sensor
Cost: $7 total
Extra parts: Reed switch ($2)
A magnetic contact sensor. Mount the reed switch on the door frame, magnet on the door.
esphome:
name: front-door
friendly_name: Front Door
esp32:
board: esp32dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_key
binary_sensor:
- platform: gpio
pin:
number: GPIO14
mode: INPUT_PULLUP
inverted: true
name: "Door"
device_class: door
filters:
- delayed_on: 100ms
- delayed_off: 100ms
Wiring: One reed switch wire to GPIO14, the other to GND. The internal pull-up resistor handles the rest.
3. Motion Sensor
Cost: $7 total
Extra parts: HC-SR501 PIR sensor ($2)
Basic motion detection. Not as fast as commercial Zigbee sensors, but dirt cheap.
esphome:
name: garage-motion
friendly_name: Garage Motion
esp32:
board: esp32dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_key
binary_sensor:
- platform: gpio
pin: GPIO27
name: "Motion"
device_class: motion
filters:
- delayed_off: 30s
Wiring: PIR has 3 pins — VCC to 5V (not 3.3V), GND to GND, OUT to GPIO27. Adjust the two potentiometers on the PIR for sensitivity and timeout.
4. Light Sensor
Cost: $6 total
Extra parts: BH1750 light sensor ($1)
Measure ambient light levels to trigger automations based on actual brightness, not just time of day.
esphome:
name: room-light-level
friendly_name: Living Room Light Level
esp32:
board: esp32dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_key
i2c:
sda: GPIO21
scl: GPIO22
sensor:
- platform: bh1750
name: "Light Level"
address: 0x23
update_interval: 30s
Wiring: BH1750 uses I2C — SDA to GPIO21, SCL to GPIO22, VCC to 3.3V, GND to GND.
Use case: “Only turn on lights if the room is actually dark” — much smarter than time-based triggers.
5. Water Leak Detector
Cost: ~$6 total Extra parts: Two bare wires (or a cheap water sensor module, ~$1)
Two exposed wires touching water completes a circuit. Simple and effective.
esphome:
name: kitchen-leak
friendly_name: Kitchen Leak Detector
esp32:
board: esp32dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_key
binary_sensor:
- platform: gpio
pin:
number: GPIO34
mode: INPUT
name: "Water Leak"
device_class: moisture
filters:
- delayed_on: 2s
Wiring: One wire from GPIO34, one from GND. Lay both exposed ends flat under the sink where water would pool. When water bridges the gap, the sensor triggers.
6. Bluetooth Proxy
Cost: ~$5 (just the ESP32) Extra parts: None
Turn your ESP32 into a Bluetooth Low Energy (BLE) proxy that extends Home Assistant’s Bluetooth range throughout your house. Great for tracking BLE devices, plant sensors, and Switchbot devices.
esphome:
name: ble-proxy-living-room
friendly_name: BLE Proxy Living Room
esp32:
board: esp32dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_key
esp32_ble_tracker:
scan_parameters:
active: true
bluetooth_proxy:
active: true
Wiring: None. Just flash and place the ESP32 in a room where you need Bluetooth coverage. Power it with any USB charger.
7. Bed Occupancy Sensor
Cost: ~$12 total Extra parts: 2x FSR 406 force-sensitive resistors, 2x 10K resistors
Know who’s in bed for automations like goodnight routines, nightlight triggers, and morning routines.
I have a full detailed guide for this project with wiring diagrams and calibration instructions. You can also get the complete config pack ready to flash.
8. Smart Power Monitor
Cost: $8 total
Extra parts: SCT-013 current transformer ($3)
Monitor how much power an appliance uses without modifying any wiring. The clamp goes around the power cable — no electrical work needed.
esphome:
name: dryer-power
friendly_name: Dryer Power Monitor
esp32:
board: esp32dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_key
sensor:
- platform: ct_clamp
sensor: adc_sensor
name: "Dryer Current"
update_interval: 5s
filters:
- calibrate_linear:
- 0 -> 0
- 0.02 -> 5.0
- platform: adc
pin: GPIO36
id: adc_sensor
attenuation: 11db
Use case: “Dryer is done” notification. Same concept as the washing machine automation, but without needing a smart plug rated for dryer power.
Tips for All ESPHome Projects
- Use
!secretfor Wi-Fi credentials and API keys — never hardcode them - Add a
web_servercomponent during development so you can check values in a browser - Use OTA updates — flash once over USB, then update wirelessly forever
- Name devices by location (e.g.,
kitchen-climate,garage-motion) not by function alone - Start with the simplest project (temperature sensor) to learn the ESPHome workflow before tackling complex ones
What’s Next
Once you’re comfortable with ESPHome:
- Combine multiple sensors on one ESP32 (temperature + motion + light in one device)
- Build a local voice assistant with an ESP32-S3-BOX-3
- Create custom displays using OLED screens
- Build custom smart switches and relays
For more project ideas and complete configs, check the products page where I sell ready-to-flash config bundles.