Starting this challenge, I set out to build not one, but two control units. The idea behind this was that a single control unit would require the user to move to that room in order to be able to trigger actions (aside from using a smartphone of course). That's why I planned to have a control unit in the bedroom (the alarm clock) and one in the living room. The hard part, figuring out the software side of things, has already mostly been done while developing the alarm clock. This can now easily be reproduced for a second control unit, using the puppet modules i created as part of the challenge. The biggest difference is that this second unit will provide a touch screen interface, making more data available at a glance, than the alarm clock.


Let's see what the main differences will be


Touch Screen


This control unit will make use of the Raspberry Pi 7” Touchscreen Display as provided in this challenge's kit. You may already have seen it make an appearance in some demo footage when I was demonstrating the EnOcean sensors or Tower Light in OpenHAB.

Because the touch screen's resolution is limited, different views will be created, each focusing on a different aspect of my smarter spaces.


The browser will be used in full screen, kiosk mode, similar to what Rick has done in his [Pi IoT] Hangar Control #5.1 -- Raspberry Pi Kiosk, The Movie  post. A mechanism will be foreseen to switch between different web pages, as kiosk mode hides all navigation bars and buttons, in exchange for more screen space.


Button Matrix


What's a design challenge, if not the chance to experiment with new things? I came across this interesting I2C 4x4 keypad with silicone elastomer buttons and integrated LEDs, called Trellis. You can pick any 3mm diffused LED to suit your project and solder them on the board. Obviously, I picked white for this project The LEDs can be controlled independently of the buttons as well, making it possible to blink a button in order to draw attention to a certain action, or keep the last pressed button lit for example.


Similarly to the 8x8 LED matrix, pads can be shorted on the back using solder, in order to change the I2C address. As I already used 0x70 for the 7-segment display and 0x71 for the 8x8 LED matrix, I decided to use 0x72 for this keypad. This would allow me to combine all three in the code without creating any conflicts.


Here's a quick animation of the keypad's example program:





This unit will obviously also require an enclosure. The same wood and acrylic highlights will be used, making a consistent set I'm still trying to figure out which shape to go for and how to tackle it, but here's a first attempt at the front panel:



To gain on milling times, I'm trying a combination of CNC routing for the outer edges, and manual routing to create grooves and depth. This drastically reduces CNC time!


Time is running out!




Navigate to the next or previous post using the arrows.