Home Automation Setup (Approx. ~ 2017)


This is a short retrospective post on my home automation setup back in undergrad at MSOE. Unfortunately this was not well documented but was an interesting start to my home automation journey so I feel its worth mentioning.

There were two projects that I worked on with my roommate:

  • Overhead LED lighting
  • Accent LED lighting

Overhead LED Lighting

Hardware-wise it was composed of several LED strips (that we inherited from the previous tenants), a 12V power supply, a transistor switcher board, and a Beaglebone single-board computer connected to local network for control.

Picture of the LED strips in action. Color difference is due to the camera orientation. All LED strips were dumb RGB controlled by a single switcher board.

Switcher board with +12V in, several power transistors to sink the RGB LED lines, and a level shifter to convert (and isolate) the control signals into switching signals. Barely visible is an Arduino used for testing the system.

My roommate spun up a simple server to control the RGB channels, it was his Beaglebone so no qualms. I wrote some demo control code on top of this API, which you can find the Github repo here.

The coolest part in my opinion was writing a wrapper around the Yahoo weather API to generate a few different flashing / pulsing patterns. Though I never finished implementing it.

Number one main challenge was color balancing. The LEDs heavily skewed blue/green with a weak red channel. This led to very off-white 0xFFFFFF settings.

Accent LED Lighting

At the old MSOE apartment, we also installed some accent LEDs around the windows. These were controlled via an IR remote. However, we wanted to automate them to fit in with the main overhead LEDs.

Using an ESP8266, I built a simple web service that near directly mapped the IR functions into RESTful HTTP operations. The ESP then had an IR emitter aimed at the LED controller’s IR receiver to blast recorded patterns. Thankfully there was a library that worked out of the box for that part.

The code can be found in a Github repo here.

Final Remarks

Per usual, I did not bring these projects to the completed state, but I feel like I still managed to build something interesting.

The overhead LEDs required dealing with a bit more current than I had experienced with my robots or coursework. I had to select good power transistors to do the job and then solder it together. Wiring-wise it turned out a lot better than some of my old robotics (wiring rats-nest) projects.

The ESP8266 project let me sink my teeth into an embedded HTTP REST service, which was a novel thing for me at the time. The engineering of the firmware itself is pretty solid and demonstrated a transition from complete novice into a becoming a junior engineer.

Leave a Reply

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