Today, embedded systems are so common that you’d have a hard time looking in any direction without seeing a device which contains one - if you know where to look. Lately, a movement toward embedded as a platform is creating new opportunities by leveraging the Android OS.
An embedded system can be thought of as the brains of a larger mechanical or electrical system. A combination of computer equipment will be used to create an always-on logic center which is responsible for controlling the greater device functionality. What that functionality is depends on the machine or device. It could be responsible for anything from activating a drawbridge to triggering your ice machine.
The full set of electrical components (microprocessors, signal processors, RAM, resistors,capacitors, COM ports, etc.) are controlled by an embedded software operating system. These operating systems have traditionally been highly specialized and unfamiliar to even the technical community (see ITRON). The result is that embedded system technology has lagged the computer industry in feature advancements. After all, a classic embedded device has a fixed function. It’s not meant to be a platform for any purpose other than the one it was originally designed for.
More recently however, a new breed of embedded technology is emerging using customized versions of the Android operating system. At first blush, Android may sound like an odd choice as an embedded OS, but in fact Android is already an embedded OS, its roots stemming from Embedded Linux. Where Android becomes appropriate as an embedded operating system outside of mobile devices is in devices which require a user interface or multimedia capabilities. Android offers several advantages over proprietary embedded operating systems, not the least of which is global familiarity in developing for the platform. Other advantages include a stable kernel, no royalties or licensing fees, and a vast library of open source code and device drivers. All of these things combine to make creating an embedded system more accessible to developers and manufacturers.
Embedded Android OS is not without its shortcomings however. Like all general purpose embedded operating systems, the code base carries significant processing overhead and a larger memory footprint when compared to proprietary embedded OS’s. There is substantial functionality that is either irrelevant or not suited toward embedded systems outside of mobile devices. The beauty of an open source operating system like Android however, is that individuals and companies alike are free to strip down, modify, and add to the source code to suit their business needs.
Smart and Connected Devices
This has given way to companies like Hughes Systique and Linaro who have adopted a different embedded model: embedded as a platform. Hughes Systique has been creating customized versions of the Android operating system since 2009 targeting a variety of devices ranging from routers and VOIP phones to smart watches, automotive dashboards, and home appliances. Their engineers have waded through the over 2GB of Android source code to craft optimized versions of Android for use in embedded systems since the release of Android 1.5 “Cupcake”. Since Android’s user interface is optimized for touch screen displays, Android offers a strategic advantage over vanilla embedded linux in such applications.
Linaro has been working hard to boost the viability of Android as an embedded platform as well. Their efforts have been focused on the extremely complicated task of tearing down the gigantic Android code base to just the essentials for embedded systems for the ARM architecture and SoC vendors. This may be only the beginning of this trend.
Embedded as a platform
While embedded purists will argue that a true embedded system - headless and fixed purposed - should run something like traditional embedded linux over Android OS, there is an emerging trend toward embedded as a platform. Consider the new Google Chromecast device for example, it’s headless and runs a type of embedded Android itself. The cost of hardware powerful enough to run Android is sharply declining while the efficiency of the hardware is rising dramatically. As the line is further blurred between what constitutes a mobile device and what doesn’t, Android could be perfectly positioned to become the go-to embedded operating system for the next generation of smart, connected devices.