With just a ‘littleBit’ of tinkering, you can set the mood in real-time.
In recent weeks, we’ve had some fun tinkering around with the latest kits from our friends at littleBits. As seen inside our CES 2015 booth, these itsy bitsy modules are enabling Makers to hack their own smart homes with ease, ranging from automated coffee makers to alarm clocks. Case in point: Maker Jeremy Blum’s latest project leverages the ATmega32U4 based Arduino module, along with a small Linux board and Philips Hue hub, to control the state, brightness and color of connected lightbulbs in real-time via a tactile interface.
“The system architecture of the littleBits Hue Lighting Controller is pretty simple, but I put a lot of thought into making the system robust, fast, and easy-to-setup. I’ve actually been using this controller daily for the last several months, but I completely rewrote most of the code in preparation for sharing it here – most notably, I built an automated setup routine, added serial device auto-connect logic, and made the system more robust against hardware state changes,” Blum writes.
The system is comprised of three components: the control pad, the Linux machine and the Philips Hue network. In addition, Makers looking to enhance their design are encouraged to 3D print the dials, buttons and enclosures. When a Maker presses buttons or turns the dial on the wall controller, it sends serial commands to a script running on the Linux device. The desired action is interpreted and relayed to the Hue hub over the local network in real-time.
“When you’re setting up the system, you’ll use a automatic setup mode that I’ve included in the Python software. The script handles configuring the Linux machine to automatically launch the listening service on boot, creates the secure connection with the Hue hub, and allows you to select which lights on your Hue network you’d like to control with the control pad. The Python script also automatically identifies the right serial device and will automatically handle reconnecting the serial interface on USB disconnection events.”
As Blum notes, you don’t have to be an advanced engineer or know anything about configuring Linux serial devices, for that matter, to implement the software – it’s entirely automatic. In fact, it will even work on systems that have multiple USB serial devices attached, such as multiple Arduino Leonardo boards.
Are you ready to control the smart bulbs throughout your home with a DIY controller? If so, you can access an entire step-by-step breakdown of the build here.