A high level pictorial schematic of the basement monitor.

Making Sure The Basement Stays Dry With An ESP8266

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.

The Screamer Is Just Like The Clapper But Even More Annoying

Remember The Clapper? It was a home automation tool (of sorts) that let you turn appliances on and off by clapping. [Kevin O’Connor] has built something rather similar, if more terrifying. It’s called The Screamer.

The build is based around a Sonoff S31 smart switch. [Kevin] selected an off-the-shelf device because he wanted something that was safe to use with mains power out of the box. But specifically, he selected the S31 because it has an ESP8266 inside that’s easy to reprogram with the aid of ESPHome. He ended up hooking up a whole extra ESP32 with an INMP441 microphone over I2S to do the scream detection. This was achieved with a simple algorithm that looked for high amplitude noises with lots of energy in the 1000 – 4000 Hz frequency range. When a scream is detected, it flips a GPIO pin which is detected by the S31, which then toggles the state of the smart switch in turn. Job done.

It’s a simple project that does exactly what it says on the tin. It’s The Screamer! If you’d like to learn more about the original Clapper that inspired this build, we’ve looked at that before, too. Meanwhile, if you’re cooking up your own excuses to scream at the lights and walls in your home, please only notify the tipsline if it has something vaguely to do with electronics or hackery.

Atomic Clock Trades Receiver For An ESP8266

The advantage of a radio-controlled clock that receives the time signal from WWVB is that you never have to set it again. Whether it’s a little digital job on your desk, or some big analog wall clock that’s hard to access, they’ll all adjust themselves as necessary to keep perfect time. But what if the receiver conks out on you?

Well, you’d still have a clock. But you’d have to set it manually like some kind of Neanderthal. That wasn’t acceptable to [jim11662418], so after he yanked the misbehaving WWVB receiver from his clock, he decided to replace it with an ESP8266 that could connect to the Internet and get the current time via Network Time Protocol (NTP).

Continue reading “Atomic Clock Trades Receiver For An ESP8266”

Bits of GRUB syntax on pink background

Wake, Boot, Repeat: Remote OS Selection With GRUB And ESP

What do you do when you need to choose an OS at boot but aren’t physically near your machine? [Dakhnod]’s inventive solution is a mix of GRUB, Wake-on-LAN (WOL), and a lightweight ESP8266 running a simple HTTP server. In the past, [dakhnod] already enlightened us with another smart ESP hack. This one’s a clever combination of network booting and remote control that opens up possibilities beyond the usual dual-boot selector.

At its core, the hack modifies GRUB to fetch its boot configuration over HTTP. The ESP8266 (or any low-power device) serves up a config file defining which OS should launch. The trick lies in adding a custom script that tells GRUB to source an external config:

#!/usr/bin/env cat 
net_dhcp 
source (http,destination_ip_or_host:destination_port)/grub/config

Since GRUB itself makes the HTTP request, the system needs a running web server. That could be a Raspberry Pi, another machine, or the ESP itself. From there, a WOL-enabled ESP button can wake the PC and set the boot parameters remotely.

Is it secure? Well, that depends on your network. An open, unauthenticated web server dishing out GRUB configs is risky, but within a controlled LAN or a VLAN-segmented environment, it’s an intriguing option. Automation possibilities are everywhere — imagine remotely booting test rigs, toggling between OS environments for debugging, or even setting up kiosk machines that reconfigure themselves based on external triggers.

For those looking to take it further, using configfile instead of source allows for more dynamic menu entries, although it won’t persist environment variables. You could even combine it with this RasPi hack to control the uptime of the HTTP server. The balance between convenience and security is yours to strike.

If you’ve got your own wild GRUB customisation, let’s hear it!

Microwave Motion Detector Notifies Your Smart Phone

Your garden variety motion detector uses IR, but these days, there are fancier technologies for achieving similar goals. If so desired, you can source yourself a microwave-based presence sensor instead. Indeed, like [N-08 Labs], you might like to whip one up into a basic intrusion detection system.

The idea is simple enough—take a RCWL-0516 microwave presence sensor, and set it up to detect motion and warn you when it happens. It’s a simple part to use—it simply drives a 3.3 volt logic output high if it detects someone or something. It basically just emits a microwave signal and detects a change in phase when someone or something—usually something fleshy—is in front of it. [N-08 Labs] simply hooked one up to an IO pin on an ESP8266, with the microcontroller board set up to communicate wirelessly with a Blynk IoT app, which then in turn fires off a smartphone notification that the sensor picked something up. The whole thing is built inside the shell of an AC adapter that provides power and let it easily hide in plain sight.

A project like this doesn’t just have to be for security purposes. You might even just use it to determine when your pet (or a racoon) is using the cat door, or similar. Indeed, we’ve seen great solutions to that particular problem, too. Video after the break.

Continue reading “Microwave Motion Detector Notifies Your Smart Phone”

Gimbal Clock Relies On Servos For Its Cool Movements

In the annals of human history, clocks got boring there for a while. Most were just variations on hands spinning in a circle, with the occasional tweeting bird mechanism to liven things up. These days, we’re treated to all kinds of original and oddball designs, like this neat gimbal clock from [Twisted&Tinned].

The concept of the build is straightforward enough. It has four main vertical arms, each with a servo at the base that rotates about a vertical axis. Upon each arm are between one and three servos which rotate 3D printed structures in the shape of numbers. A Wemos D1 Mini microcontroller commands the servos to the correct positions to display the current time. It also uses its WiFi connection to get accurate time updates directly from a network time server.

It’s quite an artistic build—and it’s rather enjoyable to watch this one flex and twist its way into displaying the right time. It’s also easier to read at a glance than some of the more unintelligible designs out there. Indeed, we see all kinds of neat and innovative clocks around these parts.

Continue reading “Gimbal Clock Relies On Servos For Its Cool Movements”

Using The ESP8266 For Low-Cost Fault Injection

As a general concept, fault injection is a technique that studies how a system reacts to unusual or unexpected external forces. The idea is that, if you can trigger a glitch at the precise moment, you might be able to use that to your advantage in disabling security features or otherwise gaining further access to the device in question. In the hardware world, this could be achieved by fiddling with the power going into the device, or subjecting it to extreme temperatures.

We’ve covered voltage glitching attacks on these pages in the past, but most of the tools used are fairly expensive if you’re not doing this kind of thing professionally. Luckily for us, [Aditya Patil] has developed a fault injection tool that can run on a standard ESP8266 development board. Obviously it’s not as capable as a bespoke device costing hundreds of dollars, but if you just want to experiment with the concept, it’s a fantastic way to wrap your head around it all.

Continue reading “Using The ESP8266 For Low-Cost Fault Injection”