Hackaday Prize 2023: EyeBREAK Could Be A Breakthrough

For those with strokes or other debilitating conditions, control over one’s eyelid can be one of the last remaining motor functions. Inspired by [Jeremiah Denton] blinking in Morse code on a televised interview, [MBW] designed an ESP32-based device to decode blinks into words.

While an ESP32 offers Bluetooth for simulating a keyboard and has a relatively low power draw, getting a proper blink detection system to run at 20 frames per second in a constrained environment is challenging. Earlier attempts used facial landmarks to try and determine, based on ratios, whether an eye was open or closed. A cascade detector combined with an XGBoost classifier offered excellent performance but struggled when the eye wasn’t centered. Ultimately a 50×50, 4-layer CNN in TensorFlow Lite processes the camera frames, producing a single output, eye open or closed. For debugging purposes, it streams camera frames over Wi-Fi with annotations via OpenCV, though getting OpenCV to compile for ESP32 was also nontrivial.

[MBW] trained the model using the MRL dataset and then quantized to int8. Getting the Bluetooth and Wi-Fi stacks to run concurrently was a bit of a pain, as was managing RAM. After exhausting SRAM and IRAM, [MBW] had to move to PRAM. The entire system is built into some lightweight goggles and makes for a fairly comfortable experience.

While TensorFlow and microcontrollers might seem like a bit of an odd couple, at the end of the day, the inference engine is just doing some math on an array of inputs with some weights. We’ve even seen TensorFlow Lite on a Commodore 64. If you don’t know about [Admiral Jerimiah Denton] we can shed some light on it for you.

Continue reading “Hackaday Prize 2023: EyeBREAK Could Be A Breakthrough”

DIY 3D Printed Rain Gauge Connects To Home Assistant

Measuring local rainfall has real practical uses, especially in agriculture, but most of us will have to admit that it’s at least partly about drawing cool graphs on a screen. Whatever your motivation, you can build this open source electronic rain gauge designed by [Sebastian] of Smart Solutions for Home, and integrate it with Home Assistant.

This 3D printed rain gauge is of the ubiquitous tipping bucket type and uses a magnet and hall effect sensor to detect every time the bucket tips out. The sensor is soldered to a custom PCB with ESP32 configured using ESP Home. By keeping it in deep sleep most of the time and only waking up when the tip of the bucket, [Sebastian] estimates it can run about a year on four AA batteries, depending on rainfall. The hinge mechanism is adjustable to ensure that both buckets will tip with the same volume of water.

FDM 3D printed enclosures are not known for being waterproof, so [Sebastian] coated the PCB with varnish to protect it from moisture. This worked well enough that he could leave it running in a bowl of water for a few hours without any ill effects. The end result looks good and should be able to handle the outdoors for a long time.

Building a weather station is a popular DIY project. Some of the interesting varieties we’ve seen are powered by supercapacitors, show readings on antique analog dials and convert parking distance sensor kit into a wind gauge.

Continue reading “DIY 3D Printed Rain Gauge Connects To Home Assistant”

Hacking The IKEA OBEGRÄNSAD LED Wall Lamp

The IKEA OBEGRÄNSAD is a pixel-style LED wall lamp that comes with a few baked-in animations, and [ph1p] improved it immensely with an ESP32 board and new firmware. The new controller provides all kinds of great new abilities, including new modes and animations, WiFi control, and the ability to send your own images or drawings to the panel. All it takes is desoldering the original controller and swapping in a programmed ESP32.

Hacking in a new controller provides a whole new range of capabilities.

Sadly, opening the unit up is a bit of a pain. It seems the back panel is attached with rivets rather than screws, but it will yield to a little bit of prying force.

The good news is that once the back panel is off, the inside of the OBEGRÄNSAD is very hackable. All the parts and connectors are easily accessible from where they are, and a nicely-labeled pin header makes a convenient attachment point for the new ESP32 board. There’s no need to disassemble any further once the back is off, and that’s always nice.

Going a bit smaller, we’ve also seen an IKEA LED nightlight greatly improved by a little hacking, and there are plenty more IKEA hacks where that came from.

Smart Pants Sound Alarm When Your Fly Is Undone

It’s always embarrassing to be told your fly is down. Even moreso when you realize it’s been that way since you returned from the bathroom an hour ago. [Guy Dupont] has built a device to solve this awkward issue once and for all. (Nitter)

Pictured: The Hall effect sensor and magnet attached to the zipper.

The pants contain a Hall effect sensor which has been attached inside the fly of the jeans, at the bottom of the zipper. The zipper pull itself was then fitted with a strong magnet, which triggers the sensor when the zipper is in the open position. An ESP32 in the pocket of the jeans is tasked with monitoring the sensor. If it detects that the zipper has been down for too long, it sends a notification to the wearer’s smartphone to zip up. We kind of wish they’d sound an ear-splitting klaxon, but that might draw undesired attention to the wearer.

Zipper position monitoring seems like a nightmare at first, but [Guy]’s hack shows us that it’s actually trivial with this method. The system does, however, add significant complication to what was previously a totally-analog pair of pants. Don’t expect “Big Jeans” to jump on this tech, as maintenance and waterproofing issues would likely make the hardware a pain to deal with in real life.

Plus, just imagine the frustration every morning. “Sorry, mate, not ready to head out yet – I’ve gotta pair my jeans with my smartphone.”

Continue reading “Smart Pants Sound Alarm When Your Fly Is Undone”

We’ve Got A Saxaboom At Home Son

Most parents have heard a familiar story. Their lovely child comes up, having seen a celebrity rocking out with a funny $20 toy from the 80s, and asks for it. Of course, you reply, it’s just 20 dollars. However, a quick scan through eBay reveals that everyone else’s kid has also been asking for this obscure toy for a school event, which now costs around $700. [Ben] found himself in that exact position and made a crucial off-hand comment, “I bet I could make one of those.” That was how his hectic journey into the world of toy reproduction began.

All [Ben] had for reference when recreating a Sax-A-Boom were pictures and sound clips. Modeling complex sweeping shapes in CAD is difficult, and [Ben] commissioned a 3d model from a professional on Fiverr. [Ben] broke down the model into printable sections and tweaked it to account for buttons. After a concerning amount of putty, wet sanding, and elbow grease, [Ben] had a decently smooth body for an instrument. The device’s guts is an ESP32-based board called Sonatino, built around music generation. The music samples came from a virtual instrument clone on GitHub and loaded onto an SD card.

Time pressure crept in towards the end, and [Ben] had to go for some dirty solution that he would have preferred (popsicle sticks and epoxy for button mounting). Yes, there were some gaps and paint flaws, but ultimately [Ben’s] son rocked the school presentation. It’s a beautiful journey through creating something with a high level of finish on a limited timescale.

Perhaps future versions of the Sax-A-Boom can take it further by adding a breath sensor, like this 3d printed MIDI instrument.

Continue reading “We’ve Got A Saxaboom At Home Son”

Reverse Engineering An Oil Burner Comms Board, With A Few Lucky Breaks

Here’s a question for you: How do you reverse engineer a circuit when you don’t even have it in hand? It’s an interesting problem, and it adds a level of difficulty to the already iffy proposition that reverse engineering generally presents. And yet, not only did [themole] find a way to replicate a comms board for his oil burner, he extended and enhanced the circuit for integration into his home automation network.

By way of backstory, [themole] has a wonky Buderus oil burner, which occasionally goes into safety mode and shuts down. With one too many cold showers as a result, he looked for ways to communicate with the burner controller. Luckily, Buderus sells just the thing — a serial port module that plugs into a spare slot in the controller. Unluckily, the board costs a bundle, and that’s even if you can find it. So armed with nothing but photos of the front and back of the board, the finding of which was a true stroke of luck, he set about figuring out the circuit.

With only a dozen components or so and a couple of connectors, the OEM board gave up its secrets pretty easily; it’s really just a level shifter to make the boiler talk RS-232. But that’s a little passé these days, and [the78mole] was more interested in a WiFi connection. So his version of the card includes an ESP32 module, which handles wireless duties as well as the logic needed to talk to the burner using the Buderus proprietary protocol. The module plugs right into the burner controller and connects it to ESPHome, so no more cold showers for [themole].

We thought this one was pretty cool, especially the way [themole] used the online photos of the board to not only trace the circuit but to get accurate — mostly — measurements of the board using an online measuring tool. That’s a tip we’ll keep in our back pocket.

Thanks to [Jieffe] for the tip.

Tiny Microcontroller Uses Real-Time Operating System

Most of the computers we interact with on a day-to-day basis use an operating system designed for flexibility. While these are great tools for getting work done or scrolling your favorite sites, they have a weakness when it comes to interacting quickly with a real-world environment. For these kinds of low-latency, high-reliability systems you may want to turn to something like freeRTOS which is optimized for this kind of application and which [Parikshit Pagare] has used to build his home automation system.

This build is based around an ESP32 for which freeRTOS, designed specifically for embedded systems, is uniquely suited. There are several channels built in capable of monitoring temperature, functioning as a smoke alarm, and sensing whether someone is at the front door. All of these are reported to a small OLED screen but are also updated on an Android app as well, which happens nearly instantaneously thanks to the real-time operating system. There are a number of user-controllable switches as well that are capable of turning lights or fans on and off.

For a home automation system, it’s one of the most low-cost and fully-featured we’ve seen and if you’re still having trouble coming across a Raspberry Pi as they sort out supply issues, something like this might make an excellent substitute at a fraction of the price. If you’re looking to expand even beyond this build, one of the gold standards for ESP32-based automation design is this build from [Marcus] which not only demonstrates how to build a system like this but goes into great detail on the ESPHome environment.

Continue reading “Tiny Microcontroller Uses Real-Time Operating System”