Android on Raspberry Pi 3

There’s a thought-provoking post on GeekTillItHurts on how Android 7.0 Nougat can be run on the Raspberry Pi 3. This offers new opportunities for entrepreneurs and developers to implement more single board computer (SBC) embedded type applications.

Using Android on SBCs isn’t new. I have worked on a few such projects that have re-purposed media Android TV devices to do more specialised things. It’s very easy to program Android rather than c++ or c and you get much better productivity. It also allows more complex applications to be implemented quicker. In two cases I ended up doing image processing on SBCs that would have been much more difficult, if not impossible, had I not had Android’s hardware accelerated drawing APIs.

These boards often run ‘headless’ without a UI or with a minimal admin UI. In these cases, you need some central event processing for communication between the various modules. I have found using Green Robot’s EventBus simplifies communication between threads, services and the minimal UI if you have one.

Android for Embedded Projects

linuxdotcom.pngThe use of Android as an embedded platform interests me as I have worked on three such projects and those projects seem to have the most potential. Embedded projects are those that use Android to power a single-purpose device where the user interacts with just one app. According to VDC Research

“Embedded products running Android will gain share over the next few years. Over the last three years, Android shipments that did not include smartphones, tablets, and E-readers grew at a CAGR of 149.2 percent, culminating in about 15 million units shipped in 2014.”

VDC say that Android is currently eating into the share of Windows Embedded rather than Linux in areas such as automotive infotainment, medical devices, military handhelds, retail and signage. However, Android isn’t currently being used in areas more typically labeled IoT such as connected home and industrial automation.

$65 Android Single Board Computer

imagination.png Imagination have a new CI20 development board that can run Android 4.4. It uses a MIPS-based 1.2GHz dual core processor, includes 1Gb RAM, 4Gb flash and SD card support. There’s also HDMI, audio out, a camera interface, Ethernet, WiFi and Bluetooth. There’s also connection via 2 x UART, 25 x GPIO, 2 x SPI, I2C, ADC, expansion headers and the 14-pin ETAG connector. All for $65 (£50) inc VAT + delivery, available from the end of January.

CI20.png

I seem to be increasingly working for clients on custom, vertical, products made from general-purpose Android hardware. Over the last few years I have worked on five such projects. Android is a great way to program at a high level on a Single Board Computer (SBC). The only thing I would say is to program as little as possible that’s specifically for the board. Boards tend to be here today, gone tomorrow so if you do end up writing board specific code then abstract it away (separate into a particular code area/library) so that replacing the board doesn’t become so problematic.

New Android 4.3 Quad Core Single Board Computer (SBC)

udoologo.pngA Kickstarter project came to fruition recently with the availability of the UDOO quad core 1GHz single board computer that can run Android 4.3. The board measures only 11cm x 8.5cm and has 76 fully available GPIOs, HDMI, WiFi, Ethernet, USB, Mini USB and type A USB.

 

udoo.png

This board is great for experimentation and might even find itself used in Internet of Things (IoT) projects.