Switch branches/tags
Nothing to show
Find file History
devunwired Change packaging category.
Bug: 79346240
Signed-off-by: Dave Smith <smithdave@google.com>

Change-Id: I01c35d71513b5bd7faca12233a29f06b9113d33d
Latest commit 4f599cb May 19, 2018


Simple Peripheral UI (Java)

This utility exposes the GPIO of an Android Things device as switch widgets in a graphical UI. You review the state of inputs, and click the switches to control the state of outputs.


This utility shows on the attached display Android Switch widgets for each GPIO pin exported by the board.

When you click or tap on the switch, the GPIO active status switch from HIGH to LOW according to the widget state.

You can attach LEDs or other digital output peripheral to your GPIO pins and toggle them on and off without changing a single line of code (if you connect LEDs: make sure you add 470 ohms current-limiting resistors in series to avoid damaging them).


Simple UI sample demo

(Watch the demo on YouTube)


  • Android Things compatible board
  • Display with touch input or external pointing device
  • Android Studio 2.2+
  • LEDs
  • resistors
  • Breadboard

Build and install

On Android Studio, click on the "Run" button.

If you prefer to run on the command line, type

./gradlew installDebug
adb shell am start com.example.androidthings.simpleui/.SimpleUiActivity

Enable auto-launch behavior

This sample app is currently configured to launch only when deployed from your development machine. To enable the main activity to launch automatically on boot, add the following intent-filter to the app's manifest file:

<activity ...>

        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.HOME"/>
        <category android:name="android.intent.category.DEFAULT"/>



Copyright 2016 The Android Open Source Project, Inc.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.