Mycroft AI demonstration Skill for using GPIO pins with the RPi 3
Clone or download
Pull request Compare This branch is 12 commits ahead of amcgee7:master.
Latest commit 01c74ac Aug 30, 2018

Raspberry Pi GPIO Demo

Example of interacting with GPIO pins on a Raspberry Pi


This Skill demonstrates how to interact with the Raspberry Pi GPIO pins using a Mycroft Skill. This Skill shows both reading data from a GPIO port (detecting a button press) and writing data to the port (illuminating an LED).


You will need to first install the GPIO libraries for Picroft, and add some additional permissions.


The documentation is done using Sphinx, which picks up comments from the code. The following will generate the html docs.

make docs

You can then find the generated html in docs/build/html/index.html. Open that file in your browser and you should be able to navigate to the docs.

Installing from the makefile

  • Change the Makefile IP address for the RPi installation to the IP address of your RPi.

That is, edit the file makefile using your favorite editor like nano or vi.

The line you will need to change is scp -r * pi@

Change this to have the IP address of your RPi.

  • Create the folder /opt/mycroft/skills/skill-gpio on the RPi for the installer.

You can do this by using the command mkdir /opt/mycroft/skills/skill-gpio

  • Build the code using the makefile. make install.pi

Testing the makefile

make test.pi

This will run a test to be sure you have access to the GPIO and will report any errors that are identified.


If the LED blinking is too fast, it will be difficult to get a command to execute because there will be a voice response when the the LED turns off and on. Turn the blinking to a lower frequency to be able to execute commands.


Please use the below image as a guide to the circuit layout:


  • "Turn LED on"
  • "Turn LED off"
  • "Blink LED"
  • "LED status"


@amcgee7 Mycroft AI (@MycroftAI)

Supported Devices

platform_mark1 platform_picroft