A Personal Robot Companion for your Smart Home

- Kubi was my final project for 'Physical Computing' class during Fall 2016 for the HCDE Graduate program at the University of Washington.


Kubi is a personal robot companion for your smart home. He is powered by Alexa, Amazon’s personal voice assistant and offers the same features as the Amazon Echo. Kubi does not require a separate Echo unit, all you need is your voice.

Kubi runs on the Raspberry Pi and has a microphone and a speaker to enable voice-based interactions. It connects to the Alexa Voice Service to understand voice commands and perform actions, and also has an Xbee radio to interact with the smart home.

Overall Architecture
Kubi Robot

What can Kubi do?

You can ask Kubi about the weather, order a pizza, or play your favorite radio station as you come back home after a long day of work and settle in to relax.

Kubi can also control your smart home devices like your lights and your security system. You can ask Kubi to dim the lights or choose between different presets depending on your mood. Kubi also responds to smart home gateway alerts.

Demo Video

I created a short video to demonstrate Kubi's general and home-automation capabilities.

In the video, you will notice Kubi's animated eyes blinking and looking around, various expressions and body movements. Although these were programmed to trigger randomly, they seemed to add a sense of liveliness and personality to the robot.


The Kubi ecosystem consists of the user, the Kubi robot, and the smart home node. In the background, Kubi connects to Alexa Voice Service to understand the voice commands and communicates and converts them to directives that are sent to the Smart Home Skill Adapter.

Overall Architecture
Overall System Diagram

The Skill Adapter interprets the directives and sends messages to the Device Cloud. A Device Cloud is a cloud environment provided by the device vendor that controls and manages a user's cloud-enabled devices. In my case, I created my own device cloud using AWS IoT. Finally, the smart home, powered by Arduino listens to commands from Kubi over the Xbee radio to control the devices and respond to gateway alerts.