Bringing Home Automation to Life with Open Source Technology

5 mins read

Easier consumer access to high-performance computing and wireless technologies means the home automation sector could finally be about to take off. Open source hardware could be critical in this being accomplished - helping engineers to deliver solutions quickly and cost-effectively.

A Market Still in Waiting

Over the course of several generations, automation of the domestic environment has met with a fairly mixed response from homeowners. While appliances, such as washing machines, dishwashers and vacuum cleaners, have been welcomed warmly since their inception, smarter technologies like automatic lighting have received a more tepid reaction. There are several reasons for this. In the past, smart technologies have been relatively expensive and installation has been difficult, usually involving disruptive rewiring. The skills of installers have typically lagged behind the technology, and customer demand has tended to come from small numbers of wealthy homeowners or technophiles.

The situation could change as the prices of smart devices, like sensors and controllers, continue to fall and as suitable wireless technologies have emerged to make extensive rewiring unnecessary. In addition, the advent of almost universal consumer access to the Internet and smartphones greatly simplifies interactions with smart home equipment. With the emergence of digital home assistants, such as Google’s Alexa, the home automation market may now be gaining real traction. So far, however, major brands have not succeeded in dominating, and opportunities remain for start-ups to find a successful formula and establish a presence.

At the other end of the scale, enthusiast makers and hobbyists have been building their own home automation systems for many years, and are keen to experiment with the latest and best technology now available. Open source ecosystems, such as Arduino, Raspberry Pi, BeagleBoard or Udoo, can be effective either in helping business-minded engineers get proof-of-concept models up and running, and from there quickly develop a marketable product, or in empowering enthusiast innovators to fulfil their ambitions to build ever-more sophisticated systems. Each provides a choice of processor baseboards, covering a broad spectrum of performance and features, with a rich set of optional modules for expanding functionality, as well as accessible I/Os that simplify adding custom circuitry. In addition, users can benefit from plentiful and easily accessible open source software, and connect with developer communities prepared to share how-to tips on just about any aspect of using the hardware or customising code.

Building Sensors and Controllers

A home automation system is fundamentally based on sensing human activity or environmental conditions in various areas of the house, and turning appliances on or off, or dimming lights - either in direct response to user input or according to a predetermined program. Accordingly, the system typically comprises large numbers of small, low-cost sensor devices, such as sensors for ambient-light, occupancy, or temperature. The information from sensors can be used directly to control an appliance or a lamp, or may feed information back to a central controller responsible for overall smart home management.

Small but strongly performing microcontroller or processor boards are a key strength of the open source hardware market. Often based on advanced architectures, such as ARM® Cortex®-M cores, or others like the Atmel ATmega, these boards have very low power consumption and so - in the hands of a skilled designer - can operate from a small battery for long periods without replacement.

Some of the smallest and least expensive of these boards are easily capable of controlling a sensor (e.g. an ambient-light sensor or temperature sensor), and transmitting the sensed data to a central home automation controller using one of several wireless technologies. A board like the Raspberry Pi Zero W has support for IEEE 802.11b/g/n and Bluetooth Low Energy (BLE) already integrated. Conversely, boards without wireless capability built-in can be made wireless by adding a suitable expansion board.

Taking advantage of the openness of the Arduino hardware, for example, expansion modules from various third party manufacturers are available. One example is the Low Power Radio Solutions (LPRS) S900 868MHz wireless shield for Arduino. Designed to be extremely easy to use, the module can work without an RF protocol stack, while point-to-point, peer-to-peer or mesh network connectivity options are handled by the application software. The module also contains a built-in temperature sensor.

Figure 1: The LPRS 900 Wireless Shield

A home automation project could be designed to handle only a small number of activities within the home. Typical examples of this are turning off or dimming lights, or adjusting heating settings in individual rooms. Such a system could monitor various conditions around the home - including room occupancy, ambient light intensity, ambient temperature, and time of day - to implement these controls.

Ambient light sensors are available from various manufacturers, such as the Vishay TEPT5700 or the Panasonic AMS302. Alternatively, there are ready-to-use modules like the SparkFun BOB-08688 breakout board, which contains a Vishay TEMT600 sensor that can be connected to an analogue input and made to work with a few lines of code.

Figure 2: SparkFun’s BOB-08688 Breakout Board

Build a Better Sensor

Occupancy detection is another key aspect of home automation systems. PIR sensors have been used for decades in home security systems, and remain an effective means of detecting activity. Unlike the case with an intruder alarm, a home automation system is not challenged to detect individuals who are seeking to hide their presence. Here it is in the occupant’s interest to be detected, to help the system manage the home as effectively as possible. On the other hand, the PIR’s dependence on movement, to detect presence, is a well known drawback of this type of device. Moreover, a better, more sensitive means of occupancy detection can allow the possibility to add other features or services to the home automation system, such as the ability to determine if help is needed. The elderly, in particular, could benefit from a system capable of detecting if a person has been stationary for an unusually long period, or may have fallen and is struggling to get up. Microwave-based occupancy detection could offer a solution. Makers have begun exploring its potential, in projects such as the Squirco home automation system published on the Hackaday website. Indeed, following home automation projects on engineering sites/forums provides the opportunity to connect with other makers and share experiences.

Additional responses of a home automation system could include opening and closing window blinds automatically as ambient light levels change in the morning or evening, or if the outdoor ambient temperature becomes excessive. A motor-driven actuator can be used to turn the slats of a Venetian blind between open and closed positions. Suitable motor-driver boards are available from manufacturers that are well known to the maker community, such as Adafruit, DFRobot or Maxim Integrated, which simplify the power design challenges associated with driving DC or stepper motors.

The Compute Power to Bring it All Together

The sensor modules distributed throughout the home could be designed to actuate local lights, heaters, air conditioners or blinds directly. Alternatively, the data gathered could be communicated to a central controller. This controller would coordinate the responses of the various systems, and provide a convenient console for the user to program the system - adjusting thresholds and sensitivities as preferred. Maker ecosystems, such as Beagle and Udoo, contain powerful single board computers (SBCs) that have ample resources for collecting multiple channels of data received through direct wireless links or from connected wireless network nodes.

The Udoo x86 boards, which feature Intel® quad-core processors, claim to be the most powerful maker boards on the market. Other Udoo boards include the Neo and Dual/Quad boards, which use variants of the i.MX6 application processor. The Udoo boards are compatible with Arduino shields, and can run the Arduino IDE directly. Hence makers that are familiar with this environment can use their favourite tools to develop solutions leveraging the high compute power of the Udoo board as a central controller capable of interacting with the sensors in the home, connecting to the Internet if required, and managing a graphical touchscreen user interface.

The Udoo x86 can control up to three displays in 4K resolution. If this seems a little excessive, other SBCs suitable for the role of central controller include the Raspberry Pi 3 Model B (based on a 1.2GHz Broadcom quad-core processor) and the BeagleBoard or BeagleBoard Xm (based on Texas Instruments’ Sitara ARM Cortex-A8 processor running at up to 1GHz).

Conclusion

A home automation system can contain large numbers of small, low power but smart and feature-rich sensors, as part of a home-wide wireless network. Open source boards provide developers with a choice of ready-to-use, high performing platforms for building such sensors, with easy wireless connectivity already integrated or as turnkey expansion boards. They can help get a prototype up and running quickly, and provide access to the open source community to streamline software development.