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?
The on air package is so cool! I was a bit surprised to see it written in Go, but it explains the Mac/Linux portability. I just got a spare esp32 a couple days ago and thought it would take a while to find a good use for it, but I think this is it.
Is the esp board connected to a relay which toggles a regular 110V sign? I’m conflicted about running the board on a higher amperage 5V power supply and using a 5V LED matrix for indicating on-air status or just getting some off the shelf 110V type thing to toggle on or off. The matrix sounds more fun, for sure.
Edit: and thank you for sharing your work on this!
I’ve built a small scale ‘flat’ that is meant to act as a ‘living’ object that is a bed side companion for sick children that are lying in a hospital.
The idea is that you give a certain floor to family or friends so that they can control the lights (and color). The child can see if parents, grandparents or friends are home or not (based on a schedule or manual action). It gives a sense of reassurance and closeness of the relatives. Also very fun to see a living object next to your bed.
The software on the atom is micropython and the neopixel module. It connects to a webapp (through wifi) and listens to a JSON endpoint that gives the states of the leds (aka floors).
The webapp is a django app with a main user for the flat and he or she can invite others to control certain floors. All mobile friendly (no native app).
We have 4 live and deployed flats and are in the process of making more for our local hospitals.
The flat (wood) is custom made and pretty labour intensive.
A very fun project and learned a lot about hardware (and the deployment) coming from a saas background.
I built almost the same thing! Mine is a Christmas house with a tiny person living inside, you get a realistic fireplace, a TV, and the person goes around the house every so often:
I've built tons of things. Most usefully, I built presence/motion/light/temperature sensors for my home, along with IR transmitter so I can control my TV/AC. They're about the size of two matchboxes, they cost about $10 each and they're amazing for my home automation:
I've built cat toys for my blind cat, toy planes, a CNC, a cat feeder, a back-scratching robot, and more stuff that I can't remember. I love the ESP8266.
I would be interested in hearing about what kind of "programming" you considered for the "Home". I have been over-ambitiously thinking about a project like this (been calling it my "Building X" project) using an RPi and small screen in the window. I was planning to basically run a soap opera, where the system would usually run idle loops (like a screensaver[1]) but elements of plot could play occasionally when a presence detector verified someone was around to watch. I was envisioning users being able to subscribe to the type of story they wanted to see; murder mystery, rom-com, scifi, etc. Unfortunately I'm a hardware guy, not a TV producer so I never got anywhere.
Oh, it's a simple state machine with the "person" having a probability to go from a room to the next every few seconds. I also compressed the first X minutes of some Disney movie to single pixels for the "TV" colors, and a fireplace video (I think) for the "fireplace" colors.
The source is linked in the video, I'm sure, so you can have a look if you want.
I've been thinking about creating some more interesting interactive cat toys like this -- wiring the hardware and doing the programming are pretty easy, but where I'm stuck is building the actual cat toy bits that the electronics control! How have you approached this in your projects?
It depends on what you want to do. In my case, I have a blind cat and I needed a toy that she could hear. I 3d printed a simple ball, and I made a very small circuit with a bare ESP8266, a speaker, a small battery, and a vibration sensor. The sensor resets the ESP, which plays a short song on the speaker and then goes into deep sleep.
Sure, have a look at the source in my repo. I bitbang the pulses in a naive way. I realized later that everyone uses the same protocol and reading about it first would have been better, but it wasn't hard to bitbang anyway.
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!
I have forty dutch buckets in four zones with cucumbers, tomatoes, eggplants, and peppers hooked up to two thirty gallon reservoirs and four ten gallon drainage tanks via a series of pumps and valves (using ESPhome sprinkler controller module). The first reservoir is pure RO water fed by a valve connected to the tap and the second is connected to a series of peristaltic pumps and sensors. They pump pH up and down as well as nutrients from concentrate into the reservoir and the concentrate bottles sit on DIY magnetic stirrers that run daily to prevent precipitation. Six ESP32s in waterproof Sockitboxes control all of this via a bunch of relays. The pH controller ESP32 gets mqtt messages via Atlas Scientific pH sensor while most of the other pumps are either on a schedule or respond to mqtt messages from Vegetronix water level sensors. I also have several Vegetronix liquid flow sensors that are hooked up to an ESP32 with solar and a battery that acts as a watchdog and alerts me via text message and indoor alarm if water doesnt flow for 12 or more hours.
The outdoor tap is also hooked up via valve to a drip irrigation loop that waters some roses and pots full of herbs, cabbage, etc.
The indoor setup is similar but much smaller with metal halide lamp and LEDs in a grow tent for out of season growing and seedlings. Protip: never put vining plants like cucumbers in a grow tent. Its a huge pain.
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])
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 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.
A snapcast client, which can play audio synchronized on multiple rooms
https://github.com/DavidVentura/esp-snapcast
An stratum-1 NTP _server_ (read: gets its time from GPS), and displays time with unreasonable precision (not necessarily accuracy!)
https://github.com/DavidVentura/esp-ntp
A few HUB75 signs which display public transport status (the public transport bits are not published anywhere yet)
https://github.com/DavidVentura/hub75-esp
An "on-air" sign that turns on/off if my wife or I join a meeting (based on camera/mic usage, for Linux and Mac)
https://github.com/DavidVentura/on-air
A purely decorative sign that looks like a pixelated fire
https://github.com/DavidVentura/matrix-fire
A kindle-controlled bedside lamp (just mqtt, but functionality is priceless - blogpost is unrelated but it's the only video I've got)
https://blog.davidv.dev/building-an-mqtt-client-for-the-kind...
An HDMI switcher (just a GPIO toggle) & a full-house blinds controller (just a relay hooked to the central, manual system)
https://blog.davidv.dev/extending-the-capabilities-of-dumb-d...
Is the esp board connected to a relay which toggles a regular 110V sign? I’m conflicted about running the board on a higher amperage 5V power supply and using a 5V LED matrix for indicating on-air status or just getting some off the shelf 110V type thing to toggle on or off. The matrix sounds more fun, for sure.
Edit: and thank you for sharing your work on this!
The idea is that you give a certain floor to family or friends so that they can control the lights (and color). The child can see if parents, grandparents or friends are home or not (based on a schedule or manual action). It gives a sense of reassurance and closeness of the relatives. Also very fun to see a living object next to your bed.
See it here: https://imgur.com/gallery/4ZOYdH5 And here (colors): https://imgur.com/gallery/z0yZJ7d
The hardware is a Atom Lite from M5Stack (see: https://shop.m5stack.com/products/atom-lite-esp32-developmen...) and a led stripe with addressable leds.
The software on the atom is micropython and the neopixel module. It connects to a webapp (through wifi) and listens to a JSON endpoint that gives the states of the leds (aka floors).
The webapp is a django app with a main user for the flat and he or she can invite others to control certain floors. All mobile friendly (no native app).
We have 4 live and deployed flats and are in the process of making more for our local hospitals.
The flat (wood) is custom made and pretty labour intensive.
A very fun project and learned a lot about hardware (and the deployment) coming from a saas background.
https://www.youtube.com/watch?v=1RUqTN-7_gU
https://gitlab.com/stavros/sensor-board/
I've built cat toys for my blind cat, toy planes, a CNC, a cat feeder, a back-scratching robot, and more stuff that I can't remember. I love the ESP8266.
Also, an e-ink display that shows my calendar:
https://www.stavros.io/posts/making-the-timeframe/
A house with a tiny person living in it:
https://www.youtube.com/watch?v=1RUqTN-7_gU
A way to project images in mid-air, for long exposure photography:
https://www.stavros.io/posts/behold-ledonardo/
A button that I can press to get food:
https://www.stavros.io/posts/emergency-food-button/
A drone that blows bubbles:
https://www.youtube.com/watch?v=xk99zrlAp9U
A toy bus that shows you when the next actual bus will come:
https://www.stavros.io/posts/bus-stop-bus/
A rotary mobile phone:
https://www.youtube.com/watch?v=fSkdWQswpc8
An alarm clock with the weather so I know whether it's worth waking up for tennis:
https://www.stavros.io/posts/do-not-be-alarmed-clock/
The frosted windows and NeoPixels are brilliant!
[1] Johnny Castaway: The story! https://www.youtube.com/watch?v=hVgGfKY91Lg
The source is linked in the video, I'm sure, so you can have a look if you want.
EDIT: It wasn't, a fairly big omission on my part. Here: https://gitlab.com/stavros/home
What are you thinking of making?
Any pointers for doing this? I've wanted to do this for a while
https://esphome.io/components/climate/climate_ir.html
TV also:
https://esphome.io/components/remote_transmitter.html
The outdoor tap is also hooked up via valve to a drip irrigation loop that waters some roses and pots full of herbs, cabbage, etc.
The indoor setup is similar but much smaller with metal halide lamp and LEDs in a grow tent for out of season growing and seedlings. Protip: never put vining plants like cucumbers in a grow tent. Its a huge pain.
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
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...
How did you mount the linear actuator? I need to retain the ability to manually open/close the door. Maybe using a magnetic latch.