1. Home
  2. /
  3. Projects
  4. /
  5. Smart Home System Development
Integra Sources home button.

GET IN TOUCH

Smart Home System Development

AWS Embedded hardware development Firmware development IoT Mobile app development Smart Home

Background

A smart home isn’t just a tandem of a smart coffee maker and voice assistant. It’s a system that can control all appliances in your house, from the door lock to the tap in the bathroom.
A smart home system makes everyday life easier. With a simple tap on the smartphone, one can turn the lights on and off, shut curtains, and pick a TV channel. Various sensors allow for monitoring the state of the house and its utility systems.
As high-tech solutions are becoming cheaper, even average households can afford smart home solutions. In this project, our client wanted to develop a custom smart home system compatible with the most popular smart appliances and gadgets on the market.

Smart Home System Development - Integra Sources case

Request

The customer asked Integra Sources to develop a smart home system compatible with ZigBee smart devices from third-party manufacturers.
We were also tasked with developing a mobile application to control the system and a cloud server.

The scheme of a typical smart home system consisting of a control device, a server, a hub, and peripheral devices.
A typical smart home system consists of a control device (a smartphone in this case), a server, a hub device, and a range of peripheral devices such as electric lights, smart locks, an air conditioner, etc.

Hub device design

Our first task was to create a hub device that would serve as a gateway between the cloud and the periphery of the system. It transmits the status data from sensors to the app and the commands from the app to actuators.

The hub is based on an ESP32-S2 microcontroller responsible for the functionality of the device. This is a high-performance chip with a large memory size. Furthermore, it has a built-in Wi-Fi module for accessing the cloud.

Additionally, the hub has a Quectel EC21-E module for accessing the internet via cellular communication. It can both use the LTE (4G) communication standard and fallback to 3G and 2G. This way, users can receive status information and give commands even if 4G is unavailable.

The microcontroller connects to an nRF52840 Bluetooth module. It allows the device to communicate with smart home sensors and actuators. The module receives data from the periphery and transmits it to the ESP32-S2 that processes it and sends the information to the cloud.

Firmware development

The team wrote firmware for the ESP32-S2 and the nRF52840. As of now, the firmware developed for the nRF52840 allows it to communicate with ZigBee smart devices. But the customer is planning to develop firmware that will allow the hub to support data exchange using BLE and serve as a gateway for OpenThread networks.

Mobile application development

Our software development team created a cross-platform mobile application for iOS and Android through which users can control the system and receive status data.

AWS cloud

Lastly, Integra Sources set up the AWS IoT service that allows the hub and the application to communicate via the internet. This way, users can receive data and control the system from anywhere where an internet connection is available.

Periphery

The customer asked the team to make the system compatible with the following list of basic smart home devices.

However, the system is compatible with other ZigBee devices as well.

Scope of Work

Embedded hardware development

We created a hub device for the smart home system. This work included the following tasks:

  • Schematics design
  • PCB design
  • PCB assembly
  • Prototype testing
  • Debugging

Firmware development

The team developed the firmware for the MCUs of the hub:

  • ESP32-S2;
  • nRF52840.

Software development

  • We set up the AWS IoT service.
  • The team developed a cross-platform mobile application through which users can control the smart home system.

Technologies Used

  • The device’s business logic is implemented on an ESP32-S2 microcontroller with a built-in Wi-Fi module responsible for accessing the cloud server.
  • We used a Quectel EC21-E module for accessing the internet via cellular communication.
  • An nRF52840 Bluetooth module was used for communicating with peripheral devices.
  • The team used Altium Designer for schematics and PCB design.
  • The firmware for the microcontrollers was written in C++ using Visual Studio Code.
  • The cross-platform mobile application was written in C++ with the Qt framework.
  • The team used the AWS Mobile SDK for Android and iOS to connect the mobile app to the cloud.

Result

Integra Sources created a smart home system consisting of a mobile application that controls the smart home, a cloud server that allows users to control the system via the internet, and a hub device that provides communication between the mobile application and peripheral devices.

As of now, the system is only compatible with ZigBee smart home devices. In the future, the customer plans to make it possible to connect BLE and OpenThread devices to the hub. For this purpose, the team is planning to create corresponding firmware and extend the functionality of the app. By tapping a button, the user will be able to switch between ZigBee, BLE, and OpenThread. The app will then upload a corresponding firmware to the hub from the cloud, making it compatible with ZigBee, BLE, or OpenThread devices.

Supports

ZigBee devices

Control

Through an iOS and Android mobile app