DIY Automation – The Garage – Part 1

As an EE by degree and a Software Engineer by trade, I’ve always tinkered with making my own devices. With the rise of surface mount devices in the 1990s, my hobby became increasingly more difficult. You either had to create your own circuit boards or purchase surface mount adapters for the parts you wanted to use. Both avenues had a prohibitive cost involved for the hobbyist. With the advent of devices like the Arduino and Raspberry Pi the hobby of make it yourself electronics is once again thriving.

Having a desire to tinker and a penchant for laziness, I have embarked upon automating certain aspects of my home. First up is the garage. I want to know, at any given moment, the state of the garage doors, the temperature outside, and the state of our Radon abatement fan. I begin by breaking the problem into several areas. How to sense the position of the door. How to measure the outside temperature. How to know if the Radon abatement system is functional. What embedded device will this run on. How will the data be conveyed to the user.

Because of their widespread support and high-level capabilities, I decided to use Raspberry Pi Zero(s) as the embedded devices at the heart of each automation device. I intend to use its built-in wifi and wealth of gpio. There is also the cost. At $10 each, it has a phenomenal cost to benefit ratio. As it runs linux, I can also leverage my existing knowledge. This will also give me an opportunity to expand my understanding of python. I intend to write most of the code in python given the great amount of support the raspberry pi and IOT community has to offer.

For the front-end of the system I intend to use openHAB. The devices will communicate through an MQTT broker specifically mosquitto. More about them later.

In the next installment I’ll cover the basic device and the approach to detect the position and transition of the garage door.

Leave a Reply

Your email address will not be published. Required fields are marked *

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