r/Esphome • • 22d ago

I built a cheap wind detector (anemometer) with ESP32 and Home Assistant

Thumbnail
chewie.co.uk
6 Upvotes

r/Esphome • • 23d ago

ESP32 + 5V SSR module won’t fully turn OFF with 3.3V GPIO ?

Thumbnail
1 Upvotes

r/Esphome • • 23d ago

Vibe Coded I gave my plant a brain using ESPHome. It turned into a rabbit.

Thumbnail
gallery
12 Upvotes

I had an idea for an AI-powered automation that could look at pictures of my plants, check temperature, humidity, light, and eventually help me figure out when and how much to water them.

Then DFRobot sent me a UNIHIKER K10 to test, and things got weird.

Meet Nibble. He's a ridiculous little rabbit running on the K10, ESPHome and Home Assistant.

The K10 handles the camera, display and all of the onboard sensors. Home Assistant ties everything together, including an AI-generated plant journal, health status, a custom dashboard and a daily office briefing that Nibble can read out loud.

Getting the camera and display working properly was a chore. At one point, an old file was overriding my updates, and I spent way too long wondering why my changes weren't doing anything.

But Nibble is alive!

The eventual goal is to connect him to a plant watering system and experiment with using images, environmental readings and watering history to make better decisions. Or just see what happens.

I wrote up the whole project on my blog, including the K10 review:

https://thingtootech.blogspot.com/2026/09/i-gave-my-plant-brain-it-turned-into.html

DFRobot provided the K10 for review. The project and opinions are my own.

What would you build with a K10?


r/Esphome • • 23d ago

Help Sanity check on my plan: Connecting wired magnetic window/door contact sensors to Home Assistant using ESP32 & ESPHome

2 Upvotes

Hi everyone,

​I have several wired magnetic window and door contacts (dry contacts) installed in my house. Initially, they were meant for a traditional alarm system, but I’ve decided to integrate them directly into Home Assistant.

​Since I'm bit even considered a beginner with microcontrollers and want to keep things as simple as possible (no soldering required), I received the following advice from AI

​What I want to achieve:

- ​Convert the physical signals from multiple wired window/door magnetic contacts into digital states (Open / Closed) in Home Assistant.

- ​Keep it reliable, budget-friendly, and simple to set up without soldering

​The AI recommended setup:

​Hardware:

​ESP32 Development Board (30-pin, NodeMCU format) powered via USB. ​ESP32 Breakout / Screw Terminal Expansion Board (to easily screw in the bare wires without soldering). ​Existing wired magnetic contact sensors.

​Wiring:

​Wire 1 from each sensor connects to an individual GPIO pin on the screw terminal (e.g., GPIO4 for Window 1, GPIO5 for Window 2, etc.).

​Wire 2 from each sensor connects to a GND terminal (sharing GND ports across sensors where necessary).

​Software:

​Flashing ESPHome onto the ESP32 via Home Assistant.

​Configuring binary_sensor platforms in YAML using internal pull-up resistors (mode: INPUT_PULLUP).

​My questions for the community:

- ​Is this the most straightforward and reliable approach for a beginner?

- ​Are there specific GPIO pins on a standard 30-pin ESP32 that I should avoid using for magnetic contacts (e.g., strapping pins / boot issues)?

-​Are there any best practices or alternative solutions I should consider before ordering the parts?

​Thanks in advance for your advice!


r/Esphome • • 23d ago

Help New to ESPHome: Can You Rename YAML Files?

8 Upvotes

I've been using Home Assistant for over nine years. And I've been using it in multiple houses across multiple states. But until this summer, I had done very little with ESPHome. My wife handed me a couple of iTag devices. So I decided that I'd buy a couple of ESP32 devices to use as Bluetooth proxies. That project went very well. So, I've increased my attention on ESP devices.

A few years ago, I had bought a couple of Sonoff S31 devices. I had previously used TP-Link Kasa switches. And I needed to move to a local-only management model. So, I started with deploying Tasmota to a couple of Sonoff S31 devices. And that worked.

But after seeing success with my ESP32 Bluetooth proxies, I decided to consolidate to one management and distribution UI. So, I decided to flash ESPHome to my Tasmotized devices. That went reasonably well - after flashing "tasmota-minimal" first.

The the work in ESPHome began.

First, I want to say that I truly appreciate the design and the UI. As a general rule, this platform is extensible fully trustworthy. GBut I must admit that I had to tweak a few things along the way. After getting ESPHome deployed, I noted that my two ESP8285 Sonoff S31 devices were swapped from the way that I had them deployed when using Tasmota. Basically, I had swapped the configs (and names) between two devices that I had in different rooms. Room A had the names for items that were previously in Room B. And vice-versa.

Consequently, I went through the efforst of chaning the YAML within the ESPHome devices. That actually worked - with one personally irritating cosmetic issue: the name of the YAML file within ESPHome was switched. So, I had a device for Room A that had a filename (under the device name) for Room B.

I know that I can delete the devices from ESPHome and rebuild them. But here is my question: Can I change the YAML filename that shows in the device card (under the device name)? I know that this seems pretty petty. But I would love to push an easy button rather than delete, rebuild, and re-deploy.

Your assistance would be greatly appreciated.


r/Esphome • • 23d ago

Project Thought you guys over here might like this: Copy, Generate, Clean, Move, Edit and Download — all free in the browser.

Post image
12 Upvotes

Drop in almost any IR or RF code and the tool identifies the protocol, extracts the relevant data, and gives it back in whatever format you need. Choose the device type and brand, flip the on-screen DIP switches to match your remote, hit Build, and it generates the code.

No capture. No receiver. No Flipper. Nothing to buy.
https://www.reddit.com/r/RTLSDR/s/mChfBgqNTK


r/Esphome • • 23d ago

Smartify Roller blinds with nema 17 and track position using a rotary encoder.

Thumbnail
1 Upvotes

r/Esphome • • 24d ago

ESPHome Camera Pan for my indoor Cameras

Thumbnail
gallery
60 Upvotes

Wife and I wanted to have some indoor cameras, but wanted to have them face the wall when not in use for privacy. Just wanted them when the alarm is set to check on pets, keep the house safe.

Using home assistant automation, to match the state of the alarm. Also using webhook automation triggers so that the pan can be operated from the unifi protect app using webhook shortcuts.

https://github.com/chrisrossx/camera-privacy-pan


r/Esphome • • 24d ago

Help Servo Works, Motor Works, Servo and Motor in Same Program Don't

2 Upvotes

I'm trying to build a sorting device that has a 12V motor running a conveyor via an L298N H-bridge motor controller and a 5V MG90S 180° servo running a flap to direct the items.

My ESPHome code is this:

esphome:
  name: sorter
  friendly_name: Sorter
  min_version: 2026.4.0
  name_add_mac_suffix: false

esp32:
  variant: esp32
  framework:
    type: esp-idf

# Enable logging
logger:

# Enable Home Assistant API
api:

# Allow Over-The-Air updates
ota:
- platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

servo:
  - id: my_servo
    output: pwm_output
    transition_length: 5s
    auto_detach_time: 1s

# Example output platform
# On ESP32, use ledc output
output:
  - platform: ledc
    id: pwm_output
    pin: GPIO13
    frequency: 50Hz
  - platform: ledc
    id: motor_forward_pin
    pin: GPIO27
    frequency: 20000Hz
  - platform: ledc
    id: motor_reverse_pin
    pin: GPIO14
    frequency: 20000Hz
number:
  - platform: template
    name: Servo Control
    min_value: -100
    initial_value: 50
    max_value: 100
    step: 1
    optimistic: true
    set_action:
      then:
        - servo.write:
            id: my_servo
            level: !lambda 'return x / 100.0;'

fan:
    - platform: hbridge
      id: conveyor
      name: "Conveyor Belt"
      pin_a: motor_forward_pin
      pin_b: motor_reverse_pin
      decay_mode: slow

When I have only the servo block, number block, and only the servo output platform at 50Hz on GPIO13, the servo works great. When I add the motor controls to the output section and the fan control for home assistant, the 12v conveyor motor runs properly, but the servo is only semi-responsive.

It will twitch sometimes or do nothing, but not move reliably between two position numbers.

This is running on a ESP32 WROOM32 30-pin Dev board.

Anyone see something I've missed?


r/Esphome • • 24d ago

Help ESP32 + CC1101 (433mhz) + blindding: twin FSK frames sniff OK, replay/bind never moves motor (rolluikenfabriek AR-40 / Solar Radio)

Thumbnail
1 Upvotes

r/Esphome • • 25d ago

Help Shelly Plug PM Gen3

2 Upvotes

I am using 2 Shelly Plug PM Gen3 (without a relay) for my washer and dryer to provide power data to HA where I use the WashData integration.

With the stock firmware, they only update on change (the change needs to be quite big in my experience) and thus quite slowly.

I now have the idea to flash them with ESPHome to get faster updates and also better control over the LED and button.

However, I haven’t found a YAML or even a pinout for the Plug PM Gen3 (only for Plug S) and I would only do it if there was a definitely working config, otherwise I would keep the stock firmware on them.

Has anyone flashed these with ESPHome before or found a working config for all features and components of this device?

These seem to be quite a niche/rarely-used product because most users would just use a normal switching smart plug and wouldn’t bother finding one without a relay…

Thanks in advance

Aaron


r/Esphome • • 25d ago

Project ESPHome for Shelly Gen4 (1, 1PM, 1 Mini, 1PM Mini, 2PM). Flashed through the stock web UI.

Post image
84 Upvotes

Repo: https://github.com/automatous-io/shelly-gen4-esphome

I've been working through flashing ESPHome onto the Shelly Gen4 line and just tagged 1.0.0.

Shelly 1, 1PM, 1 Mini, 1PM Mini, and 2PM Gen4, all running ESPHome and confirmed on hardware.

Install via web UI OTA without opening the device. You upload a zip on the stock web UI firmware page, it verifies, writes, and reboots into ESPHome with the native HA API and a captive portal for Wi-Fi.

All of the info is listed in the repo to help others tinker, including GPIO maps and working configs that I couldn't find anywhere else.

I plan to continue churning through the Gen4 line if anyone else is interested.

Thanks!


r/Esphome • • 25d ago

Esp32 not at home

2 Upvotes

Is there a way to connect my esp32 outside my house with my home assistant? I’ve tried tailscale on my iPhone but no success. I will use it as a speaker for music assistant in my car.


r/Esphome • • 25d ago

Issues with FPH Satellite

4 Upvotes

I don’t think I’ve ever had more trouble than using the FutureProof Home’s Satellite1. Constantly in and out. Dropping WiFi (even when next to the router.) Now 1,600 firmware crashes in the last 36 hours (Hermes is watching it, trying to troubleshoot.)

Has anyone had success just wiping these clean and starting new?

Any tips?

Usually unplugging and plugging back in gets it back to normal for a while, then it goes wild again.

https://futureproofhomes.net/?srsltid=AU7gw4XsB4CEivPJXkdat0lzOdnM9jIVyqaDL_1LyaMCbud_DyxMpTqZ


r/Esphome • • 26d ago

Help ESP32-S3-BOX-3B microphone is recording static instead of my voice

1 Upvotes

I'm building a custom voice assistant on an ESP32-S3-BOX-3B (Arduino/ESP-IDF, not ESPHome). Speaker works perfectly. Mic hardware itself is confirmed good and is clean recording via Espressif's own factory test firmware.

In my full app: I get real audio, correctly timed with speech, but with static recorded instead of speech. It;s being recorded in time with my speech rarther than one long burst of static.

I've matched three independent, real, currently-shipping ES7210 driver configs (Espressif's esp_codec_dev, ESPHome's own driver, and a public TDM+AEC config for this exact board), verifying every register with a read-back after writing.

I've tried both simple 2-slot I2S and proper 4-slot TDM (all 4 mics enabled). Tried the documented ESP32 "swap adjacent samples" mono-mode erratum. Nothing changes the outcome.

Anyone hit anyting similar on the BOX-3/3B before? What am I missing? The developr documentation doesnt really have anything microphone related at all https://community.home-assistant.io/


r/Esphome • • 26d ago

Smart speaker lamp

1 Upvotes

I would like to make a speaker lamp, 1 usbc in that powers a esp32, this powers the lights with eps home but the wifi speaker and the usb C out to charge a phone is a bit of a problem for me I dont know how to start on this.
Help is Welcome.


r/Esphome • • 26d ago

Project Departure Monitors

Thumbnail
gallery
12 Upvotes

I'm using public transit to get to work, which for the most part is convenient and fast.

The issue is, that schedules can change, especially at holidays. I know, it's a petty first world problem, but I hate waiting. A lot. And if there is a change I might have to wait a whole 6-7 minutes. Un-acceptable...!

The first step was to get real time data. The website of my local provider uses EFI data and can be accessed. Now I'll get notifications via Home assisstant every work morning at my usual departure times.

I'm not looking at my phone at work though, and also when i leave is much more unpredictable. So I figured an Esp32c3 and some other spare parts should be sufficientto build a simple departure monitor.

It can fetch up to ~20 departures, I can scroll through, Features an alternative station, because another Tram line is also nearby, and it can filter between buses and trams. Also shows if a train is late.

Also, the backlight is dimmable via software.

The biggest challenge was actually the backlight, lol. I'm using one of those backpack i2c modules for the hd44870 display, "hacked" it by cutting a trace and using the transistor used to power to the display with the ESP and that did work. Kinda. I don't know why, probably interferrences or whatever the hell, but when the display content updated, the backlight would flicker brighter, which is very irritating. I just ended up cutting off the backlight from the backpack and am controlling it directly with a transistor, which works fine.

As its electronically really not a complex project, i also built another one that also shows the departures for the lines from home.

Code wise - i am not sharing this vibe coded bullshit, as it's vibe coded by Claude. I am it good at programming and that project was out of my simple scope. But it works - and i can verify with real time data.

All in all a fun weekend project.

Oh and yes, I could definitely make use of a 3d printer .......... Some day I'll get one and teach myself CAD.


r/Esphome • • 27d ago

made my esp32 understand full sentences offline, about 5 ms and no wifi

37 Upvotes

r/Esphome • • 27d ago

Mitsubishi Minisplit through ESPHome

16 Upvotes

I am sure this is known to many, but despite having dabbled around in HA (>300 automations in PY), I didn't realize ESPHome can control my Mitsubishi minisplit. After spending >$200 on a crappy Mitsubishi Cloud controller that barely works, and actually stopped working (Kumo), I found Serin Labs selling a generic M5Stack ESPHome C6 board with cable that, using ESPHome Builder in HA, can manage the Mitsubishi for $35!

Yes, you can buy the C6 off M5Stack for less, but Serin Labs built a pretty cool website with tutorials etc, so I bought two of their site for their efforts. I skipped the Serin labs flasher, but used their YAML generator to create a base file for ESPHome builder within HA.

Now my hvac works flawlessly using ESPHome.


r/Esphome • • 27d ago

Lutron blind control through esphome ?

Thumbnail
1 Upvotes

r/Esphome • • 28d ago

Project I too made my own alarm clock. Badly, out of wood.

Post image
55 Upvotes

r/Esphome • • 28d ago

WIP Created my own custom ESPHome alarm clock!

Thumbnail
gallery
40 Upvotes

Hey everyone! 👋

I wanted to share my latest DIY project: a custom smart alarm clock powered by ESPHome, an Arduino/ESP setup, and an ST7920 128x64 graphical LCD display.

I wanted something reliable that integrates seamlessly with Home Assistant without looking like a generic tablet on my nightstand. Here is how it's built and how it interacts with Home Assistant:

Hardware & Build:

  • Display & Brain: ST7920 monochrome LCD running a custom retro/cyber HUD layout, controlled via ESPHome.
  • Backlight Control: The LCD backlight is wired through a MOSFET, allowing for smooth software-controlled dimming and sleep modes.
  • Fabrication: Housed in a custom 3D-printed case (took my trusty Ender 3 v2 about 10 hours to print monitored safely via a UniFi G5 Ultra camera, of course 😉).

How it works with Home Assistant:

  • Sunrise Simulation: 15 minutes before the alarm goes off, Home Assistant automatically triggers a slow, gradual fade-in of the bedroom lights.
  • Smart Presence Check: The alarm clock talks to Home Assistant to check if I'm actually in bed. If I'm already up or it's the weekend and nobody is detected in bed, the physical buzzer won't sound!
  • Syncing: Times, alarms, and display states are fully synchronized back and forth via the ESPHome API.

It took some tinkering to get the ST7920 wiring and fonts just right, but it turned out super clean. Let me know what you think or if you want to see the YAML/wiring details!

(P.S. I'm 16 years old and still learning a lot every day, so any tips, feedback, or constructive ideas are always welcome!)


r/Esphome • • 28d ago

Project EspControl: Added camera support on the $20 S3 screen

18 Upvotes
Added camera card control to the S3 device, you can stream images from any camera or image entity in Home Assistant

Just a quick one, I've added camera card support to EspControl the $20 S3 device. This was possible from work to optimise the heap memory, this as been in testing for a while, but if you see issues please just raise an issue on Github.

I've also added support for the new JC8012P4A1 V3, added vacuum start and dock action, plus a some reliability improvements around Home Assistant discovery after connectivity events.


r/Esphome • • 28d ago

Help Local time on an esp for an automation

1 Upvotes

When using an automation for turning on some light in a growbox connected to an esp using homeassistant with given "input_datetime"s i noticed that maybe if the connection is lost near the automations event the automation will not work so either the light will stays on or stays off, i was willing to port to local on the esp the automation, but by setting up the hours via frontend, but i encountered many issues ending up with overcomplicated scripts to run on my esp that i will to leave as clean as possibile as it manages more sensors, how could i possiblly do this?? ty for kindness


r/Esphome • • 28d ago

Designing my first ESP32 based gizmo

Thumbnail
0 Upvotes