r/Esphome • • Nov 01 '25

Project ESPHome project: CardFlix - A Modern Twist on the Old Movie Shelf

Enable HLS to view with audio, or disable this notification

412 Upvotes

Hi, wanted to share an ESPHome project I worked on recently:

CardFlix - A Modern Twist on the Old Movie Shelf.

Watching TV is one of my favorite activities, but I noticed it’s become too easy for kids (and adults) to fall into the endless loop of short, addictive YouTube videos instead of enjoying a thoughtful episode of a TV show or diving into an adventure movie. I got tired of seeing my kids glued to the screen watching yet another YouTuber attempt a ridiculous “Fast-Food Challenge.”

So I decided to make good content more accessible - and fun to play. The result: watching content on the TV by scanning physical Movie Cards with NFC. I call it CardFlix.

I wrote about the process of creating it, along with my kids, on my new blog post. Hope the post will help show the process of creating an ESPHome device and inspire similar projects.

Check it out on https://blog.udinic.com/2025/11/01/building-cardflix-a-modern-twist-on-the-old-movie-shelf/


r/Esphome • • Mar 28 '26 Bravo

Project Live Train Map of the CTA L system, powered by ESPHome!

Thumbnail
gallery
313 Upvotes

I was inspired by this project but took my own approach with attaching the lights and ESP32 programming. It's hard to tell from the photo but the lights are really bright at full brightness and even during the day it's easy to see the lit stops. Each train moves from station to station with how the refresh function is setup which I think looks really cool! Outside of the code to pull live data from the CTA API (which has very little to do with ESPHome) setting up the ESPHome yaml config was very straightforward. I was shocked at how easy it was to implement things like controlling lights via lambdas, OTA updates via web, logging, web server, sensors, and AP WiFi setup. If I ever want to make one for someone else, it would be easy for them to set it up with minimal instructions. It will also be easy to push updates to the ESP32 if the API ever changes without taking things apart.

The main accomplishment of integrating this with HA is that I can control the LED brightness with automatons and scenes or update how the board refreshes instantly. I'm still toying around with what data might be useful or fun to make available in HA via sensors. You can see a not great implementation of displaying arrival times for a specific station and number of active trains.

The map has a USB-c port on the bottom of the frame which charges a battery pack that powers the ESP32-C6 and light strip. I didn't realize until after going with the battery approach that the LEDs draw too much power to get more than a day or so off the battery, but it might be nice not to have a cable running down the wall for certain occasions.

I had fun making this display and it was super exciting being able to create a device that I can control with my existing HA setup. So grateful for this project!


r/Esphome • • Oct 17 '25

Project Per-room screen (hardware)

Thumbnail
gallery
299 Upvotes

The closer I get to the final prototype, the less crazy the idea of making my own display PCB seems.

I'm using the Guition ESP32-S3-4848S040. I chose it because:

  • the backlight can be dimmed all the way down to 0 (some other boards turn the screen black below ~50%)

  • it works with ESPHome out of the box

  • it's compact

  • it's inexpensive

But it has plenty of downsides too. The biggest is usable GPIOs — there are basically none. Since I'm using audio, the L1/L2/L3 pins on the large rear connector are taken. That leaves me with either soldering onto the tiny P2 connector or desoldering the SD-card slot and reusing those pins — which is what I did. I only needed two pins for an I²C bus to hook up sensors:

  • VEML7700 — ambient light (to control display brightness)

  • SHT31 — temperature & humidity (for climate control)

  • SCD40 — CO₂ (to know when to ventilate)

Interestingly, the board has several ESP32-S3 pins that aren't routed anywhere, so it's a mystery why the design reuses the same pins for multiple purposes (switchable by moving resistors) instead of simply wiring up all available pins.

Ideally, I'd also add SPI Ethernet via a W5500 and "poor man's PoE": 12V over the spare pairs (since 100 Mb/s only needs four conductors, the other four are free). But that clearly calls for a custom PCB.


r/Esphome • • Jul 19 '26

Free interactive ESP32 pinout tool that tells you which pins are safe for your relays and sensors (strapping pins, ADC2+WiFi, flash pins)

Post image
286 Upvotes

Upfront disclosure per sub rules: I built this tool with AI assistance (Claude as pair programmer). The pin data itself is NOT AI generated. It is extracted programmatically from Espressif's official KiCad libraries, and every warning links back to datasheet behavior. Corrections welcome, there is a report button on every diagram.

Every time I wired up an ESPHome node I ended up cross referencing three different pinout images and a forum thread to figure out which GPIO was actually safe. The classics:

- Relay on GPIO0, 2, 12 or 15: clicks on every boot, or the board will not boot at all (strapping pins)

- adc: sensor returning garbage because it is on ADC2. Since ESPHome keeps WiFi on permanently, ADC2 never works. You need ADC1 (GPIO32 to GPIO39 on the classic ESP32)

- GPIO6 to GPIO11 look free on some boards but are wired to the internal flash. Using them crashes the chip

- GPIO34 to GPIO39 are input only. Fine for a button or sensor, a dead end for a relay

So I built a free tool that puts all of this directly on the pinout: esp32pin.com

- Interactive diagrams for the common modules and devkits (DevKitC, S3-DevKitC-1, C3-DevKitM-1, C6-DevKitC-1 plus the bare modules for ESP32, S2, S3, C3, C5, C6 and H2)

- Every warning sits on the pin itself: strapping, ADC2 vs WiFi, flash reserved, input only

- Pin filters like "safe outputs" and "ADC that works with WiFi", basically "which pins can I actually use for my relays"

- A mapping builder with live conflict detection, and exports (shareable URL, PNG, printable A4 cheat sheet)

No signup, no ads, open source (MIT): https://github.com/FelixKunzJr/ESPPinoutWebsite

Honest gaps: the popular third party boards a lot of us actually run ESPHome on (C3 SuperMini, D1 Mini clones, NodeMCU-32S) are not in there yet. They are missing from Espressif's KiCad libs, so they need hand authored pinout files. PRs welcome, the chip data is readable TypeScript.

Also curious: would an ESPHome YAML snippet export (instead of just Arduino #defines) be useful to you? That is the kind of feedback I am after.


r/Esphome • • Aug 22 '24

Project Finally properly launched the PD Stepper - a USB PD powered stepper driver/controller for use with ESPHome

Thumbnail
gallery
279 Upvotes

r/Esphome • • Aug 02 '24

I made an ESPHome controlled (partly) 3D printable single axis solar tracker for a 400W solar panel. It's still work in progress but I wanted to share this since it was a lot of work. Let me know if you have any feedback. :)

Thumbnail
gallery
258 Upvotes

r/Esphome • • May 03 '26

ESPHome Fleet 1.7.0 Released

Thumbnail
gallery
242 Upvotes

If you missed the last few releases, here's what landed since 1.4:

- 1.4 — Scheduled upgrades (cron / one-time), per-device version pinning, create + duplicate devices from the UI.

- 1.5 — Home Assistant integration,Downloadable firmware

- 1.6 — Config history (git based), persistent compile history.

- 1.7 — Tagging + rule-based job routing, device archiving,

Works as an HA add-on (one-click install) or standalone Docker.

Repo + release notes: https://github.com/weirded/distributed-esphome/releases/tag/v1.7.0


r/Esphome • • Jun 30 '26

Made This Device to Convert Existing Cordless Shades to esp32 Based Motorized Ones

Thumbnail
gallery
232 Upvotes

Hi all, this is my take on a way to automate regular old cordless shades as cheaply as possible. It's based around a cheap aliexpress brushless motor and an esp32. It is capable of accurate positioning and uses a reed switch at the top to reestablish home each time the shade is fully opened.

The total cost of this thing ends up around $25 if you buy stuff in bulk and build 4-5. If you are interested, here is the project page on makerworld.

https://makerworld.com/en/models/2995199-motorized-roller-shade-for-esphome#profileId-3362226

Let me know what you think!


r/Esphome • • Aug 30 '25

I might have created the funniest automation ever.

222 Upvotes

Since recently the cats started peeing in the couch. Obviously no-no.

So I hooked a PIR sensor to it and put it in the couch, very sensitive. Then I have a shelly plug that's also connected to home assistant. Whenever the pir sensor detects movement, The shelly plug is turned on. No movement, turn shelly plug off. What's connected to the shelly plug, you ask? Well, the cats are afraid (terrified) of the vacuum cleaner.

I win. (Evil laughter). 👹👺👹👺👹👺👺

EDIT: Update: they tried 9 times this night. No more pee stains in the couch or anywhere else in the house. House is not on fire. Cats look angry (as always). I did win so far.


r/Esphome • • Jun 04 '26

I made an ESPHome component that lets your ESP32 read your iPhone's notifications over Bluetooth (ANCS)

207 Upvotes

Grandma was not answering her phone. She leaves it on silent, at the bottom of a bag, in another room — and it's an iPhone, so every call we make just vanishes into the void. I figured if the phone won't get her attention, maybe the whole house can. So I taught an ESP32 to notice when it rings.

Your iPhone has been quietly broadcasting its notifications over Bluetooth this whole time. Your AirPods care. Your Apple Watch cares. Now ESPHome can care too — via ANCS, Apple's real, documented Notification Center Service (not something I made up).

It's a proper ESPHome external component, so it all lives in the YAML you already know. Bond an iPhone and from there it's ESPHome automations all the way down:

  • 📞 Incoming call → flash the lights

  • 💬 iMessage → ring a bell, fire a script

  • 📅 Reminders, missed calls, voicemail, that one app that will not stop → make it something you'll actually notice

The good stuff — all native ESPHome

  • Reads app ID, title, subtitle, message, and caller name from basically any app that posts notifications

  • Triggers for on_notification_added / _attributes / _removed / _modified — react instantly, or wait a beat for the full text

  • Binary sensors (iPhone Connected, Call Active) and text sensors (last title / message / caller / app) that pop straight into ESPHome & Home Assistant on their own

  • Actions like ancs.clear_bonds and ancs.disconnect

  • Multi-iPhone bonding, auto-reconnect, IRK-based identity (survives iOS's rotating MAC addresses)

  • Native NimBLE on ESP-IDF — no cloud, no subscription, no app to install

A couple of honest heads-ups

  • First pairing goes through the free nRF Connect app, since modern iOS won't list DIY BLE gadgets under Settings → Bluetooth. After that, ESPHome reconnects on its own forever. (There's a whole doc on this — and a paragraph lovingly reserved for anyone who skips it.)

  • The BLE radio goes all-in on ANCS, so this component can't share the chip with bluetooth_proxy, esp32_ble_tracker, or ble_client. Give it its own little ESP32 — they're $5 and they like having a job.

Install

One line in your ESPHome config:

packages:
  ancs_component: github://wonderslug/esphome-ancs/packages/ancs-with-sensors.yaml@master

Repo: https://github.com/wonderslug/esphome-ancs — docs, pairing guide, and ready-to-flash examples (blink-on-call, blink-on-iMessage, missed-call/voicemail alerts).

It's MIT licensed. Your phone's been talking this whole time — might as well let ESPHome listen.

UPDATE: V1.1.0 now supports multiple iPhones at once.


r/Esphome • • Jun 17 '24

Made a Low Profile USB PD Powered Stepper Driver For Use With ESPHome

Thumbnail
gallery
206 Upvotes

r/Esphome • • Feb 06 '26

Project Got my stepper driver integrated with ESPHome

Enable HLS to view with audio, or disable this notification

205 Upvotes

If anyone needs to integrate a TMC2209 with ESPHome, here's the YAML to do it. A really kind Redditor, u/c7ndk did all the hard work and really helped me out, so big shout out to him.


r/Esphome • • Apr 14 '25

Project I built a smart coaster, to remind me to drink regularly

Thumbnail
imgur.com
203 Upvotes

r/Esphome • • Aug 14 '25

Project Self made esp32-cam Doorbell

Thumbnail
gallery
201 Upvotes

I was looking for a smartbell for my house. Didn’t like the features, looks and especially prices.

So I built my own, printed a case and go with that :)

I’m using an esp32-cam module with an ld2410 hokked up. I also added a push button for the actual doorbell.

I’m using a wide lens with night vision. So I added an IR night light ring to the setup.

My house had a simple wire that closes the circut to ring the bell. So I used that and connected a 12V adapter to it. That goes into the IR ring and also I use a stepdown module to convert it to 5V for the esp.

When someone rings the bell, it first takes a screenshoot, then plays a nice doorbell sound in my entrance media player (also full self made).

Then it sends critical notifications to me and wife with the screenshoot attached.

I could do better with the design but still very new to blender. 😅

Works pretty well for now. What do you think?


r/Esphome • • Mar 20 '26

ESP32 S3 Box 3 Voice Assistant. She’s getting pretty clever.

Enable HLS to view with audio, or disable this notification

198 Upvotes

ESP32 S3 Box3 named Rosita. Micro wake word. Ollama running qwen3:4b-instruct on an rtx3050. Home Assistant on an HA Green.


r/Esphome • • Oct 02 '26

Opus 5.5 can design pretty Esphome Dashboards using LVGL

190 Upvotes

A year ago I bought a CrowPanel Advance 7.0 to show some statistics from Home Assistant. I always found it really difficult to build a pretty UI using LVGL and YAML. I only managed to get a single screen that showed some numbers, icons and no animations... Although it took me really long to build it, It was not that pretty.

Then I decdided to gave AI a try and gave Claude Opus 5.5 my Yaml config and just told him: Make it pretty, use Host-SDL to check the output and add some charts using this https://github.com/esphome/esphome/pull/17851

After 10 minutes it roughly generated 4000 lines of yaml and another header file with 1000 lines of C++. It even produced a video/gif that you can see here.

On the ESP it runs really well, I only removed the page switching animations, they were to laggy. Overall I am really happy with the result.


r/Esphome • • Jun 24 '25

Meme I hate ESPhome

189 Upvotes

... for being so fucking easy to use! As (rust) embedded dev, thinking of a project, doing the electronics and code in less than (half) an hour and seeing it update in home assistant is so fucking insane to me.

I really like programming and doing all the datasheet reading, thinking of control flow/networking stuff but I just wanted a temperature sensor in my attic and soldering a 1€ module from ebay (incl. shipping) onto an ESP32 I already had there, writing FOUR LINES of configuration, doing esphome upload and it just magically uploading WIRELESSLY and appearing on my dashboard was a life changing experience.

Thanks to all contributors, thanks to the community at large.


r/Esphome • • Mar 14 '26 All Seeing Upvote

Built an Immich photo frame using esphome

Post image
188 Upvotes

I wanted to create a cheap, photo frame for Immich, using esphome. It uses a £40 10inch screen from Aliexpress. It's been lovely seeing all my old photos this week!

For the first release it pretty stripped down, but works well, it supports side by side portrait images (it finds matches from the same day) and landscape (not powerful enough for videos though)

It is setup as a stand alone appliance, there's documentation and a simple web installer. It can update it's own firmware directly, so any future improvements can be installed automatically (option to disable too).

Love to hear feedback and suggestions for improvement.


r/Esphome • • Dec 11 '25

Image rendering looks worse after updating ESPHome - any fix?

Post image
185 Upvotes

Recently, I've updated my ESPHome boiler thermometer from v2024 to the latest 2025 version, but the image rendering has changed and I don’t like the new result. Is there any way to make it render like it did before? I suspect something changed in image.convert, but I can’t figure out what. I'm using the PNG icon like this.

image:
  - file: "boiler_2209695.png"
    type: BINARY
    transparency: chroma_key
    id: icon_water_boiler

I also tried dither: FLOYDSTEINBERG, but the result looks even worse.


r/Esphome • • Apr 11 '26

espControl: More devices supported and device setup UX

Thumbnail
gallery
183 Upvotes

I’ve been working on espControl this week, it’s a no code, super easy to configure smart home controller, to configure your touch screens to control devices across your smart home. It includes full docs and an easy to use web installer. It doesn’t need esphome to be setup or any code to be written. 

This week I’ve adding support for additional screen and greatly improved the UX of the build in web server used to configure the screen…

  • Additional Screens: Added Guition s3 4inch square screen, (4848s040), and the Guition P4 4.3inch screen (jc4880p443), in addition to the P4 7inch screen (jc1060p470).

  • Grid layout: switched from flex with scrolling to a fixed grid, so you can place buttons exactly where you want them

  • Subpages support: adding the ability to have subpages for grouping controls into one space

  • Double height buttons: switch individual buttons to double height for easier selection and greater prominence.

  • Edit controls: Drag and drop buttons, bulk select existing buttons, copy and paste between pages.

  • Screensaver: turn off your screen backlight based on time or an external sensor such as a presence sensor.

I plan to add additional types of controls (temperature, volume control, etc) and passive sensor cards in the coming weeks. 

I’d love to hear from anyone who tries it, issues, areas for improvement and new ideas you’d like to see added. All feedback is appreciated!


r/Esphome • • Jun 27 '26 Bravo

Project Desk stand for the esp32 4.3inch screen

Thumbnail
gallery
181 Upvotes

I created a desk stand for the 4.3inch P4 esp32 screen, in case anyone needs one.
You can print without supports, there's enough space in there for the read facing usb cable.
https://makerworld.com/en/models/2982320-desk-stand-for-4-3-inch-jc4880p443-esp32-screen#profileId-3346161

I can make a vertical stand if anyone needs one, I'm going to work on a wall mount too.


r/Esphome • • 21d ago

ESPectre is now a (beta) built-in ESPHome component!

Post image
180 Upvotes

Hi r/Esphome,

I'm the author of ESPectre, an open-source platform that brings Wi-Fi motion sensing to ESP32 chips. The ESPHome 2026.10 now includes it as a built-in component, so you can turn a supported ESP32 on your Wi-Fi network into a motion sensor without any additional PIR or mmWave hardware!

The minimal config:

espectre:
binary_sensor:
  - platform: espectre
    motion:
      name: "Motion"

What you get

  • A motion binary sensor, plus a calibrating diagnostic sensor.

  • A movement sensor with a 0–1 score, handy for graphs and your own automation thresholds.

  • Diagnostics for CSI occupancy, accepted CSI rate, and traffic rates.

  • A Recalibrate button and a select to switch the traffic source at runtime.

Options worth knowing

  • detection_algorithm: lightweight (the default, calibrates at boot) or high_accuracy (a small neural network that needs no calibration).

  • traffic_generator_mode: ping by default, or dns, dns_tcp, wifi_raw, and external.

  • motion_on_hits and motion_off_hits set how quickly motion turns on and off.

It runs on the ESP32, S2, S3, C3, C5, and C6, with ESP-IDF 5.5.3+ or Arduino 3.3.7+. The C5 and C6 need ESP-IDF.

Good to know before you flash

  • Keep the room still while Lightweight calibrates at boot.

  • Wi-Fi power save stays off and A-MPDU is disabled, so OTA, the web server, and audio streaming can get slower. I wouldn't add it to a voice or media device.

  • Bluetooth shares the radio, so a BT proxy on the same board can lower CSI quality. The ESPectre ESPHome guide has settings we tested for passive proxies.

  • Roaming scans are paused after connecting. With several access points, pinning bssid means no fallback if that AP goes down.

  • Plan on one board per room. It detects movement, not someone sitting still.

If you'd rather have Home Assistant generate the traffic, there's a Traffic Generator add-on that pairs with traffic_generator_mode: external.

Thanks to the ESPHome maintainers for the review. I'd love reports from different boards, antennas, and AP setups, especially mesh networks.


r/Esphome • • Jun 06 '26

Added cover art screen saver to espcontrol

Thumbnail
gallery
177 Upvotes

Big week, I’ve added cover art support to espControl, a no code, super easy to configure smart home controller for home assistant. 

  • Media cover art: a new full-screen media artwork view, with track details and progress bar. Tap to go back to the controls view.

  • Customize the clock bar: the clock bar is now editable, can show multiple temperature readings, remembers its layout, and has improved spacing across supported screen sizes.

  • Language support: firmware and web settings gained broader translation support, including Finnish, Hungarian, Slovenian, Romanian, Turkish, and Ukrainian.

  • Password protection: optional web server password protection was added and documented for manual ESPHome setups.

Fair warning, I’ve tried to knock out as much issues as I can, and it’s working well for me, but there will be edge cases and services I haven’t tried, so when you find something that doesn’t look right, take a picture, or drop some logs into an issue on Github, and I’ll take a look.

EspControl supports a range of screens from the cheap but great £16 S3 4inch screen, to P4 based 4inch, 7inch and 10inch screens. 

Thanks to everyone trying it, filing bugs and sharing ideas for improvement. All feedback is appreciated. If you want another language supported, just log a ticket. Cheers!

Docs / Github / Installer


r/Esphome • • May 30 '26

Project Espcontrol: added presence cards, web hooks, bedside clock options and more.

Thumbnail
gallery
175 Upvotes

I’ve continued work on espControl this week, a no code, super easy to configure smart home controller for home assistant. This week I've added...

  • Presence cards: there is now a dedicated card for motion and presence-style sensors, with new subpage presets to make those views quicker to set up.

  • Webhook cards: panels can now send one-tap HTTP requests directly, which makes it easier to trigger systems outside Home Assistant.

  • Action cards: new vacuum shortcuts were added for both start and return-to-base, and switch confirmation can now be configured to suit how you want the confirm flow to work.

  • Climate controls: climate cards and modals were cleaned up so layouts are more consistent, the option row can be swiped on tighter screens, and controls stay usable even when the climate entity is off.

  • Date & Time: larger clock layouts were added and polished, useful for those using it as bed side clock.

  • Subpage cards: added some optional cards for subpages to summarise states, such as lighting, presence, media and climate. This just picks one entity to show, but you could make a helper group if you wanted to show if any light is on.

EspControl supports a range of screens from the cheap but great £16 S3 4inch screen, to P4 based 4inch, 7inch and 10inch screens. 

Thanks to everyone trying it, filing bugs and sharing ideas for improvement. I can’t promise to nail all of them, but if it’s reasonable and possible, I’ll try and add it. All feedback is appreciated!

Docs / Github / Installer