Three Ways to Guarantee a Solid Bluetooth Connection for Custom Firmware

Best practices for custom firmware requiring a Bluetooth connection.

Argis Solutions is seeing a lot of inventive ideas for custom firmware recently. Creative minds are thinking outside the box and developing app-directed devices that solve some very practical and pressing real-world problems.

Not quite sure what we are talking about? Firmware is software that is programmed on a hardware device. The software’s functionality, via a Bluetooth connection, is directed by a mobile app. And the communication between the app and the firmware is the trickiest part of this process.

We’ve had a few projects where the firmware and its embedded system were already developed, but our expertise was needed in connecting the device to Bluetooth as well as creating custom apps that work with the firmware and its device.

Want to know our secrets? Below is a short list of best practices for ensuring optimal Bluetooth connection between app and device:

1.     Custom Bluetooth characteristics are necessary to ensure the app connects to the right device. Make a list of the device’s custom characteristics and verify that one of those characteristics is discoverable. These characteristics are the conduit for data being sent back and forth via bytes.

2.     Make sure you are using a shared library so it is easy to integrate with a variety of applications. Data from the app to the firmware is sent back and forth via bytes, so it needs to be easily converted into something readable in both the receiving and the sending of bytes. Custom-defined bytes can create problems, especially if the byte array isn’t well-defined. A shared library that uses a protocol buffer (also known as Protobuf) easily converts the bytes being sent or received. It uses Java, Python, Objective-C and C++. The new proto3 language version also works with Kotlin, Dart, Go, Ruby and C#.

3.    Make sure your hardware device design includes a button to turn on Bluetooth manually. Because Bluetooth connections can get stuck sometimes, having a manual option for connection is important. Forgoing one creates a lot of unnecessary complications for your device’s functionality.

Do you have a big idea that involves app-directed firmware? We’d love to help. Contact us to schedule a discovery call.

Previous
Previous

Argis Solutions Earns Esri Federal Small Business Specialty

Next
Next

2022 Esri Partner Conference and DevSummit