Sign in Go Pro

Introduction to Android Things

Peripheral IO, learning SPI with a Rainbow of LEDs

This lesson is for PRO members.

Upgrade today to get access to all the PRO lessons.

Unlock this lesson

Up next




This lesson is going to show you how to interact with the Android Things Peripheral IO APIs to understand and communicate with a SPI peripheral. In this case a strip of RGB LEDs. Using this peripheral to code an IoT android app.

We will learn about the Serial Peripheral Interface protocol and how to read and use the technical documentation to help us code a SPI peripheral. We will discuss the SPI API's, how to deal with IOExceptions in your app, how to manage hardware resources and how Android Things works with the Android lifecycle. Coding an android application to communicate with the the Rainbow Hat 7 Element APA102 Rainbow to light up the LEDs in the colour of a rainbow.

When complete, you will have learnt the basics of SPI peripheral communication and also written an Android Things application that will be able to communicate using the APA102 update transaction in bytes, to create a colourful rainbow of LEDs.

This tutorial uses the write method of the SPI APIs for peripheral output, there is also a read method for peripheral input. read is not explained as it is exactly the same as the write method only in reverse and therefore will be understood from this video anyway.

Hardware needed.

For this lesson you will require:

  • A Raspberry Pi 3 flashed with Android Things
  • A Rainbow Hat peripheral

If you need to buy the Raspberry Pi to start with Android Things I would recommend this kit. It contains:

  • Raspberry Pi 3
  • Rainbow HAT
  • Pibow Coupé for Android Things
  • 2.5A official Raspberry Pi worldwide power supply
  • 8GB microSD card


Great tutorial! You mention a few times that the SPI connection we need to make is on SPI0.0, yet the sample code incorrectly shows "SPI3.1".


Lessons in Introduction to Android Things