Remote control PCB next to its shell, with a breadboarded analog switch connected to the remote's onboard microcontroller, soldered to the pins responsible for button reading

Reusing Proprietary Wireless Sockets Without Wireless Hacking

Bending various proprietary devices to our will is a hacker’s rite of passage. When it comes to proprietary wall sockets, we’d often reverse-engineer and emulate their protocol – but you can absolutely take a shortcut and, like [oaox], spoof the button presses on the original remote! Buttons on such remotes tend to be multiplexed and read as a key matrix (provided there’s more than four of them), so you can’t just pull one of the pads to ground and expect to not confuse the microcontroller inside the remote. While reading a key matrix, the controller will typically drive rows one-by-one and read column states, and a row or column driven externally will result in the code perceiving an entire group of keys as “pressed” – however, a digitally-driven “switch” doesn’t have this issue!

One way to achieve this would be to use a transistor, but [oaox] played it safe and went for a 4066 analog multiplexer, which has a higher chance of working with any remote no matter the button configuration, for instance, even when the buttons are wired as part of a resistor network. As a bonus, the remote will still work, and you will still be able to use its buttons for the original purpose – as long as you keep your wiring job neat! When compared to reverse-engineering the protocol and using a wireless transmitter, this also has the benefit of being able to consistently work with even non-realtime devices like Raspberry Pi, and other devices that run an OS and aren’t able to guarantee consistent operation when driving a cheap GPIO-operated RF transmitter.

In the past, we’ve seen people trying to tackle this exact issue, resorting to RF protocol hacking in the end. We’ve talked about analog multiplexers and switches in the past, if you’d like figure out more ways to apply them to solve your hacking problems! Taking projects like these as your starting point, it’s not too far until you’re able to replace the drift-y joysticks on your Nintendo Switch with touchpads!

The insides of a coffee machine replaced with new smart electronics

Add Smarts To Your Old Capsule Coffee Maker

Everyone has their preferred method of making (and consuming) coffee. While modern coffee makers are starting to come standard with IoT and ‘smart’ capabilities, owners of older models should fear not, as [Andreas Skoglund] shows how just about any old machine can be upgraded with the latest automation wizardry.

The most involved part of this conversion is removing the electronic guts of the Dolce Gusto donor machine, leaving just the original heater, pump and the control levers. With safety in mind, the user must make the machine ‘hot’ by configuring the levers and replacing the coffee capsule manually, otherwise no automated coffee magic can take place.

A low-tech relay powers on the coffee maker, with the entire logic supported by an off-the-shelf microcontroller. If you’re using a Particle.io controller, the provided instructions offer some helpful tips on automatically brewing your first beverage. From there it’s trivial to start using Home Assistant to set up various rules and schedules for your coffee drinking pleasure. You can even select whether you want a small or large cup.

There’s a few improvements that our coffee-starved hero suggests implementing, such as upgrading the power supply, as well as investing in refillable capsules to spite a certain global conglomerate corporation (plus it’s cheaper and much better for the environment). We’re not short on coffee-inspired hacks, so why not also check out this AI Powered Coffee Maker.

Continue reading “Add Smarts To Your Old Capsule Coffee Maker”

ESP32 Brings Air Purifier Online With Home Assistant

A lot of hackers are rightfully concerned about the privacy issues that surround many of today’s “smart” gadgets, but it’s hard to argue that the ability to remotely control devices around your home isn’t convenient. Enter self-hosted, open source projects like Home Assistant. This provides the framework for building out a home automation system without having your soul information sold, but as you might expect, you’re going to have to put some effort in to get the most of it.

For example, take a look at this Phillips AC4014 air purifier that [Anton] connected to Home Assistant by way of an ESP32. Rather than getting too bogged down in reverse engineering the purifier’s surprisingly complex internal electronics, he took the easy way out and wired a couple of relays across the power and fan speed buttons; this allows the device to be easily controlled by the microcontroller, without impacting the functionality of the original controls.

But since those front panel controls still work, that meant [Anton] needed a way for the ESP32 to detect the device’s status and report that to Home Assistant so everything stayed in sync. So he looked around on the PCB for a trace that got powered up when the air purifier was up and running, which he connected to a pin of the microcontroller through a transistor. This let’s the firmware determine if the machine is running or not just by checking if the appropriate pin has gone high.

Speaking of the firmware, [Anton] decided to use ESPHome rather than trying to write his own code from scratch. This project allows you to rapidly add new devices to Home Assistant by providing the firmware with a relatively simple YAML configuration file, which he’s provided as an example. In fact, he’s provided quite a lot of examples with this project, down to an annotated image of the PCB that shows where to tap your wires into. He’s done quite a service for anyone who’s got this same model of air purifier.

This unit doesn’t appear to have any capability of actually checking the quality of the air in the room, but we’ve recently seen a low-cost IKEA product that can do exactly that. Even better, it can be easily modified to report its findings over the network using the ESP8266.

Photo of an automated plant watering system attached to four potted plants.

Automation Allows You To Leaf Your Plants Alone

The greatest threat to a potted plant stems from its owner’s forgetfulness, but [Sasa Karanovic] has created an automation system that will keep his plants from getting too thirsty. Over the past year [Sasa] has been documenting an elegant system for monitoring and watering plants which has now blossomed into a fully automated solution.

If you haven’t seen the earlier stages of the project, they’re definitely worth checking out. The short version is that [Sasa] has developed a watering system that uses I2C to communicate with soil moisture, temperature, and light sensors as well as to control solenoids that allow for individual plants to be watered as needed. An ESP32 serves as a bridge, allowing for the sensors to be read and the water to be dispensed via an HTTP interface.

In this final part, [Sasa] integrates his watering system into a home automation system. He uses a MySQL database to store logs of sensor data and watering activity, and n8n to automate measurement and watering. If something isn’t quite right, the system will even send him a Telegram notification that something is amiss.

If you think automation might be the best way to save your plants from a slow death, [Sasa] has kindly shared his excellent work on GitHub. Even if you don’t have a green thumb, this is still a great example of how to develop a home automation solution from scratch. If you’re more interested in television than gardening, check out [Sasa]’s approach to replacing a remote control with a web interface!

Continue reading “Automation Allows You To Leaf Your Plants Alone”

Automating Pool Monitoring And Chemical Dosing

Anyone who has had a backyard pool will know that it only takes a little lapsed attention to turn the whole thing green. For those sick of having to stay on top of things, the idea of automating pool care may be attractive. This project from [Discreet Mayor] hopes to do just that.

Data is graphed for easy analysis using Grafana.

The project uses a TI SimpleLink wireless-enabled microcontroller to run the show, which allows data to be offloaded to a base station for graphing with Grafana. The system can monitor pH levels as well as ORP (oxidation/reduction potential) levels using probes attached via BNC connectors. Based on these readings, the device can dose chlorine into the pool as needed using a peristaltic pump driven by a TI DRV8426 stepper motor driver.

We’d want to keep a close eye on the system for some time, making sure it wasn’t over or underdosing the pool with chemicals. However, that’s easy enough to do when all the data is logged neatly in a web-accessible graph.

We’ve seen other hackers implement similar controls to their own pools, too. If you’ve been working on your own home automation projects, be sure to drop us a line.

Picture of the automatic blind controller and three servo motors, all in their enclosures, displayed on a table.

Automated Window Blinds Using MQTT And Home Assistant

Finnish software engineer [Toni] is on a quest to modernize his 1991 house, and his latest project was to automate the window blinds and control them using Home Assistant. Unless your blinds have built-in motors, most of the effort of such a project centers around how to integrate and attach the motor — and as [Toni] points out, there are tons of different blinds with all kinds of operating mechanisms. But once you solve that issue, half the battle is over.

These particular blinds require less than one turn of the control rod to go from fully open to fully closed, and [Toni] selects a 270-degree range-of-motion, 20 kg*cm torque servo motor to drive them. He really wanted to install the motor inside the window, but it just wouldn’t fit. Instead, each servo motor is mounted in a custom 3D-printed case installed on the window frame just below the operating rod. An ESP8266-based controller box is installed above the window, hidden behind curtains, and operates all three servos.

On the software side of things, the project is coded in C++ and uploaded using the Ardiono IDE. The blinds communicate to [Toni]’s Home Assistant network using MQTT. All the software is available on the project’s GitHub repository, and the 3D-printed case design is posted on Thingiverse. Even though your blinds may be of a completely different design, we think many parts of [Toni]’s project are still useful — do check out this project if you’re thinking about doing something similar. The notion of motorized window blinds has been around for a some time — we covered one project way back in 2013 and another in 2016. If you have added automation to your window blinds, let us know how it went down in the comments section.

Continue reading “Automated Window Blinds Using MQTT And Home Assistant”

Home Automation Terminal With Cyberpunk Style

The OLKB-Terminal designed by [Jeff Eberl] doesn’t have a battery, can’t fold up (even if it seems like it could), and is only portable in the sense that you can literally pick it up and move it somewhere else. So arguably it’s not really a cyberdeck per se, but it certainly does look the part. If you need to be furiously typing out lines of code in a dimly lit near-future hacker’s den, this should do you nicely.

[Jeff] has provided everything you’d need to recreate this slick little machine on your own, though he does warn that some of the hardware decisions were based simply on what he had on-hand at the time, and that better or cheaper options may exist. So for example if you don’t want to use the Raspberry Pi 4, you can easily swap it out for some other single-board computer. Though if you want to change something better integrated, like the LCD panel, it will probably require modifications to the 3D printed components.

The rear electronics tray offers plenty of room for expansion.

The slim mechanical keyboard that [Jeff] used for the OLKB-Terminal, which in some ways set the tone for the whole design, is actually a completely separate open source project from [Victor Lucachi]. The VOID30 is a 3D printed, 30% handwired ortholinear keyboard that runs the popular QMK firmware on an Arduino Pro Micro. He’s implemented a couple tweaks, namely using a USB-C equipped Arduino clone, but otherwise it’s the same as upstream. So if you’re not in the market for a little bedside cyberpunk terminal but love its sleek keyboard, you’re in luck.

Software wise, [Jeff] has the OLKB-Terminal hooked into his larger Home Assistant system. This gives him an attractive status display of the whole network, and with just a tap on the terminal’s seven inch touch screen, he’s able to directly control devices around the home. That said, at the end of the day it’s just a Raspberry Pi, so it could really run whatever you want.

While cyberdeck builds might be all the rage right now, we do appreciate projects that bring those same design tenets to the desktop. From the gorgeous faux-retro designs of [Oriol Ferrer MesiĆ ] to modernized pieces of vintage hardware, truly personal computers that can be easily upgraded and repaired don’t have to be limited to something you can lug around with a guitar strap.