by Lauren Reed
Makers love customizing their Android devices. And thanks to the BBBAndroid, which puts emphasis on interfacing custom hardware with Android operating systems, users now have a starting point to create their own custom Android-based devices.
During the summer of 2013, I worked as a graduate assistant at Syracuse University. While I was there studying and assisting with classes, I was also experimenting with new ways to prototype Android systems with custom hardware, said Andrew Henderson, creator of the BBBAndroid.
Andrew decided he wanted a system with the ability to easily interface with multiple systems. He also did not want to have to break down commercial phones and tablets in order to implement the custom Android hardware he was testing.
When he started using the BeagleBone Black, it fit the bill perfectly.
The BBB is low cost, which is perfect for this system because Im designing it specifically for students, Andrew said. I wanted them to feel comfortable paying for and interfacing with my platform.
Other aspects that factored into Andrews decision to use BBB were the small physical footprint and open hardware design. The USB cable that comes with BBB can be used to provide an ADB interface to the BBBAndroid system, which makes app development and deployment quick and easy. Basic LCD capes that work with systems such as Angstrom and Debian, will work with the BBBAndroid straight out of their boxes. However, in those cases its up to the individual to write an Android app that is compatible with BBBAndroid.
While working with a port for TIs Sitara AM335x family of processors, I discovered that introducing newer BBB operating system features would require quite a few modifications to a couple of scripts, Andrew said. I tinkered with things quite a bit.
Andrew emphasizes that a complete knowledge of all aspects of the BBB system is very important for developers. Interfacing SPI and I2C devices was easy thanks to the device tree overlay support in the BBBs 3.8 operating system. Plus, BBB is very user-friendly in terms of the number of general purpose input/output pins; it has more available than other boards currently for sale.
Through trial and error, Andrew learned what he could from operating system and device-specific modifications from Rowboat Android JellyBean. Eventually he began pulling Android source code directly from the Android Open Source Project (AOSP) repositories.
The AOSP build system is pretty complex, but very well documented, Andrew said. This is why he turned to Karim Yaghmours book Embedded Android for help in understanding, building and customizing AOSP for BBBAndroid.
Andrew feels strongly that makers could always use more example Android apps that show off the interfacing capabilities of the BeagleBone Blacks hardware. That is why he plans to mentor a student who is working with the platform this summer during the Google Summer of Code program.