Bluetooth Gateways in the Field: The Globalscale GTI-RW612

Golioth Connectivity enables developers to connect Bluetooth devices to the cloud using Gateways, including microcontroller based gateways. Today we’re discussing the Globalscale GTI-RW612 gateway. It’s an off-the-shelf piece of hardware normally marketed at the Matter ecosystem, but has been repurposed for Golioth Connectivity. We’ll show how we got it working sending Bluetooth device data to the Cloud and discuss the application spaces where this gateway might be a good fit.

About the GTI-RW612 and NXP RW612 Chipset

We are big fans of NXP parts, including the tri-band radio on the RW612. We have precompiled Bluetooth gateway binaries for the FRDM-RW612, which is an affordable dev board from NXP and a super easy way to get started with Golioth Connectivity. You can route Pouch-based Bluetooth packets back to the cloud using either Ethernet or Wi-Fi.

This chip is targeted at the Thread / Matter ecosystem as a Border Gateway all-in-one chip, and it hits the mark. Each of the radios have a dedicated memory space and there is an additional Ethernet interface to enable wired backhaul. The main application processor is built with a core of a Cortex M33, but running at a whopping 260 MHz! There is also a PowerQuad coprocessor, but honestly we haven’t scratched the surface at utilizing all of the capabilities on this chip yet.

Globalscale took this part and created their own in-house module, the GTI-RW612B. Though the name is a bit confusing (similar to the name of the gateway that employs that module), the idea is clear: this is a module that enables precertified access to a capable chipset.

The GTI-RW612 is the gateway itself, targeted at the Matter market as a border router. The unit comes with prebuilt firmware that is not source-available. It is based on MCUxpresso (another NXP specific firmware ecosystem), if you’re hoping to fire up the unit and start routing Matter traffic. Instead, we reprogrammed it using Zephyr and started digging into the peripherals to enable this as a Bluetooth gateway.

Note that Golioth works great as a Thread enablement platform as well, so we could also use this as a Thread Border Router connected to Golioth…but that’s probably a blog post for another day.

Microcontroller Based Gateways

We have covered a different microcontroller based gateway in the past, the Sentrius MG100 from Ezurio. That has a Bluetooth main controller (nRF52840) and an attached cellular modem (Sierra Wireless HL7800). The enclosure is water resistant and works with Cat-M1 and NB-IOT, so it’s a good option for industrial use cases. The GTI

Why use a microcontroller vs a larger Linux based gateway? One reason is that the gateway itself is a device on the Golioth platform, or as we call it, a “managed device”. The primary benefit is that you can utilize our OTA firmware update service for the gateway, in addition to the nodes that are connecting over Bluetooth through that gateway. But it is also easy to add features to the gateway, such as time-series data and logging. We did that with our internal platform called the Aludel Elixir, adding solar panel measurement. To bring the point home and contrast it with Thread, a Border Router is often invisible to the Golioth platform, as it is routing packets like a Wi-Fi router might (a benefit in the days before Pouch).

Getting the gateway working

The gateway showed up from the manufacturer effectively without firmware; or at least without firmware that we could use in our scenario. Instead, Mike had to bring up the board using our bluetooth-gateway repository, which is built on top of Zephyr. We do have the FRDM-RW612 supported in that repository, but there were a few key differences.

  • The module had a different flash part than the FRDM-RW612, but it did match the in-tree board called rd_rw612_bga/rw612/ethernet
  • The bootloader required adding a button and LED assignment
  • The LCD needed to be defined in the overlay file
  • LVGL needed to be added as a library in the manifest

And most importantly, we needed to add a splash screen with the Golioth Logo:

Since the device is not meant to be opened by the end user, Mike enabled MCUboot so that new firmware can be loaded over the USB port using smpmgr. The factory would need to program the initial bootloader but then future firmware updates could be done over USB or more likely via Golioth’s OTA firmware update service.

Application Spaces

This device is a great fit in an office or light industrial use case. Personally I love an Ethernet connection to not need to set up the WiFi connection, but both are equally capable. This could be a great fit for simple asset tracking using Bluetooth, which we will be highlighting on the blog soon. This works for locations like:

  • Hospitals
  • Factory floors
  • Warehouse spaces
  • Offices

We have other gateways we are looking at enabling on Golioth Connectivity, but we want to hear about what you need for your next Bluetooth application. Let us know on the forum or send an email to [email protected]. We can’t wait to see what you build!

Chris Gammell
Chris Gammell
Chris is the Head of Developer Relations and Hardware at Golioth. Focusing on hardware and developer relations at that software company means that he is trying to be in the shoes of a hardware or firmware developer using Golioth every day. He does that by building hardware and reference designs that Golioth customers can use to bootstrap their own designs.

Post Comments

No comments yet! Start the discussion at forum.golioth.io

More from this author

Related posts

spot_img

Latest posts

Signed URLs for Embedded Devices

Today we are launching support for device signed URLs, which is now available for Golioth projects in Teams or Enterprise tier organizations. The feature...

Zephyr for Hardware Engineers: GDB Debugging

Debugging a Zephyr program with GDB can be tough for newcomers, especially if they're used to more vertically integrated IDE solutions. Let's get hardware engineers (and others!) started digging into a command-line based solution.

How to Flash a Pre-Loaded Filesystem During Production

Creating a filesystem separates your everyday firmware from other data like machine learning models, images, and binaries. In this post we discuss how you can set up the filesystem to speed up your production and create a flexible system that can be updated on-demand using Golioth's OTA service.

Want to stay up to date with the latest news?

Subscribe to our newsletter and get updates every 2 weeks. Follow the latest blogs and industry trends.