Android Things just might be one of Google’s best projects ever. Designed to help build small embedded smart “things” by being simple and consistent, it’s a great way to get started with any type of small connected project even if you’ve never done any type of programming before.
It can run on low cost hardware and has great support material to point you in the right direction no matter what your dreaming of building. I have been looking at it for a few weeks and think it’s where everyone with any interest in building cool tech and not just using it needs to start.
Maybe the best part is that at its core it is just Android. The same Android that runs on over a billion phones, countless tablets, watches, televisions and most any other small smart thing you can imagine. Learn by doing with Android Things’ great tutorials and you will be well on your way to understand how writing apps for Android is done. You don’t need to have dreams of being a successful Android app developer — it’s a great way to learn even if you just want to learn. Best of all, getting started takes just a few simple steps.
What you need: Hardware
You don’t need a Christmas dog blanket to work with Android Things, but it doesn’t hurt anything if you have one.
To get to work at development with Android Things you need a few basic pieces of hardware. For starters, you’re going to need a computer. It doesn’t have to be a fancy computer, only powerful enough to run Android Studio. Any modern Windows PC or laptop will be fine, as will any Intel Mac or a Linux PC.
Many years ago, I started fooling with Android development on a small Acer Netbook I had lying around, and it was more than enough on the hardware side. Of course, a powerful PC will cut down on the time it takes to compile your creations, but you don’t need one.
You don’t need a lot of expensive hardware to get started.
At the other end, you’ll need some hardware that can run Android Things.
If you’re familiar with small single-board-computers and tinkering around, you can get started with a stand-alone PICO-IMX7-AT board or a Raspberry Pi 3. I love the Raspberry Pi because it has such broad support and is adaptable to do almost anything, but if you’re more serious about building smart embedded projects the Pico is a better choice because it also has Alexa development support.
An even better choice is to spend $200 and buy a complete Android Things developer kit. You’ll not only get the Pico board, but also a 5-inch multitouch display, an HD camera, a Pimoroni Rainbow HAT and all the cables and fasteners to put it together. These are the same kits Google gave to attendees at Google I/O 2018, and they’re great. It’s worth spending a bit more to get everything you need as well as have the exact hardware used in all the demos and tutorials.
What you need: Software
Every piece of software you need to develop for Android Things is free. That doesn’t mean it’s bad, only that the developers of it want you to be able to use it and aren’t charging anything.
It consists of three parts: the Android Things image for your development hardware, Android Studio for your computer, and an Android companion app to get your system up and running and connected to Wi-Fi if you’re using the kit from Google.
All the software you need to develop for Android Things is free.
Android Studio is the very same Android Studio that app developers for Android phones use. It has a few basic requirements, and you already have those installed if you’re using Windows or macOS.
If you’re installing on Linux you’ll need a few basic dependencies that you probably already are using. You can download Android Studio from the Google Developers website, and it installs like any other program. You’ll also find full instructions about setting up your development environment after the installer walks you through getting set up.
Android Things is available as a pre-built image from Google at the Android Things portal. Google provides updates and patches you can install so using the pre-built image is a good idea. If you purchased a developer kit, you already have the software you need to get started installed to the board. You’ll also want to sign up for your own Android Things dev console to help fetch and send data through the Google Cloud. If you didn’t buy a kit, the dev console has the tool you need to flash the latest build of Android Things to your board.
It’s also a great idea to install the Android Things companion app to your phone. If you bought a kit, you’ll need it to get set up and connected to a network. You can find it at Google Play.
Next stop: Anywhere
Believe it or not, that is everything you need to develop for the Android Things platform. If you’re familiar with software development, you have a good idea of where to go next, but most people aren’t familiar. That’s OK because Android Things was designed to be the thing that will teach you.
Google provides a complete tutorial to get started once everything is put together.
This is why I love the Android Things platform. You have a handful of hardware that can tell you the temperature, but no idea where to go next once you have everything connected. Google has an awesome tutorial that takes you through the basics (making an LED light up) to advanced techniques in its Android Things training docs.
You can use these tutorials with any development hardware so if you didn’t get a kit you can still learn whats what and how to make it all happen. You’re walked through the I/O pins and what each is used for (and even what they are if you are starting from scratch!) and told exactly how to connect any hardware and have complete code examples available.
Completing the Android Things training Google Provides gives you everything you need to know to get started building apps as well as familiarity with embedded computing and how other peripheral hardware works. It’s wonderful no matter what your skill level is.
I know most people are more interested in using cool gadgets than they are making them. But if you have even a passing interest in IoT / mobile application development or embedded hardware, Android Things is a great way to learn more and something you should have a look at.