Coderus Limited
Smart Code Solutions
Smart Code Solutions
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.
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
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.