Introduction: Control Raspberry Pi GPIO Using Amazon Echo (Fauxmo)

Picture of Control Raspberry Pi GPIO Using Amazon Echo (Fauxmo)

This project covers controlling Raspberry Pi GPIO using an Amazon Echo.
It uses Fauxmo which enables the RPi to pretend as a WeMo device. Fauxmo is a Python 3 module that emulates Belkin WeMo devices for use with the Amazon Echo.

To get a confirmation of change in state for GPIO you either look at the terminal in which you will run the code or use this instructable to connect GPIO ( for this project 16-26) to an LED for visual check.

Inspired by Home Automation With Amazon Echo Voice Control by FabricateIO

Step 1: Setup and Test

Picture of Setup and Test

You will need an Amazon Echo, Raspberry Pi ( I am using a RPi 3 Model B) and copy of source code.

  1. Download a copy of the source code in your RPi 'home' (~/)
    git clone
  2. Move to source directory:
    cd echo-pi
  3. Execute the script using:
  4. Say to your Echo : "Alexa, discover devices"
    Each GPIO is registered as a independent device and can be controlled separately.
  5. To change a state of GPIO say : "Alexa, turn on gpio21" or "Alexa, turn off gpio21

Step 2: Summarizing ...

Picture of Summarizing ...

Although this allows you to control individual GPIO's, by experimentation found that it allows only about 9-10 devices (GPIO's) to be discovered. The Echo discovery ends in 20 secs; before the script can respond to discovery if all 26 gpio pins are included.

Hence in the above source code only the gpio16 - gpio26 are added as devices and can be controlled.
Looking for a fix or alternative ....


SharjeelG (author)2017-06-07

Traceback (most recent call last):

File "/home/pi/", line 6, in <module>

from debounce_handler import debounce_handler

ImportError: No module named 'debounce_handler'

While i am trying to run the program it showing this error.

Can u help me plz?