February 15, 2017   |   1min read

Getting started with drivers for Android Things™

Android Things is a platform that allows building a prototype of device that could easily become the part of Internet of Things world. Google did it well and prepared a lot of drivers - libraries that facilitate using external devices such as sensors, buttons and others.The decision was simple - we wanted to chip in to Android Things and implement a few useful drivers.


There are so many sensors and devices that it is almost impossible to pick up the most popular. Finally, we chose the two that could be widely used in many projects.


It is always good to have some input to an app and numpad seems to be legit in case of IoT. The cheapest numpads are extremely simple under the hood. It is just a matrix of wires (one per each column and row) crossing under the buttons. So when you set up HIGH to column 1 and press button in row 1 and column 1 then on row 1 you can observe HIGH. Using the driver, you can just set up listener on the numpad and receive callback each time a button is pressed or released. The other way is to register NumpadDriver as User space Driver and then listen for KeyEvent with Android API.

Stepper motor

Stepper motor is a great solution when you want to perform some jobs that demand high accuracy.The whole concept of stepper motor is fairly simple but the diversity of motor properties such as: steps count, gear ratio, availability of half steps and quarter steps, is great. We have prepared high level api that allows to move motor per given angle and direction. The sample implementation supports ULN2003.

Is something missing?

We are aware that a lot must be done to cover all useful devices and sensors. Maybe you need a new driver? Have an idea to share? Don’t hesitate to contact us - we love such challenges!

Check out our Github for full source code.

Paweł Byszewski

Head of Product Development

Marcin Kornacki

Software Engineer

Did you enjoy the read?

If you have any questions, don’t hesitate to ask!