Skip to content
This repository has been archived by the owner on Jan 3, 2023. It is now read-only.
Bruce j Beare edited this page Apr 21, 2017 · 10 revisions

Android Things Sample Code

This project is a collection of sample programs using Android Things, the Peripheral Manager, UPM and MRAA are used to painlessly connect to various sensors, displays and effectors. You can use these samples to give you a leg up on developing applications and user-level IO drivers for Android Things.

What is Android Things

Android Things is a Google sponsored operating system intended for embedded systems. Android Things is based on Android and includes most of the Android Java APIs and frameworks; you use the same development tools and procedures when writing applications for Android Things.

The Peripheral Manager

One new feature of Android Things is the Peripheral Manager. The PM allows an application writer to perform user-level IO programming for the various low-speed system busses (I2C, I2S, SPI, GPIO, A2D and UART) without having to add any kernel drivers. Layered on the PM is the UPM and MRAA libraries. These libraries provide pre-written open source drivers for many sensors, displays, and effectors that you may hook up to an Android Things device.

Taken together, the UPM enabled application architecture looks like this:

Trying out the sample code

To try out the sample code, you will need an Intel Edison or Intel Joule development board as well as some sensors, displays, LEDs or effectors. Details for each sample program may be found in the README.md in the top level and each of the sample program folders.

Here's a picture of an Intel Edison running Android Things and connected to a bunch of Grove devices:

Note: we 3dprinted that cool panel... you can find the project here: .

Here's another picture... this one directly connects a button to an Intel Joule device running Android Things... but without a Grove Shield: