Making Sure The Basement Stays Dry With An ESP8266

A high level pictorial schematic of the basement monitor.

The hack we have for you today is among our most favorite types of hack: a good, honest, simple, and well documented implementation that meets a real need. Our hacker [Solo Pilot] has sent in a link to their basement monitor.

The documentation is quite good. It’s terse but comprehensive with links to related information. It covers the background, requirements, hardware design, sensors, email and SMS alerts, software details, and even has some credits at the end.

Implementing this project would be a good activity for someone who has already made an LED flash and wants to take their skills to the next level by sourcing and assembling the hardware and then configuring, compiling, deploying, and testing the software for this real-world project.

To make this project work you will need to know your way around the Arduino IDE in order to build the software from the src.zip file included with the documentation (hint: extract the files from src.zip into a directory called AHT20_BMP280 before opening AHT20_BMP280.ino and make sure you add necessary boards and libraries).

One feature of the basement monitor that we would like to see is a periodic “everything’s okay” signal from the device, just so we can confirm that the reason we’re not getting an alarm about flooding in the basement is because there is no flood, and not because the battery ran dead or the WiFi went offline.

If you’ve recently started on your journey into where electronics meets software a project such as this one is a really great place to go next. And of course once you are proficient with the ESP8266 there are a thousand such projects here at Hackaday that you can cut your teeth on. Such as this clock and this fault injection device.

36 thoughts on “Making Sure The Basement Stays Dry With An ESP8266

  1. My main concern is around security. Don’t want my WLAN to be opened up and read the ESP8266 are less secure.

    On the performance and classification of legacy, your comments resonate with my understanding. Just because there is someone younger doesn’t make the existing old per se. In particular, when I consider the use cases, I use them for.

  2. Years ago I made a similar project for my crawl space that has a sump pump. I use an HC-SR04 ultrasonic module to monitor the level of the sump pit, a BMP280 for the temperature/humidity and an MQ9 to measure for gas. It uses a Wemos 8266 mini and has been chugging along for years. I had to replace the $.99 power supply from Goodwill once. I’m planning to move from Blynk to Home Assistant when I figure out the **$##!! MQTT part. I also have a few water leak detectors around the house running off a 9v battery and an ESP8266-01.

  3. No designer with half a brain will run DC to water sensor electrodes. UGH.
    I still use the ESP8266 for a security system and it works great. The ESP32 has too much computing power/current drain/library issues.

      1. Ignore Kelly’s misguided comment. They are confusing a water contact sensor with a [soil] moisture sensor. A moisture sensor is seldom truly dry, so DC can quickly cause corrosion of the sensor due to a trickle of current flowing in the same direction all the time. AC causes corrosion too; it just takes longer. But for a sensor like the one in this article, DC is actually an excellent choice since it only has to conduct current for a few seconds to save a basement. Prior to a flood, the dry sensor would not corrode. The use of AC would complicate the design but would not improve its operation.

  4. Generally, for a hobbyist who started in ESP-land with the ESP32, it’s not worth learning the development differences necessary to use the ESP8266 unless you have a project that really needs low power, lots of units, or wants to operate on existing hardware like a discarded IoT device. But if you started with the ESP8266, you’ll reach for it when it’s adequate; I have a pile of ESP-01 modules for the really simple stuff.

Leave a Reply to doobsCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.