Design

Let your creativity flow

18th October 2013
CSR
Nat Bowers
0

With Android recently announcing native support for Bluetooth Smart, Paul Williamson, Director of Low Power Wireless at CSR, explains how the ecosystem and low-cost, easy to use tools are now in place for fast and flexible appcessory development.

Google’s recent announcement that Android 4.3 will natively support Bluetooth Smart Ready is a real game changer for developers, signalling a coming of age for the technology. With Apple iOS 6, Windows 8 and Blackberry 10 already supporting Bluetooth Smart the standard is now supported by all major operating systems. Millions of consumers will have Bluetooth Smart Ready Devices at their fingertips; IMS Research estimates that 2/3 of the 821 million smartphones sold in 2013 will support Bluetooth Smart.

For a developer this gives them the flexibility to develop appcessories (defined as an accessory device with a companion application), for all operating systems, quickly. ABI Research projects the market for Bluetooth appcessories will grow from 220 million units in 2013, to nearly one billion in 2016. Support across all major operating systems now makes that predicted growth possible.

Bluetooth Smart, or Bluetooth Low Energy, enables wireless devices to consume a fraction of the power of previous standard Bluetooth versions, as much as 10 to 20 times less, as it uses very short pulses of radio activity which drastically reduce power consumption. Devices can stay connected, but the radio is off most of the time, rapidly responding when data is available, delivering the longest battery life on the market. Previously many appcessories just weren’t viable because the power required to connect them to the smartphone meant they would have to be charged every few hours. The reduced power consumption offered by Bluetooth Smart has changed all that.

In contrast to classic Bluetooth where the control and implementation of Bluetooth functions, such as wireless audio, are contained within the operating system, with Bluetooth Smart the intelligence lives in the app, so a new appcessory can be developed and launched as fast as an application. All operating systems that support Bluetooth Smart natively implement the basic connection and generic data transfer control but rely on applications to support specific Bluetooth Smart functionality. The operating system provides a generic application programming interface to discover and establish a connection to the Bluetooth Smart device. But the application is then responsible for reading and processing data, for example heart rate statistics. Because appcessories have attributes that can be read, written, or notified like a database that can be defined by the developer, appcessories can be brought to market much faster.

Appcessory development

With the ecosystem in place to enable quick and flexible development of appcessories the only thing restricting developers is their imagination. Innovation has already begun with cutting-edge appcessories being created in several sectors from health & fitness and gaming to security and DIY. Take the recently launched Anki Drive, a remote control car that connects to the Anki Drive iOS app via Bluetooth Smart, which Tim Cook demonstrated at Apple’s Worldwide Developers Conference. The car uses a mat as a race track, reporting the car’s location and speed to the app via the Bluetooth Smart connection. Artificial Intelligence then calculates and sends new trajectories to the car over the Bluetooth connection, based on the game's rules and the player's input, providing a fluid driving motion. The Adonit Jot Touch 4 is another good example (Figure 1). Using Bluetooth Smart means Adonit has been able to take a standard tablet stylus and make it significantly better. The additional connectivity enables the stylus to measure pressure and to recognise the difference between a user’s hand and the stylus, giving artists an experience that’s very much like drawing with a pencil on a sheet of paper.

Figure 1: The Adonit Jot Touch 4 adds realistic pen-like features to an otherwise standard stylus

Figure 1: The Adonit Jot Touch 4 adds realistic pen-like features to an otherwise standard stylus

CSR is committed to working with developers to help drive innovation and bring Bluetooth Smart appcessories like these to the market fast with its CSR µEnergy product family, development tools and dedicated support. The CSR µEnergy product family includes the CSR1010 and CSR1011, which are both optimised solely for Bluetooth Smart, enabling easy development and low cost designs with minimal external components. Both chip variants offer a single-chip µEnergy radio with integrated microprocessor and enhanced memory for greater application flexibility. The chips are Bluetooth v4.0 qualified and support master or slave mode operation. They can run directly from a 3V coin cell, and connect directly to a PCB antenna. The chips differ by package size and number of General Purpose Inputs/Outputs. CSR1010 enables developers to use 12 GPIOs, making it ideal for development of appcessories that require less inputs/outputs, whereas developers can use 32 GPIOs with CSR1011 for more complex applications such as keyboards.

Alongside the chips CSR offers CSR1010 and CSR1011 development kits that offer a complete out of box solution including development boards, chip programmers and the latest SDKs. The CSR1010 development board is designed to represent a ready-made key fob product – including a button, LEDs and a buzzer. CSR1011 offers a development board for a broader range of applications, which exposes all chip interfaces and allows rapid prototyping of the sensor device. The development kit also includes a USB dongle with a Bluetooth 4.0 dual mode chip (CSR8510) and set of tools to run with this dongle that allows testing of the Bluetooth Smart applications with a PC.

The CSR µEnergy SDK includes a fully functional integrated development environment for application development and debugging and engineering tools for Bluetooth Smart profile testing and mass production support. The SDK also includes exhaustively documented example applications that cover a variety of Bluetooth Smart appcessory use cases, including heart rate monitors, security tags and glucose meters. Example applications are designed and tested in such a way that they allow a developer to implement a complete solution which can be turned into a final product with minimal customisation.

API support

CSR provides a firmware library with the CSR µEnergy SDK. After compilation, the user application is linked with the firmware library to produce a final image that runs on the chip. CSR1010 and CSR1011 have 64kbytes of ROM with the firmware and 64kbytes of RAM for user application as well as additional firmware features and data. The user application has about 40kbytes of memory for its code and data. The typical size of a complete and fully functional application is around 16kbytes.

Figure 2: The CSR1011 development board gives developers full access to the chip’s features

Figure 2: The CSR1011 development board gives developers full access to the chip’s features

The firmware API can be split into several parts: a link layer API that controls the communication; a Generic Attribute Profile API that can be used to implement Bluetooth Smart profiles like Heart Rate or Find Me, and a hardware API that allows user applications to access CSR1010/CSR1011 hardware, like GPIOs, I/O interfaces (UART, I²C, SPI) or PIO controllers.

All example applications are provided with the source code and are fully customisable. Every application is also packed with documentation that explains the source code, its architecture and functional flow. The documents also explain how to tweak the application parameters such as device names or connection parameters.

To give an example of how the SDK can be used, let’s look at a key fob that alerts a user when their phone is out of a certain range. The developer can use a security tag example from the CSR µEnergy SDK that implements these functions. It runs on the CSR1010 development board that contains a couple of LEDs, buzzer and a button. In the example application, the alerts from the phone are indicated by flashing LEDs or buzzing. The overall product functionality is already implemented in the example application but depending on the final product design, these UI indications can be customised to, for example, a vibration alert, or the default siren sound can be customised to a different alert. The Bluetooth profiles that are implemented in the security tag example application (specifically the Find Me profile and Proximity profile) are tested against Bluetooth certification tools, allowing developers to concentrate on the user experience rather than worrying about the Bluetooth certification.

As can be seen from the examples in this article innovation in this area has already begun; and all major operating systems coming on board signals a real turning point for Bluetooth Smart appcessory development. With the right tools the possibilities are endless. Should you be thinking of developing a Bluetooth Smart appcessory CSR is working with the Bluetooth SIG to host Bluetooth developer training and ‘getting started sessions’ in multiple regions, offering hands on training and advice on how to develop Bluetooth Smart accessories.

Featured products

Product Spotlight

Upcoming Events

View all events
Newsletter
Latest global electronics news
© Copyright 2024 Electronic Specifier