Experts from ARM share insights and differing viewpoints on the big issues facing wearable developers of software applications.
Software developers must address many domains to successfully design the latest wearable applications – from signal conditioning to device drivers and RTOSs to end apps. Several industry leaders from ARM offer guidance on these issues, including, kenhavens, System Design Division Marketing Manager; diyasoubra, Product Marketing Manager; willtu, Director Embedded Segment Marketing; and jamesbruce, Director Mobile Solutions. What follows is a portion of their comments. - JB
Blyler: What challenges await wearable software developers, from device drivers (C or embedded) and RTOS selection to signal conditioning and application programming? Will proprietary or open source software win out?
Havens: Here’s a quick check-list of design considerations and constraints:
Soubra: Open source software will be the most popular alternative. For example, open source software is available at multiple web sites for sensor control – in addition to the sensor vendor sites. Further, most processors will be programmed in C since there is no differentiation in writing assembly code. (The only differentiation is what the gadget will do!) Developers can also use multiple operating systems. All ARM microcontrollers (MCUs) come with a full set of drivers and DSP.
Wearable devices are a commodity on the design side. The market winner will be decided on knowledge of contract manufacturing and then marketing to get people to know about the product. The hardware and software development activities are so easy now that they are no longer a point of discussion. If you look at a few projects at kickstarter, you will see that they invest more on the video to explain the project than the actual gadget.
[Editor’s Note: To add a bit of controversy to Soubra’s comment, consider the recent CNN story about the lateness of most Kickstarter projects: Why are 84% of Kickstarter's Top Projects Shipped Late - "To say we've learned a lot about engineering, design, manufacturing, marketing and customer service is ... well ... an understatement so extreme as to be laughable," ZPM Espresso's founders wrote in a recent update to their Kickstarter backers." Many readers might recall the “Little Printer” presentation by entrepreneur Matt Webb at last Fall’s ARM TechCon. Webb mentioned many of the technical learning curve challenges covered by ARM’s Soubra and the recent CCN story.]
Tu: There are plenty of available software IDEs, although one might consider a professional tool such as ARM MDK or IAR Embedded Workbench by IAR Systems. Device drivers for sensors just got simpler with the recent announcement by ARM and Sensor Platform of an Open Sensor Platform. This open source framework allows sensor companies to contribute to and provide their own drivers. This will help companies leverage the framework so that they can incorporate various sensor hub fusion algorithms.
The key challenge is for software developers to leverage what is out there instead of reinventing the wheel. For processor-based sensor algorithms, a number of companies provide solutions with easy interfaces, e.g., Hillcrest Labs, Movea (see figure), Sensor Platforms, and even silicon partner like Freescale. Wearable software developers don’t have to reinvent the wheel. Instead, they can can “build, borrow and buy” in their software development. They can buy commercial tools and sensor fusion algorithms. They can borrow open source frameworks and other open source software from the Open Sensor Platform. Finally, they can build, integrate and focus on interface to bring everything together.
Bruce: One of the big challenges on both the hardware and software side will be battery life. Users want to charge their wearable devices as little as possible. Designers must understand where power is being consumed, i.e., in the connectivity via Wi-FI, Bluetooth, GPS or something else. Power may also be consumed by the sensors and the devices screen – if it has one. Power can be consumed in many areas. Power profiling software tools, such as within Development Studio 5, will help developers with trade-off analysis. Typically, though, a combination of monitoring tools are used to where the power is being consumed, for example, within the processing system and on the outside peripherals.
The other challenge is very much related to software development. One needs to have the right ecosystem for developing applications. “Android Wear” is a good example of such an environment. Many wearable designs include a microcontroller which benefits from ARM’s mbed environment for development of the overall system software.
Hi Peter. It certainly was that way between PC OSs. I'm sure it's similar between embedded RTOSs. Can you recommend any ways to make it easier? Cheers. -- John
Software designers always do find writing portable software difficult