Providing Bluetooth LE Solutions to Allow for Wireless Configuration of Several Products

Coderus provided Bowers & Wilkins with Bluetooth LE solutions that would allow users of their DB Subwoofers and PX Headphones the ability to customise them for their needs through a mobile app.

Client: Bowers & Wilkins
Industry: Audio | Media & Entertainment

At a Glance

  • We worked alongside Cypress and CSR, now purchased by Qualcomm.

  • We ensured that compatibility was maintained across multiple manufacturers.

  • We produced a library to be shared by different applications.

  • We provided applications that support multiple platforms and several Bowers & Wilkins products.

There is a great synergy between Coderus and Bowers & Wilkins in our shared objective in delivering quality and excellence in our projects.
Bowers & Wilkins
Project Team

The Challenge

Through specialising in embedded solutions and engaging with a wide variety of clients, we have built a strong portfolio of projects. To support the Bowers & Wilkins DB Subwoofers and PX Headphones, Coderus provided Bluetooth LE solutions to allow users of these products the ability to customise them for their needs through a mobile app.

In order to provide high-quality applications, a number of challenges had to be overcome. One such challenge that we faced was the varied nature of the products; providing a Bluetooth solution to products that had to ensure compatibility was maintained with a large variety of handsets from multiple manufacturers, comprising different hardware configurations, Bluetooth stack implementations and different OS versions.

The team had to ensure the applications were capable of performing stable and reliable firmware updates over a Bluetooth LE connection. This involved the transfer of files over Bluetooth LE from the mobile devices to the audio hardware, checking the validity of the files as they were sent.

bower and wilkins bluetooth le solutions case study hero

The Methodology

To aid with the development, the team created a hardware solution that was used to generate mock versions of the DB Subwoofers and PX Headphones, facilitating the development and testing process without being limited by hardware availability. This approach also gave us clear visibility of precisely when and how the app was communicating with the device, which provided us with valuable information that aided development. In addition to our own expertise, we were able to work alongside Cypress and CSR, now purchased by Qualcomm, who provided support with the process of testing and debugging.

During the development of these applications, the team used an Agile methodology, ensuring frequent communication with the client and allowing the applications to be iterated upon quickly. Each deliverable was distributed to various teams within Bowers & Wilkins via the testing channels available on the Google Play Store or App Store.

The firmware update journey was implemented using the extensive documentation provided by Cypress as well as a reference implementation provided for iOS and Android. This allowed us to verify the firmware integrity as it was being written to the device as well as ensure the process was robust enough to handle any unexpected error that could occur. This complexity included allowing the library to be separated from the application layer for reuse.

The open nature of the Android platform means that the application would need to support a wide range of different Bluetooth chipsets. A challenge compounded by the fact the Android Bluetooth stack has received a degree of criticism for being unstable following major changes to replace it in Android 4.3. This meant that thorough testing of the application was required, to ensure robust error handling was put in place. So as to allow the app to automatically recover from any failure that might occur without negatively impacting the user experience. This error handling was implemented in the library layer to ensure that all Bowers and Wilkins products would benefit.

bowers-and-wilkins bluetooth le solutions case study large

The Tech_

  • BLE devices were emulated using Raspberry Pi and a custom application.

  • We created native iOS and Android applications.

  • J2ObjC was used to produce a library which could be shared between iOS and Android.

  • We used Bluetooth Sniffer to inspect radio traffic in order to observe the low level Bluetooth communication.

  • We used hardware debuggers produced by Cypress and CSR to examine the behaviour of the firmware.

bower and wilkins bluetooth le solutions case study small left
bower and wilkins bluetooth le solutions case study small right
coderus colourful lines
The Results

The Coderus team worked closely with the Bowers & Wilkins team throughout every stage of the development process; from the initial prototyping phase, in which Bluetooth LE was decided as the communication control protocol, right through to the completion of the application.

Prototyping was performed by attaching a Bluetooth LE module to a modified Bowers & Wilkins speaker over UART, in order to test its viability for the needs of the product.

The main parts of the solution provided by us were native iOS and Android mobile apps along with a set of libraries. These libraries allow for the discovery and configuration of a range of different device types over Bluetooth low energy. A shared code layer making use of J2ObjC ensured that the iOS and Android apps had a common interface for interacting with devices. Platform-specific libraries written in Kotlin and Swift could then implement the interfaces defined in the shared code layer to provide platform-specific logic.

The consumer applications used these libraries as well as providing an engaging user interface which allowed the devices to be configured.

We also worked with the firmware engineers at Bowers & Wilkins to develop the advertisement data of the device and the Generic Attribute Profile (GATT) of the device, over which the device and app could communicate.

By producing a library that could be shared among multiple applications, we provided a core set of Bluetooth LE functionality that could be extended to provide extra features for new devices and OS versions.

The applications we produced supported multiple platforms and several Bowers & Wilkins products while ensuring that support for new products can easily be introduced in the future. We pride ourselves in our ability to create high-quality software solutions for our clients, completed within the timeframes expected of us.

We’d love to enhance your software.

If you’ve got an app or piece of software in mind, get in touch with us today to start your project.