Smart Home 'Lego Bricks'

Lego bricks
With a relatively small number of Lego bricks it is possible to build a vast range of objects. What each individual Lego brick does is less important than the fact that they have a standard set of 'studs' and 'holes' (often created via 'tubes' and 'bars'), to enable them all to be connected together in many different ways. These allow them to be part of something much larger and much more complex and configured in many different ways to create different objects and solve different problems.

We have used a similar approach to our smart home and have developed a range of smart home 'Lego bricks'. These 'bricks' allow us to rapidly construct solutions to all the smart home problems we encounter and to build an integrated solution using these reusable components or 'bricks'. We have also used a common set of hardware interfaces (connectors and electrical standards (the studs and holes), to enable them to be connected together in many ways, to solve any smart home problem.

Whilst the focus of this article is on the physical 'bricks' (the electronics and hardware), we have a corresponding set of software 'bricks' in the form of Java classes, libraries and functions that provide the logic and intelligence to bring it all to life.

The 'Bricks'

Smart home 'lego bricks' enable us to provide well defined functionality in the smart home in a cheap and easily replicated manner. This is more easily explained by way of some examples we have developed:

Raspberry Pi Header Board

RPi B header board
Because the original Raspberry Pi has a bespoke GPIO header, so we created this board to act as an interfacing 'brick', again exposing the pins in a standard way. This design has two 10-way PCB headers, each of which can be configured as input or output.

This board also exposes a 1-Wire netork for connecting DS1820 temperature sensors in via a standard connector. If this functionality is used then some of the GPIO pins can not be used for input or output.

Raspberry Pi B+ Header Board

RPi B+ header board
The Raspberry B+ also has a bespoke GPIO header, so we created this board to act as an interfacing 'brick', exposing the pins in a standard way. This has three 10-way PCB headers each , each of which can be configured as input or output.

This board also exposes a 1-Wire netork for connecting DS1820 temperature sensors in via a standard connector.

Digital Input Board

Digital optically-isolated input board
We developed this 8-channel optically-isolated input board to rapidly enable connection of digital sensors. It exposes a standard 4-way Single In-Line (SIL) connector which is common to other bricks.

This board also has individual fuses to ensure one sensor failure cannot have impact on the others. It may be over-kill but we have seen it happen.

We have chosen to enable this functionality supporting a group of 8 channels. We have picked this number because it aligns well with the number of input/output pins on processors like the Arduino UNO, Raspberry Pi (various versions) and also supports a standard 10-way connector (8 channels + power + ground). This means that we are using standard cables (also bricks) to connect the various components together.

Digital Output Board

Digital output PCB
We developed this 8-channel high-power output board to enable control of 12V dc devices, lighting, sounders, etc. It uses 2-pin screw terminals to connect devices to +12V and GND.

10-Way Ribbon Cable

10-way ribbon cable
Many of the bricks shown here are connected togther using standard (straight-through) cables. These are also considered 'bricks', though they have just one simple purpose, which is to connect other bricks together. We benefit from buying these in bulk as they are used a lot in our smart home.

4-Way SIL Connector

We have standardised on this connector because there are huge economies of buying in volume. It makes it very easy to just plug-in a sensor into an input board and as power is also supplied, we eliminate the need for batteries.

Digital Sensors

Each PIR sensor used in our home can be considered a Lego brick and uses a standard 4-way SIL connector for power and digital signalling. We have more than 20 of these in our home and some have been operational for over ten years without issue. This is a very good example of the engineering principle - 'if it works, leave it alone'.

Each door contact sensor used in our home can be considered a Lego brick and uses a standard 4-way SIL connector for power and digital signalling.

Each moisture and flood sensor used in our home can be considered a Lego brick and uses a standard 4-way SIL connector for power and digital signalling.

Each beam break sensor used in our home can be considered a Lego brick and uses a standard 4-way SIL connector for power and digital signalling.

Dallas 1-Wire

Each DS1820 temperature sensorsused in our home can be considered a Lego brick and uses our standard 4-way SIL connector for power and digital signalling.

Raspberry Pi

Raspberry Pi
We consider the Raspberry Pi a 'Lego brick' in our smart home. We have a standard configuration and build process that we apply to each one and can have one configured and working in our smart home within minutes of taking delivery.

Arduino UNO

Arduino UNO
We consider the Arduino UNO a 'Lego brick' in our smart home. Typically we have bespoke code running on each one, to perform a specific function but most of this code is formed from a common library of functions we have developed.

Summary

The key advantages of taking a 'Lego brick' approach are:

  • Reusable 'bricks' can be bought in volume are thus much cheaper.
  • This approach maximises reuse and thus reduces the effort required to extend our smart home.
  • Each brick becomes a 'tried and tested' component in our smart home with high reliability, known capabilities and known limitations.
  • Should any 'brick' be damaged or fail it can easily be swapped out for another one.
  • It we improve a 'brick' whlst keeping the interface the same, we can rapidly swap out and upgrade all instances of it in our smart home.
  • Our 'bricks' really are 'plug and play'. We can try out new things and test our ideas very quickly and easily.
  • Our appraoch can be applied to any home, from a small flat to a large mansion (or even a care home, hotel, etc.).

When we design a new 'brick' we also consider what else it might be used for and how to make it generic to other applications.

Share ...
We are on ...
Facebook Twitter
YouTube Flickr Follow us on Pinterest