My adventures of building a smart home on a shoestring budget are taking an interesting turn. It turns out that I don’t need to splurge on costly smart home devices. Thanks to my colleague Adam Conway’s first-hand experience of building cheap smart home sensors with ESP32, my smart home dreams got a serious boost.

So, I went on a sensor shopping spree and ended up buying more than a handful of them. I ensured that I could pair them with my ESP32 board and eventually integrate them into Home Assistant. Despite the learning curve (and a few weekends), it was totally worth it. If you don’t mind tinkering, here are seven sensors under $10 that have been absolute game-changers for my smart home.

Electromechanical sensor for doors and windows

A simple and reliable way for security automation

For security reasons and basic automation, I picked up an electromechanical sensor, better known as a magnetic reed switch. While starting small, it was surprisingly easy to plug into an ESPHome board, define it in the YAML file, and flash it. Dealing with the filters was also interesting, since I could set up an automation to alert me if the door was left open or if someone opened it after midnight.

Once I fine-tuned the filters, I added some basic automation to trigger only when I am not home. Since this sensor doesn’t depend on a battery or an internet connection, it is fast, reliable, and continues to work even if the network is down. Hence, I installed a couple of them on my home’s back door and windows.

Temperature and humidity sensor for weather reports

Helps in planning the day and other chores

I was amazed at how the temperature and humidity sensor had quickly become a household favorite. Using the data derived from it, my family checks the weather card before stepping out for errands or meetups.

Getting its report data took some tinkering, but now it pipes those details into Home Assistant. I also combine it with Pirate Weather for more precise local forecasts. It has helped me choose comfortable clothing more than once.

Next, I feed this sensor’s data into a locally hosted LLM to get better clothing recommendations. Additionally, I hope that it will help me plan room renovations and prevent mold.

Motion sensor for presence detection

Commandeer automations and alerts based on your presence

I use my phone’s location for presence detection, but the delay would bug me. So I grabbed a Passive Infrared (PIR) to fix that and also some automation that involves motion detection. While the sensor’s setup was straightforward, it initially went wrong. I powered it from a 3.3V pin instead of the 5V pin. After correcting that, it didn’t take me long to get it working with ESPHome firmware.

Now it helps me run some presence-based automations and also alerts me whenever stray dogs sneak into our garden. Next, I plan to group it with presence sensors that use only Bluetooth.

Light Dependent Resistor for smart lighting

Adjusting the automated lights more precisely

Time-based automations are no-brainers, but sunset and sunrise don’t happen at those fixed hours. That’s why I thought a Light Dependent Resistor (LDR) sensor could help me. With that, I adjusted my automation to control the indoor lighting based on the brightness outside dynamically. The transitions now feel more natural, and not jarring or sudden.

For fun, I even use the same brightness data to experiment with my camera’s exposure triangle — aperture, ISO, and shutter speed, when taking a few pictures. That’s my bonus for using such an inexpensive sensor.

Sound detection sensors to trigger alerts

Staying aware of abnormal events and improving security

A simple sound detection sensor makes my washing machine smart. It picks up the hums or rattles when the machine is in use, and the Home Assistant notifies me when the laundry cycle is complete. But that often misfires when neighbors blast music. I combine it with the PIR sensor to create a DIY security system that listens and detects, especially at night.

The primary challenge is the issue of false positives. Besides a little calibration to help it distinguish between neighbors’ repairs and laundry time, it’s been incredibly helpful.

Water Level Sensor for storage tanks

One step to avoid water wastage or flooding

I spent several hours getting this to work, but it paid off. The water level depth sensor helps me monitor the tank levels and alerts me to shut off the pump before it overflows through Home Assistant. I’m still looking for a suitable smart plug to automate turning off the pump.

Since I live in a flood-prone area, I am also using this sensor to track the water accumulation just outside my home. While it works most effectively during heavy rains, it helps prepare for more severe monsoons. Meanwhile, I get to save gallons of water by preventing tanks from overflowing.

Soil hygrometer sensor for garden

Taking care of the plants with data

Gardening has always been a challenge for my family. My mom’s the only enthusiastic one, but she struggles sometimes. To help her, I added a soil hygrometer sensor on our plant beds. It measures soil moisture and reports so that we know how much water the plants need. Hopefully, it helps my family understand that overwatering doesn’t help. After all, we too want to understand the plants’ needs better.

The biggest challenge so far has been to keep the sensor functioning and protect it from accidental splashes. So far, I’ve been using makeshift wrappers to keep the sensor dry till I get a better enclosure.

Building a smart home doesn’t have to be expensive

It’s difficult to describe how satisfying these cheap little sensors work together to make my smart home shine. The only challenge is to get a proper enclosure to protect them from dust and weather. I’m exploring some 3D printing options and hoping to pick up some design wisdom from my colleague, Jeff Butts, to create custom cases. That would be worth checking to ensure these sub-$10 sensors keep my smart home connected.