Visualizing Bluetooth OTA Firmware Updates

Originally published at: Visualizing Bluetooth OTA Firmware Updates - The Golioth Developer Blog

One of the best things about Golioth Connectivity is it makes Bluetooth devices act like all the other devices on the Golioth cloud. And one of my favorite things about Golioth is the ability to do Over-The-Air (OTA) firmware updates without any fuss. Today we’re not only going to show how the sample in our Pouch repository implements OTA, but we’ll visualize it on a development board that has a lot of LEDs and activate the firmware update using the accelerometer. Let’s dig in. How OTA works with Pouch Pouch is the Golioth innovation that enables Bluetooth devices to talk through standard gateways up to the Cloud and send/receive data like any other device on the cloud. It is end-to-end encrypted and can access nearly all of the same services as cellular, Wi-Fi, or Ethernet devices running the Golioth Firmware SDK. Here’s the order of events, as it works in our reference implementation: Bluetooth device advertises that there is data to send Gateway initiates connection with Bluetooth device Bluetooth device sends data up to the cloud (uplink) After uplink, available data (downlink) is sent down as a response, including services like OTA or Golioth settings Bluetooth device disconnects and the entire cycle can start anew, depending on the device Note that it doesn’t need to work in that order, since many of the services in Pouch are independent of one another. Furthermore, it’s possible for you to create a completely bespoke version of the Gateway that handles Pouch traffic. But currently, our demos follow the order of events listed above. In my setup, I am using the pre-compiled binary that is built for the NXP FRDM-RW612. Once I program that…

1 Like