An Update on my Roll-Your-Own IoT


As things continue to happen in the commercial IoT space like Wink switching to requiring subscription fees, I continue to feel happy that I’m creating my own Internet of Things solutions rather than relying on commercial vendors who can decide to disappear or suddenly start charging fees. The cost for me is that things go at a slower pace and, obviously, don’t have sleek packaging. I think I can live with that.

Raspberry Pi B (1st Gen)

Because I don’t have that much disposable income for my projects, I prefer for my hardware projects to solve a problem for me. In this case, one of the problems I’ve had is leaving the garage door open and not realizing it. Mostly this happens when something distracts me (usually a parenting “emergency”) and breaks up the routine where I check the garage door after putting away all the kids’ outdoor toys. So, after finding someone who’d done a similar project with a first gen Raspbery Pi, I decided to code up my own solution. As of now I’ve got the system interfacing with Home Assistant to let me know at a glance if the garage door is open (great if I’m on any floor other than the first floor) and also have set up an integration for HA to let me know if the door is open after sunset. Additionally, I have the status pushed to my Matrix instance. There are a few more tweaks I’d like to make, both to make it more useful for folks who aren’t me, and just to get it to a perfect level of reliability (right now a REALLY strong wind can cause a blip where the doors seems to open and then close).

Arduino MKR WiFi 1010 and ENV Shield

Once again, this project is about helping me out with my shortcomings. All too often I would end up getting into the shower and forgetting to turn on the fan. Since I like to shower with water just this side of first degree burns, this isn’t so good for the bathroom environment which can reach into the realm of 90% humidity. So I built a sensor with the Arduino MKR WiFi 1010 and the ENV Shield. It measures humidity and when it reaches a certain threshold, it tells Home Assistant to turn on the bathroom fan. It also reports back the temperature and the light intensity. The mini-breadboard you see in the above image was something I added to try and do some hardware debugging. It did help me realize quite a few things I needed to change in my code. It also seems to keep the ESP32 chip from locking up. I’m not sure if that’s because having some load (from the LEDs) actually does something or if it’s just coincidence. But after adding the breadboard, the system went from a few days between lockups to going weeks before needing to be power cycled.