Ask HN: What have you built with ESPHome, ESP8266 or similar hardware

192 points by fdw ↗ HN
Recently, ESPHome was on the homepage (https://news.ycombinator.com/item?id=40138228) and some people shared their constructions. What else have you built yourself with electronics like these? What makes your live easier or a little bit more fun?

156 comments

[ 3.9 ms ] story [ 249 ms ] thread
My GPT-powered e-Ink newspaper uses an esp32: https://imgur.com/a/NoTr8XX
This looks amazing! Do you have a guide? Would love to recreate this!
My goals to release source and docs a la https://github.com/eikehein/hyelicht got waylaid by the ultimate DIY project of having a baby in November, but I will try to get it done this year!
(comment deleted)
I’m not sure that’s what DIY means!

Congrats on the little ‘un!

Beautiful. Can you share the parts and wiring?
Very very cool, especially from the angle of unobtrusive, ambient technology (aka anti-doom-scrolling)
I've used ESPHome to:

Control my garage doors (thanks ratgdo!) Control my front gate (already had gate controls, this just triggers open/close) Control various appliances (ESPHome can be installed on "smart plugs")

I definitely have additional things I'd like to do, but I've a dearth of time.

I built a CO2 sensor that activates a fan in my office room to pull in fresh air if the CO2 levels go above 700ppm
I like this idea, any recommendations on specific CO2 sensor modules?
Not the OP, but I really like the SCD30 by Sensirion. It's the sensor used in the widely popular Aranet4, but the combo of sensor+MCU when you DIY it costs about a third of the commercially integrated product, so the feeling of thrifty hacker accomplishment is a nice bonus on top of the good HW.
The SCD30 also is a dual channel or dual beam NDIR sensor, meaning it doesn't really drift. Unlike most other ones that need the room to have outdoor-level CO2 once a day or week or so to calibrate.
Mine drifts all the time.. might be a lemon
Not OP, I use AirGradient recommended Senseair S8
Last year I wrote a blog post [1] about different CO2 sensors and how they work. The best are NDIR (light) followed by photo acoustic sensors. Indoors they have very similar performance but outdoors, the NDIR (light) are much more accurate. In my personal opinion, the best ones are from SenseAir.

[1] https://www.airgradient.com/blog/co2-sensors-photo-acoustic-...

I used this one: SCD30. I don't have any experience with any other so can't comment on others. The SCD30 needs frequent recalibrations so I run it in continuous calibration mode and let the fan run on super low speed so it gets fresh air during the night as it sets its calibration based on the lowest ppm reading per day/week.
I'm just starting a project with some other people at my local maker space to add an ESPHome monitor for our industrial air compressor to monitor leak down on the various main lines going to areas of the shop and to monitor the compressor working time for maintenance checks and such. The end result will get open sourced, hopefully along with a nice DIN mount to also be used in CNC controller enclosures and the like.
I love that! Now I am seriously tempted to hack up the control unit of my Fully and get it into Home Assistant so I can adjust the desk with a slider on the laptop for ... reasons.
I want to build a house-positioning system, but time, energy, and skill are lacking.

My wife, who has pretty extreme ADD, loses stuff like her wallet, keys, etc. We have Tiles on most stuff that gets lost, but sometimes the volume of the alert is lacking. I'd like something that uses multiple ESP32 or Pi receivers in known locations to triangulate the position of the bluetooth beacon in 3D space.

It's probably a bad idea, there might not be accurate enough timings or data to pinpoint the location. I've read somewhere that UWB will be much better at this.

EDIT: Another project idea: Sensor Light Switches. Would add sensors like occupancy, noise, pressure, temp, etc etc to the standard light switch plate/box. Then have that lovely data slurped up by something pretty to display it all.

I think you might want to look into https://espresense.com/

Basically, this will net you "room precision" location of people, but i can't see why it won't work for gadgets if they have a Tile on them.

Not quite "in 3D space", but may be useful enough...

I've put a bunch of rPI zeroes throughout the house with varying degrees of success. Works best with the home assistant beacon on my Galaxy watch, it's likely tile tags will work better. The only downside is that the PIs require an external Bluetooth dongle hooked with a USB extender, because of wifi interference.

I used raspberry so I can use room-assistant for home assistant. You could probably hack it up with a bunch of ESPs and a central server to aggregate it all. Then trilateration should be fairly simple.

I setup an LED strip with an ESP8266 and ESPHome for my 3d printer enclosure. I recently took it apart and integrated it into my 3d printer itself, but planning to set it up again to light my figure collection instead.

I also built a set of inertial full body trackers for VR usage with them. Although they could use some redesigning, probably with lower power MCUs, current ones are a bit too large for my liking.

I used an ESP8266 to build an air conditioning "remote" that I can control with my Home Assistant setup. I was pretty surprised when I moved and it still worked at the new apartment.

I also bought some LED matrix displays that I'm going to use to display information about when trains are due at my nearby station.

I built a toilet occupancy light for the office. We had a long office with a single toilet, so built a battery powered closed-door detector on one side, and a mains-powered sign that indicated whether the toilet was free or not.

Very reliable, ESPHome was never an issue. This was circa 2018.

I only got a proof-of-concept working, but I made a board that would allow payment for arcade games and pinball machines over wi-fi without disabling the coin slot. Free-play can be enabled by sensing the P1 and P2 start buttons. Security was an interesting puzzle because the 8266 ran out of memory when trying to host an SSL stack, so I went with HMAC signed messages.
(comment deleted)
I use it to monitor my water meter in Home Assistant and have one sensor that reads various values (e.g. water temperature) from our domestic water heat pump via Modbus. The latter one could also be controlled with the ESP, however writing to Modbus makes me feel a little uneasy (that is mostly due to lacking documentation by the manufacturer, who apparently outsourced the firmware part).
I built a little robot that props open a door when the av cabinet gets too hot. It has a temperature sensor, two fans and a linear actuator. It even has a small webui so I can manually enable/disable cooling. Been working for several years.
Ha, that's a great idea. I have a smart exhaust fan in the av closet, but it still lacks air circulation, so opening the door slightly every now and then (particularly when there's high load / heat dissipation) could be a nice extra feature.

How did you mount the linear actuator? I need to retain the ability to manually open/close the door. Maybe using a magnetic latch.

The door hinge has a spring that will self close if it’s not opened too far. I mounted the actuator so it pushes the door open just behind that point. That turned out to be simplest solution.
Love it, will do the same. Thank you for the inspiration!
I have not built anything novel — just utilizing community projects have been a wonderful improvement at home: 1. Ratgdo for the garage door 2. Esphome EcoNet for my water heater 3. Off the shelf Sonoff switches for some holiday lighting.

All of this is tied with a bow via Home Assistant.

Does a raspberry zero count? I replaced the dubiously secure Chinese box that came with my solar panels with a home grown energy monitoring solution, hooked up to HomeAssistant. And I made a full color eInk photo frame that displays seasonally appropriate, generated images from a stable diffusion like-algo.
Which colour e-ink panel did you use? Any pictures of your setup?
An Inky 7.3 inch, pimoroni sells them. Pretty good, but the colors are cleary muted and it aggressively dithers (only 7 different ink colors in pixel)

I made an overly greasy movie to impress hiring managers on linkedin, should actually do a writeup and make some photos of the thing in its proper wooden frame...

https://files.rombouts.email/photoframe.mov

Also I run a fine tuned stable diffusion nowadays through Replicate ai, it now creates scenes starring my kids' pluche toys. Live view of the latest generation at the index page...

https://files.rombouts.email

I'm helping our local Fablab to manage physical access with a series of ESP8266 and esp-rfid https://github.com/esprfid/esp-rfid/ (of which I became maintainer. If you want to use it as well I can help!)
I would pay real money for a system like this with actual security. The obvious starting point would be CTAP2 — the protocol is open, high quality fobs are inexpensive (not as cheap as Mifare, though) and widely available from multiple sources, and the protocol has been analyzed for real. One could probably even extract an actual production grade implementation of the NFC side from the Android sources. Apple Home Key support would be nifty, too. PIV would be another credible choice.

Extra bonus points for support for real commercial readers using OSDP’s transparent mode or whatever they call it these days. As I understand it, an early standard involved a horrible hack that was so horrible that HID managed to patent it, but the protocol was redone to avoid being a horrible hack, and the new version is also unencumbered. Although maybe the spec costs $30.

I put together an esp32 + accelerometer in a little 3d printed box. Made two sets and taped one of each on my washer and dryer, now they detect the start and end of a cycle and send me a notification through home assistant. The tablet in the kitchen get a notification too and makes a special sound when the clothes are done!
Oh I like that. We have LG washer and dryer but I have 0 interest in connecting then to Wi-Fi. Right now we have a z-wave button sitting on the washing machine that starts a timer when we press it, but since the washing machine has variable run times, it's imperfect.
We have a "smart" washer & dryer, and the Alexa voice announcement when the cycle finishes is handy.
It works pretty well, and it's nice having full control of the smarts. My washer and dryer don't have a built in buzzer for some weird reason, so it's been a nice upgrade.
Someone else on HN mentioned a couple of months ago that they were using a power meter for the same purpose. There are a lot of cheap zigbee and zwave outlets that will report power, though you'd have to implement the thresholding logic on your controller.
A set of cheap temperature sensors out of D1 minis that report data over MQTT. Just a simple piece of code, not using any fancy stuff like ESPHome or Tasmota as there was no need for it. In the end they are supposed to guide the gas boiler heating over OpenTherm, but haven't done that part yet.

I've also made an e-ink calendar with bin collection schedule with Inkplate (ESP32) [0] and now I'm making a Frets on Fire-compatible rhythm game based on ESP32-S3 [1] (initially made for the CCCamp's flow3r badge, now designing a simplified board for it [2][3])

[0] https://social.librem.one/@dos/106014037294005493

[1] https://social.librem.one/@dos/111478238181935805

[2] https://social.librem.one/@dos/112008114803722974

[3] https://social.librem.one/@dos/112179746918615110

Last year I built a balcony watering system using an 8x ESP32 relay system from Lilygo, paired with mini submersible pumps. To monitor plant health, I integrated MiFlora sensors over BLE. Managing minimum soil moisture and pump duration has been 'configured' by hosting a configuration files on Pastebin.

This year, I'm taking it a step further by developing a management front-end. Instead of the hacker GUI using Pastebin, I'm implementing an extra M5 Atom running MicroPython with a web GUI. This interface allows me to configure the sensors, visualize sensor data with charts, and send notifications via NTFY to my phone.

I am considering open-sourcing the project.

https://www.lilygo.cc/products/t-relay-5v-8-channel-relay

https://de.aliexpress.com/item/1005006100423471.html.

https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-ki...

I built an automated apparatus to convert water, yeast and starch into sanitizer in April/May of 2020.

I used ESP32s for individual sensing components (mostly temperature at various parts of the process but also a load cell for weight). I used the Tasmota firmware and tied them all together using MQTT over wifi. I drove it with node-red on a raspberry pi to build several PID loops and process controls and if I were to do anything similar again I would use the same architecture except I would add network booting for the ESP32s so I could swap them out as needed.

Screenshot from a node-red dashboard from very early in the process.

https://imgur.com/a/so7iZJX

I ended up with 7 temp sensors and two load cells running on four ESP32s. By the time I had it optimized my job was to swap containers out every time it said to replace container over a speaker.

E Ink Todo list on my wall that pulls from Todoist, which I can update from my watch.

https://blog.praccu.com/

I should update the post with details.

I ended up using DFRobot firebeetle because it respects sleep mode. I'm at 15 months on one charge with a 10Ah battery.

My AI chat thing: https://imgur.com/a/cxR8KpM (WIP). Connects to openai transcription, completion and tts APIs. Refactoring to use assistants, to use it to feed it my fridge's manual and have it think it's my fridge.