Golioth connects Bluetooth IoT fleets to the cloud using network gateways with the Pouch protocol. Constrained devices that would otherwise be shut out of IP-dependent connectivity are now easy to add to your fleet with minimal overhead. Today we added the Arduino Nicla Sense ME board to a cloud fleet!
Your Bluetooth Devices on the Cloud
To add Bluetooth devices to an IoT fleet, Golioth built Bluetooth gateway firmware that you can use to bridge between BLE and IP. Each device uses the Pouch protocol that advertises using GATT. Since the Gateway is able to authenticate with Golioth, it can pass data from leaf nodes to the cloud.
Building for the Nicla Sense ME
The Nicla Sense ME is a postage-stamp sized board based on the Nordic nRF52832. The nRF52 is a well known family for Bluetooth applications that already has robust Zephyr support. The Nicla board is also supported in the Zephyr tree which made for a very smooth experience when building firmware for the device. The slightly smaller size of Flash/RAM on the nRF52832 was no problem at all given the low overhead that Golioth’s Bluetooth SDK adds to the mix.
No changes to the configuration, or additional overlay files were needed to build the Golioth Pouch ble_gatt example for the Nicla. We simply updated the stock build command to use the name of this board:
west build -p -b arduino_nicla_sense_me examples/ble_gatt -- -DCONFIG_EXAMPLE_DEVICE_ID=\"REPLACEME\" west flash
The board is programmed via USB using pyocd. It’s as simple as running the west flash
command and the leaf node will be recognized by the gateway in no time.
Sensor Not Yet Ready for Zephyr
As part of testing out this board we looked at reading from the onboard sensors. These chips are all Bosch parts and include BHI260AP accelerometer, BME688 temperature/pressure/humidity/gas, BMM150 magentometer, and a BMP390 pressure sensor.
At first we thought it would be trivial to read from the BMP390 as it has in-tree drivers. However, after a half hour of trying to add the part to the devicetree we realized it’s not yet possible. By consulting the schematic we found that the BHI260AP controls all other sensors, and that part lacks an in-tree driver. To utilize these sensors, we would need to pull in our own driver for the chip and that takes more time than we had budgeted for this jam session.
Stay Tuned for More Bluetooth Bring-Up
If this isn’t the board or chip you’re looking for, subscribe to our blog feed because we’re going to keep bringing up new Bluetooth boards! A few weeks back we added an STM32 board to our fleet, and a few weeks from now we’ll be adding… well you’ll need to stop back to find out!
If this is your first time hearing about Golioth, take us for a test drive today. We built the IoT cloud so that you don’t have to, and Golioth is free to use for individuals.
No comments yet! Start the discussion at forum.golioth.io