While buttons, LEDs, and character LCDs were sufficient for interfacing with the embedded systems of the past, future embedded systems will be more intelligent, configurable, and connected, requiring a new approach to the user interface.
Modern users are accustomed to more advanced user interfaces, ones with touchscreens, and on-screen keyboards.
But LCDs and touchscreens add unwanted cost adders to embedded system products in the form of board cost, and software support. Luckily there are better and more cost effective ways to provide your embedded system with an easily programmable user interface.
Instead of building an embedded system with a LCD and touchscreen, why not take advantage of the LCD and touchscreen that most people carry in their pocket every day?
I am, of course, referring to Android–enabled smart phones and tablets. The Android OS provides a variety of features for interfacing with future embedded systems. But can Android communicate with embedded systems?
The short answer is: yes! Here are four ways embedded system engineers can use Android–enabled devices in design.
1. Universal Serial Bus
The Universal Serial Bus (USB) is the connector used to charge Android phones and tablets and sync them with a PC. That same connector can also be used to communicate with an embedded system. This method ONLY works with Android phones, however (iPhones use proprietary communications on their ports). This interface method is being promoted by Google in the form of The Accessory Development Kit (ADK).
ADK was designed by Google to aid in the interfacing of Android products with embedded systems. Connecting an Android device over USB to an embedded system makes the Android device the User Interface for the embedded system. By using the Android device the user has full access to a touchscreen, and can use touchscreen gestures like zoom, scroll, and pan, as well as various other features of the device interface, to configure or control the embedded system. When the user is done, they simply unplug their device.
Using this method could even charge the Android device while it’s being used to interface with the embedded system. Adding USB technology greatly enhances the user interface experience and adds about $5.00 to the cost of the board.
2. Near Field Communications
Near Field Communications (NFC) is the simplest way to take advantage of the Android interface with your embedded system. NFC is a license free, bidirectional communication system, with a range of approximately one foot. It can be added to an embedded system for less than one dollar, making it not only the simplest but by far the least expensive option.
This method is ideal for configuring an embedded system. The fancy graphics, complex calculation, GPS positioning, and internet communications available on the Android OS are all implemented as part of an application on the smart device. The user needs only to run the application on their smart device, fill out the any required parameters using the Android user interface, and then hold their personal smart device close to the embedded appliance. The smart device uses NFC to transfer all the configuration information from the device onto the embedded system.
Once the transfer is complete, the embedded system is configured, and will start to work immediately, the user can then leave the vicinity of the embedded system with their smart device. Later, if the user wants to retrieve information stored in the embedded system for any reason, they can move their smart device back into the vicinity of the embedded system and use NFC to read the desired data.
Another option for enabling a smart device to interface with embedded systems is to add Wi-Fi to the embedded system. In the past, adding Wi-Fi to an embedded system was prohibitively expensive. However, with the current state of Wi-Fi technology, Wi-Fi can be added to an embedded system for as little as $10.00.
While this is the most expensive of the options presented here, it is still significantly less than the cost of a touch panel LCD. An embedded system with Wi-Fi can serve web pages to, and allow interface with, ANY smart device or tablet (not just one running the Android OS).
Using a web interface to configure or control an embedded device is a simple method of adding an advanced user interface to an embedded product. Unlike NFC with its radio range of only one foot, the embedded device and the smart device can communicate over long distances. In fact, by connecting to the cloud, the embedded device can be configured and controlled by ANY Wi-Fi enabled device from anywhere in the world where there is Wi-Fi. So, while this is the most expensive of the options listed, it is also the most versatile.
Bluetooth is also supported by almost all smart devices and it has the advantage of being cheaper on the embedded system side. At about $5.00, adding Bluetooth is about equal in cost to adding USB, making it, along with USB, a mid-range option between NFC and Wi-Fi. It has better radio range than NFC, but not as good range as Wi-Fi.
Like NFC, Bluetooth is a point-to-point communication system, but it has a data transfer rate that is an order of magnitude faster. The biggest problem with Bluetooth is in its lack of compatibility. Not all smart devices support the Bluetooth profiles required to communicate with embedded systems.
There are a variety of options, at price points ranging from less than $1 to around $10, to take advantage of Android and enhance the user interface experience when designing embedded products. There is no longer a need to invest in expensive LCD and touchscreen technology, instead use the many options available to Android OS users and, in the case of Wi-Fi ANY device, to provide embedded systems with an easily programmable user interface. The future is now!