AllGo Embedded Systems was founded by professionals with a total of 70+ years of experience in DSP and embedded system development. Their solution development experience spans automotive infotainment systems, high-definition video, shortrange wireless, consumer audio systems and CD players.
Software OptimisationDarshak Vasavada, co-founder of AllGo Embedded Systems, speaks to Dilin Anand, technical correspondent at EFY, about Stamp—a low-cost customisable tablet developed by AllGo.
Please tell us about Stamp.
Stamp is a low-cost tablet designed for the Indian market. It is our first product fully developed from scratch including the hardware, circuits and mechanical design. Everything, except manufacturing, is done in-house. Manufacturing was outsourced. But as we did not want to compromise on quality, all key components like the processor, LCD, battery, memory and power management circuits were identified by us.
Q. How did you manage to keep the tablet’s cost low?
A. We used a highly integrated processor based on ARM9 core. This processor—Freescale MX233—was originally intended for use in digital photo frames and Internet radios.
We proceeded to port Android on top of this particular inexpensive processor. We used our expertise in DSP and firmware to squeeze the performance out of MX233. For example, Android 2.2 requires a GPU, but our system-on-chip (SoC) does not have a GPU. So we optimised those parts of code which use software libraries for graphics.
Likewise, we used a pixel pipeline on the processor and some optimised video codecs to improve the performance. The processor itself was not designed to support video graphics array (VGA); the datasheet states that it can go up to VGA. We changed it so that it can support wide VGA.
In short, we picked up an integrated device and extracted better performance from it through software optimisation, which allowed us to greatly reduce the chipset cost.
How did the device gain from this strategy?
A. We were able to get from a lower-clocked processor the same performance as from higher-clocked ones. This reduced the power consumption, increasing the battery life. Moreover, it improved the charging circuit performance. For example, if you use the device for reading at night, you can get seven to eight hours of up-time.
Were there any difficulties in porting Android 2.2 onto an ARM9 processor without a GPU?
Getting an acceptable performance was a challenge. Initially, the touch response was not good enough. Then, the application took a long time to load, the graphics were slow and the video was jerky.
Q. Why did you choose a resistive touchscreen instead of a capacitive one?
A. We designed this product to perform optimally for its intended use. It was not intended to compete with higher-end tablets but for use in enterprise environments where cost is important. We looked at where this tablet could be deployed meaningfully. As long as the use-cases are properly taken care, this device achieves its target.
One of the use-cases is conducting a survey. The device gives a good battery life as you take it around for survey. You have a questionnaire in front of you, with the answers shown as options. Psychologically, you press and therefore apply pressure to activate the resistive screen. In this case, using a capacitive screen would be unnecessary as you don’t really need multi-touch gestures or high-end screens.
Q. How challenging was porting Android for an automotive system?
A. A challenge there is to boot-up Android very fast as the device has to become available as soon as the ignition is turned on. As these devices don’t have the option to go on standby, they turn off completely when the car’s ignition is off. So the devices are required to boot up within a few seconds.
We set up a working version of Android, took a snapshot and booted up from that snapshot. That method did work and Android did come up, but all the other devices are switched off at that point. The devices have to independently come up and then synchronise so that these (file system, GPU, etc) are in the same state.
Q. Did you come across any bug as you ported Android for the automotive market?
A. When unmounting the file system as it shuts down one particular file system was not unmounting because some application was using it. The problem was that the file system was not being used directly but through memory map. So looking at the list of open file systems and tables showed all of them to be closed.
Please tell us more about your activities.
AllGo Embedded Systems is a seven-year-old company in embedded market media space. We do complete product design including hardware and software, and outsource manufacturing in embedded market media and digital signal processing (DSP) space. Our expertise is in hardware and software co-design.
We are entirely an engineering house. Around 90 per cent of us can code. That makes up around 70 design engineers.
Q. What’s next from AllGo?
A. The next requirement would be a larger and faster device capable of handling better graphics and animation. We have two models of Stamp 2—a 17.8cm (7-inch) version and a 125.4cm (10-inch) version with capacitive touchscreen.