Home Automation For Fans Of Quick-and-Dirty Solutions

At Hackaday, we celebrate all kinds of projects, but we’ll have to admit that the polished and professional-looking builds tend to catch our eye a lot more than perhaps they should. There’s plenty of love to be had for the rougher builds, though, of which this quick-and-dirty home automation system is a perfect example.

Before anyone rushes to state the obvious with, “Should have used some relays,” consider that [MAKE_IT_WITH_ME]’s stated goal was to get the basics of a home automation system built with pretty much nothing but what can be found in one of those Arduino starter kits. And further, consider that landlords might not look kindly on tenants who wire a bunch of SSRs or Sonoff switches into the walls of their building. So this minimalist build is perfect for certain use cases. Its interface to the building’s electrical system is 100% mechanical, via a servo that travels along the bank of switches on a stepper-driven leadscrew. The servo has a modified horn to properly flick the rocker-style switches, and although changing from switch to switch is a bit slow, it works surprisingly well. The video below shows it in action.

While we can see it possibly working as-is for Decora-style switches that are seen in some markets, we’d think some mods would be in order for the more standard toggle-style switch — perhaps a finger extending out from the horn, along with a second servo to tilt the whole assembly away from the wall to allow it to clear the switch bats.

Continue reading “Home Automation For Fans Of Quick-and-Dirty Solutions”

DIY Air Quality Sensor

 

[Andrew Lamchenko], who has built a number of small e-ink-based sensors this year, released another design called the eON Indoor Air Quality Sensor. As his previous sensor designs, the eON boasts a striking appearance with all the spit and polish of a commercially made product. Except [Andrew]’s design is completely open-source.

Besides showing air quality, it also shows basic weather conditions, and there’s a built-in weather forecasting algorithm as well. It can operate standalone or use the radio module to send readings to a smart home system.

The core sensor is the SGP40, which detects volatile organic compounds (VOCs) in the air while consuming less than 3 mA (compared to the 48 mA of the previous generation). There’s a temperature, barometric pressure, humidity, and light sensors in the package as well. Like many projects these days, [Andrew] encountered parts supply issues along the way. Because of that, and to make the design more flexible, several versions of the board have been made to accommodate the different permutations of:

  • Displays
    • 2.13-inch e-ink display
    • DES e-ink display, coming soon
  • Radio, four flavors
    • MINEW MS88SF3 (nRF52833, nRF52840)
    • MINEW MS50SFA1 (nRF52810, nRF52811)
    • MINEW MS50SFA2 (nRF52832)
    • EBYTE E73-2G4M08S1C (nRF52833, nRF52840)
  • Temp / Pressure sensor:
    • BME280
    • BMP280
    • SHTC3

[Andrew] not only designed the sensor but has done a thorough job on the documentation. Check out the GitHub repository of the project for a complete data package covering all aspects of the design, including the weather forecasting app note by John Young (an NXP engineer, not the astronaut). Last week the design was named as a finalist of the 2021 Hackaday Prize. We’re excited to see where he goes with this between now and the end of October!

Do you use an air quality sensor in your home? If so, is it only for informational purposes or do you take action based on the data, such as automatically turning on a fan or escaping to the countryside? Let us know in the comments below.

PiNet — One Small Project Grows Unexpectedly

A few years ago, [Gregory Sanders] aka [Dr Gerg] had one simple wish in mind when he started what is now the PiNet project — to know whether his garage door was open or closed. Instead of searching out off-the-shelf solutions, he looked at the project as a learning opportunity. After picking up Python, he built a system from a Raspberry Pi, a 12V gel cell battery, and a power supply / charger circuit. Thus project Overhead Door (ohd) was complete (see the ohd GitHub repository) and [Dr Gerg] was done.

Or so he thought. After getting a swimming pool installed, he got the itch again, and started a new project called Pool Controls, because:

The controls for your average backyard in-ground pool are pathetic. I felt like I could do better with a Raspberry Pi, a relay board and some Python. And so I did, and frankly, it’s awesome.

Then he built his own weather station to replaced a commercial one which had died twice in as many years, followed by his own web-based UI framework. Next was the integration of an outdoor security camera system. And finally, although we don’t believe it’s really final, he ripped out the cloud-based controls from his shop air conditioner and added his own Raspberry Pi-based solution. All of these projects are available on his GitHub page.

[Dr Gerg]’s goal in posting all this work is not necessarily so people can duplicate it, although that is okay as well. Instead, he hopes that people will realize that they can build these types of projects on their own, perhaps leaning some things and picking up new skills along the way — have fun doing it. We like the way you think, [Dr Gerg]. Do you know of any small projects which grew and grew and took on a life of their own?

Home Automation Controller Uses Chalk

Responding to the Rethink Displays challenge of the 2021 Hackaday Prize contest, freelance design engineer [Rick Pannen] brings a retro look to his DIY home automation controller. You could be forgiven for not even realizing it is a controller at first glance. [Rick] built this using a magnetic chalk board and installed all the control electronics on the back. The main processor is a Raspberry Pi 400 running Raspian with IOBroker and Node-Red. Panel lettering and graphics are done free-hand with, you guessed it, chalk.

The controls on this panel are an eclectic hodgepodge of meters, switches, and sensors that [Rick] scored on eBay or scavenged from friends. We are curious about the simple-looking rotary dial that sends a pulse train based on the number set on the dial — this seems to have all the functionality of an old phone’s rotary dial without any of the fun.

But [Rick]’s design allows for easy changes — dare we say, it encourages them — so maybe we’ll see a salvaged rotary dial added in future revisions. Also note the indoor lighting ON/OFF switch that must be a real joy to operate. We wonder, is there any way the controls could be magnetized and moved freely around the board without permanently attaching them? Maybe an idea for version 4 or 5.

This design has a lot of possibilities, and we look forward to any upgrades or derivative versions of this unique home automation controller. Let us know in the comments below if you have any suggestions for expanding upon this idea.

Make Android’s New Power Menu Work On Your Terms

Introduced in Android 11, the power menu is a way to quickly interact with smart home gadgets without having to open their corresponding applications. Just hold the power button for a beat, and you’ll be presented with an array of interactive tiles for all the gadgets you own. Well that’s the idea, anyway.

[Mat] of “NotEnoughTech” wasn’t exactly thrilled with how this system worked out of the box, so he decided to figure out how he could create his own power menu tiles. His method naturally requires quite a bit more manual work than Google’s automatic solution, but it also offers some compelling advantages. For one thing, you can make tiles for your own DIY devices that wouldn’t be supported otherwise. It also allows you to sidestep the cloud infrastructure normally required by commercial home automation products. After all, does some server halfway across the planet really need to be consulted every time you want to turn on the kitchen light?

Adding tiles in Tasker.

The first piece of the puzzle is Tasker, a popular automation framework for Android. It allows you to create custom tiles that will show up on Android’s power menu, complete with their own icons and brief descriptions. If you just wanted to perform tasks on the local device itself, this would be the end of the story. But assuming that you want to control devices on your network, Tasker can be configured to fire off a command to a Node-RED instance when you interact with the tiles.

In his post, [Mat] gives a few examples of how this combination can be used to control smart devices and retrieve sensor data, but the exact implementation will depend on what you’re trying to do. If you need a bit of help getting started, our own [Mike Szczys] put together a Node-RED primer last year that can help you put this flow-based visual programming tool to work for you.

Continue reading “Make Android’s New Power Menu Work On Your Terms”

Replacing An ESP8266 Clone With The Real Thing

The first time [konbaasiang] ordered some ceiling LED lights from Tuya, he was pleased to find they contained an ESP-12F that could easily be flashed with a different firmware. So when he ordered 30 more of them at a cost of nearly $900 USD, you can understand his frustration to find that the popular WiFi-enabled microcontroller had been swapped out for a pin-compatible clone that Tuya developed called the WB3L.

Some people would have just chalked this one up to bad luck and used the Tuya-supplied software to control their new lights, but not [konbaasiang]. Since the new chip was outwardly identical to the ESP8266, he decided to take the nuclear option and replace them with the genuine article. With a comfortable spot to work from and a nice microscope, he started on his desoldering journey.

Now it would have been nice if he could have just dropped in a real ESP-12F and called it a day, but naturally, it ended up being a bit more complex than that. The WB3L apparently doesn’t need external pull up and pull down resistors, but [konbaasiang] needed them for the swap to work. He could have come up with some kind of custom adapter PCB, but to keep things simple he decided to run a pair of through hole resistors across the top of the ESP-12F for GPIO 1/2, and use a gingerly placed SMD resistor to hold down GPIO 15.

[konbaasiang] reports that all 30 of the lights survived the transplant and are now running his own  homebrew firmware. While this story had a happy ending, it’s still a cautionary tale. With a growing trend towards replacing the venerable ESP8266 with cheaper and less hacker-friendly silicon, buying IoT hardware with the intent to replace its firmware is likely to get riskier in the near future.

Garage Door Controller Gets The IoT Treatment

[TheStaticTurtle] built a custom controller for automating his garage doors. He wanted to retain the original physical button and RF remote control interfaces while adding a more modern wireless control accessible from his internet connected devices. Upgrading an old system is often a convoluted process of trial and error, and he had to discard a couple of prototype versions which didn’t pan out as planned. But luckily, the third time was the charm.

The original door-closer logic was pretty straightforward. Press a button and the door moves. If it’s not going in the desired direction, press the button once again to stop the motor, and then press it a third time to reverse direction. With help from the user manual diagrams and a bit of reverse-engineering, he was able to get a handle on how to plan out his add-on controller to interface with the old system.

There are many micro-controller options available these days when you want to add IoT to a project, but [TheStaticTurtle] decided to use the old faithful ESP8266 as the brains of his new controller. For his add-on board to work, he needed to detect the direction in which the motor was turning, and detect the limit switches when the door reached end of travel in either direction. Finally, he needed a relay contact in parallel with the activation button to send commands remotely.

To sense if the motor was moving in the “open” or “close” direction, he used a pair of back-to-back opto-couplers in parallel with the motor terminals. He connected another pair of opto-couplers across the two end-limit switches which indicated when the door was fully open or closed, and shut off the motor supply. Finally, a GPIO from the ESP8266 actuates a relay to send the door open and close commands. The boards were designed in EasyEDA and with a quick turnaround from China, he was able to assemble, test and debug his boards pretty quickly.

The code was written using the Arduino IDE and connects the ESP8266 to the MQTT server running on his home automation computer. The end result is a nice dashboard with three icons for open, close and stop, accessible from all the devices connected to his home network. A 3D printed enclosure attaches outside the original control box to keep things tidy. Using hot melt glue as light pipes for the status LED’s is a pretty nifty hack. If you are interested in taking a deeper look at the project, [TheStaticTurtle] has posted all resources on his Github repository.