The spec for the ultimate home control panel

A number of months ago I became obsessed with the idea of controlling my room lighting using knobs in the wall. Crazy, I know 😉

Seriously though, most lighting automation systems do not use rotary controllers (i.e. knobs), but rather you have to keep your finger on a button until the desired light level is reached. Isn’t that so 1990s? Knobs are the way forward. Worse still, many only let you select “scenes” without even controlling individual light level. So I set about making my own digitally controlled lightswitch. The process has been one of research and learning new skills. Soon enough I stumbled upon the ultimate way for things within the home to communicate with other things: MQTT.

Here are my design goals for the ultimate home control panel for each room.


Use physical buttons and lights NOT touchscreen. I find touchscreens great for web browsing but when I want to control lights and volume I need an accuracy and responsiveness that can only come from;

  • tactile switches with visual feedback
  • rotary controller knobs
  • display screen showing levels as percentage (i.e. numbers) for fine adjustment

Look sexy. DIY metal faceplates with push buttons conjure-up images of 1970s style control panels. Disabled toilets. Hobby aeroplane remotes. I’m going with brushed stainless steel faceplates with no visible screws, smaller LED-integrated tactile buttons, matching brushed steel knob.

Use numbers on the display. In the increased sexification of home automation, things have become too touchy-feely. Having controlled lights and music from my iPad, I get annoyed if you press in slightly the wrong place, or need to make that super-fine adjustment. Also I get annoyed by the ubiquitous slider and the lack of information it provides the user.


  • The faceplate must run at low voltage, requiring no special electrical certification
  • Connected with ethernet (CAT5, 6, or 7)
  • Powered over the same ethernet cable
  • Fit within a back-box readily available in shops: 47mm depth max


  • Use “Scene” buttons to quickly select the lighting mood in a room
  • Dim individual lights in a room to create your own scene
  • Quickly cycle between different lights in a room
  • Control music volume and see what’s playing (track title and artist)
  • Similar to light scenes, there should be audio “favourites” (i.e. radio channels, playlists, shuffle mode for a given genre, etc.)


  • The unit is designed for a range of functions, but can be expanded later to incorporate more. e.g. lighting and audio modes have their special uses and displays. As it’s based on Arduino, the sketch can be updated by USB later.
  • “Thing” settings (i.e. how many lights in a room, the name of a light in the room, the name of a scene for a given room) should be queried from a server and downloaded to volatile memory at startup. These things are not stored in the unit.
  • We should be able to press an “update” button to pick-up the latest settings. Home automation installers and users change their minds all the time!


  • “WAF” is an offensive phrase used in #homeautomation talk. It stands for “wife adoption factor”. Maybe “GAF” – grandparent adoption factor? No – that’s swapping one prejudice for another. “HAF” will do nicely – human adoption factor. The controller must be the perfect balance between powerful and usable. I don’t mean “powerful for the geek, usable for the granny”. I mean “equally powerful and usable for both”.
  • This means: consistency of display and immediate access to primary functions. No menus, no prompts! Placement of buttons should be intuitive.
  • All light should cease when it hasn’t been touched for a while. No lights in the middle of the night!

The solution I’ve settled for is a “mode cycle” one. Like old digital watches. The mode button is set apart from other buttons and placed near the icon displaying the current mode. All other physical controls depend on the mode in question, and their function is intuitive given the placement.

Consistency comes from the unit defaulting back to a “primary” mode after x seconds of not being touched. The display dims appropriately.

Here’s a brief demo of the progress so far – January 2015:







12 responses to “The spec for the ultimate home control panel”

  1. Ed Hinds avatar


    Your vision of Home Automation is very similar to ours – take a look at our website. We are nearly 3 years into our development program and just launching our home automation product.

    Good luck with your project and feel free to contact us anytime. For your arduino you may find the Freetronics Ethermega is a better choice as it has integral PoE. We use one of these for 3-5 rooms depending on the amount of equipment in each room.


  2. Gary avatar

    Hi Mat,
    Brilliant job. Love the simplicity of the UI. Parts list would be useful for the bigger items. Will your code be open?

  3. admin avatar

    Hi Ed, just took a look at your Haze product. I love the glowing collar. Early on in the process I bought a rotary encoder LED ring so to be able to indicate volume level through a window around the encoder, but just couldn’t figure out a way to cheaply include this in my design without getting special plastic mouldings made up, which seemed at the time one expense too far for my personal project. I’d still like to do that some time down the line. The unit is from Mayhew Labs, have you seen it? Anyway your product is *exactly* the kind of simplicity that’s needed in the Home Automation world. And I love the unassuming design.

    I looked in detail at the Ethermega, and I’ve been in touch with Jon the guy who heads up that project. I’m quite a fan, although the cost put me off. I also really like the itead iboard pro, a Mega with ethernet onboard, which at $34 seemed too cheap to believe. But the board is a few millimetres too large to fit in a back-box 🙁

    Settled on a homemade version costing about £16 including DIY PoE – not as good as proper PoE of course but a more palatable price and suitable for my needs.

    Perhaps I’ll give you a call in the coming days to discuss some things!

  4. admin avatar

    Hi Gary. I’ll do a detailed parts list and publish code as soon as it all works smoothly. A few more little things to iron out but it’s progressing nicely! Cheers, Mat

  5. Gary avatar

    Also wanted to draw your attention to this site, I think it has all the right level of hackalicity, innovation and scope for you, could widen your home automation plans a little:

  6. Lewis Harrison-Wood avatar
    Lewis Harrison-Wood

    Hi Mat,
    Another great video, I cannot wait until you get to a stage where you are able to share more details and code. I was looking at a raspberry pi with touchscreen but you have persuaded me otherwise with the sleek design and usability (not to mention the price)
    I look forward to your next post.

  7. Matt avatar

    Hi Mat,

    This looks awesome, I am doing something with light control and was interested to know what system you are using to control your lights?


  8. admin avatar

    Hey Matt

    I’m currently using cheapish LightwaveRF switches hooked up with OpenHAB. Plan to move towards DMX control with a multi-channel second hand DMX dimmer and a 15 quid DMX USB interface from ebay…

  9. Matt avatar

    Cool, how are you getting a percentage for your display, a separate LDR?

    I run LightwaveRF lighting as well and I’m looking at putting small LDR modules in rooms to aid with light control. Seems you’re a bit a head of me so would be very interested to hear more on that 🙂


  10. admin avatar

    Hey Matt

    The percentage display comes from OpenHAB which is also controlling the LightwaveRF lighting. Right now OpenHAB only knows the current light level if it’s set through OH itself, rather than if you use the wall dimmers to set it… in the future I won’t be using LightwaveRF so this won’t be an issue.

    In the most part, I use the LightwaveRF mood controllers to deal with lights in the room, and they can be set to control OpenHAB rather than speak to the switches directly, so this works as a hack right now.

    A big unknown for me is how to get cheap DMX controlled lighting – most 18 channel dimmers seem to be very expensive! I found one (the NJD DPX12) but you can’t source it here for love nor money…

  11. crightonicus avatar

    Hi Mat, been lurking around the site for a while, longing for some updates and eventually some code insights! love what you’ve done so far. Keep up the good work!

  12. Eric avatar

    Hi, Nice to meet you.
    My name is Eric Jung, at WIZnet in Korea.

    We have been searching some application references in which WIZnet solution is applied, and found your project “Arduino, MQTT, OpenHAB and the Ultimate Room Control Panel” using Ethernet Shield. In the Ethernet Shield, WIZnet’s W5100 chip is embedded. Your development looks very cool & smart.

    Recently we opened WIZnet Museum ( that includes a academic-purposed collection of open projects, tutorials, articles and etc from our global customers. As long as we have your permission, we would like to introduce your project on this website.

    Please confirm with a reply.

Leave a Reply

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