This project is designed to use the Qualcomm® Home Hub 100 development kit to control a smart bulb and smart lock using Alexa voice services to demonstrate Home Automation. Designed to control the bulb, turn it on/off, lock and unlock, sense smoke and send data to AWS IoT at regular intervals.
The main objective is to develop a home automation solution using the Home Hub 100 development kit with Alexa as the voice UI to control smart devices like a smart bulb (turn on & off), smart lock (lock & unlock) and smoke detector.
Tech Talk :
Demo in action:
Materials Required / Parts List / Tools
Build / Assembly Instructions
Build and Flash the Sample app
The development kit will come pre-installed with the sample application. You can skip to the “Assembly and smart devices setup” portion.
Steps to build and flash the sample application will help in case the development kit needs to be re-flashed or updated to a newer version of the app.
Download the Qualcomm® QCA4020 SDK and AIS sample app from here. Make sure all the files and folders are in place.
Move AIS_demo from
Move synaptics library from
Move AIS ecosystem libraries from
- Download AWS SDK from https://github.com/aws/aws-iot-device-sdk-embedded-C and extract.
- Create thirdparty\aws\awsiot\ folder under target directory.
C:\Now \aws folder will have two subfolders awsiot and synaptics
- Copy all files from aws-iot-device-sdk-embedded-C-3.0.1 folder to the third party \aws\awsiot\ folder.
- Download OPUS decoder source from http://opus-codec.org/release/dev/2018/06/01/libopus1_3_rc.html and extract.
- Move extracted opus source from opus-1.3-rc.tar.gz to
- Set environment variables for compiling AWS sample app.
set TOOLLIBPATH=C:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\lib\gcc\arm-none-eabi\6.3.1\thumb\v7e-m
set NEWLIBPATH=C:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\arm-none-eabi\lib\thumb\v7e-m
- Navigate to the working directory
- Build the Sample app:
build.bat t 4020 cdb
- You can flash the sample app over USB with the following instructions:
- Turn off the board
- Remove Jumper from J31 pins 1 and 2
- Set Jumper on J34 pins 1 and 2
- Turn on the board
- Open cmd
- Navigate to the path
- Run the python command
python ..\..\..\..\..\build\tools\flash\qflash.py --comm 8 --debug
- Once the flash is complete, turn the board off
- Remove the Jumper on J34.
- Turn the board ON again.
- Connect terminal to the serial comm port, either enter "1" or reset the board to see the command line menu.
Assembly and smart devices setup
- Download the Kasa Smart Wi-Fi Plug and follow instructions to set up and install the smart power outlet.
- Download the August smart lock app and follow instructions to install and set up the smart lock.
- Download the Alexa app and select device set up to add the August Lock and TP-LINK Kasa device to Alexa. Follow the instructions to set up the smart devices with Alexa.
- Plug in the light bulb to the Kasa Smart Wi-Fi Plug. Plug in the August Connect Wi-Fi Bridge into the second socket.
Launching the application
- Power ON the Home Hub 100 Board
Connect the micro-USB port J85 to your host PC. It will detect the USB connection as a serial port..
- Open a hyper-terminal program like Putty and open the Com port as seen below.
- Once the Com port is open, enter the following commands
3 7 WiFiHotspot Password WPA2 CCMP CCMPwait for handshake
WLAN: 4 way handshake success for device=1
4 4wait for
Net: DHCPv4c: IP=10.73.201.200
Subnet Mask=255.255.254.0 Gateway=10.73.200.1
Net: Resolving SNTP client...
Net: Interface wlan1 initialized, DNS and SNTP started Successfully
- Once the device is connected to WiFi, you will need to set up the AVS account, add the Home Hub 100 development kit to your AVS account and download the AWS certs and create the “config.json” file. Please refer to the Home Hub 100 User Guide for more details on each step.
- Once you have downloaded the certs, you can use the Certcs tool included in the SDK and download the certs to the Home Hub 100 device using the following commands:
Net cert get QCA4020_AIS_Thing1.pem.crt 192.168.0.34 -s client.bin -k QCA4020_AIS_Thing1.pri.key -t pem_cert
Net cert get root_ca.bin 10.45.160.97 -s aws_ca_list.bin -t ca_list
Net cert get qdn_config.json 10.45.160.97 -s /spinor/ais_configuration.json -t raw_file
- Once the certs are stored on the development kit, you can run the demo with the following two commands.
5 5wait for alexa client is ready
Once the app is launched, you can use the following Alexa commands to control the demo.
- Alexa, turn on the light
- Alexa, turn off the light
- Alexa, lock the door
- Alexa, unlock the door
- Alexa, is the door locked?
- Alexa, play some music
- Alexa, stop
Qualcomm Home Hub 100 and Qualcomm QCA4020 are products of Qualcomm Technologies, Inc. and/or its subsidiaries.