Golioth Firmware SDK v0.18.0

Yesterday, we released v0.18.0 of the Golioth Firmware SDK. This release improves blockwise transfers, adds initial support for Gateways, and updates our supported platforms and continuously verified hardware.

We’ve also made many smaller improvements and bug fixes across the codebase. For the full set of changes in this release, see the Changelog.

Improved Blockwise Transfers

The SDK leverages CoAP blockwise transfers for moving large payloads between embedded devices and the cloud. These transfers take payloads that are too large to be sent in a single IP packet and split them into smaller blocks that are uploaded or downloaded sequentially. In this release, we’ve made a couple of changes to our blockwise APIs to improve the developer experience.

First, we’ve added a multi-part blockwise upload API. Previously, blockwise uploads were done only through a single-shot API that would repeatedly call a user-supplied callback to get data for each block (this API still exists). This works well for many use-cases, but requires that the application is always ready to fill a block. For applications where that may not be the case, the multi-part API allows the application to decide when it is ready to send the next block.

We’ve changed our blockwise download API, used primarily for OTA package downloads, to be non-blocking. This unlocks additional use-cases and efficiency gains, while preserving the ability for users to implement blocking themselves, if desired.

Initial Gateway Support

We recently announced support for connecting Bluetooth devices to the cloud. Our MCU-based gateways leverage the Golioth Firmware SDK to proxy data between Bluetooth nodes and the Golioth cloud. In keeping with our commitment to open source, we’re releasing the initial set of changes made to our SDK to enable that functionality. Note that this initial support is experimental and APIs and behavior are subject to change. There will be more to come here! If you’re interested in taking part in our private access for Bluetooth-to-Cloud, sign up here.

Updated Platform Support and Verified Hardware

It’s been a few months since our last release and the wider world of open source embedded software continues to hum along. We’ve updated our support for Zephyr, nRF Connect SDK, and ESP-IDF to the latest stable versions.

We’ve also made a couple of changes to our Continuously Verified Boards. The NXP FRDM-RW612 replaces the i.MX-RT1024 – the RW612 is a powerful board with broad connectivity options, and internally we’ve had a lot of fun playing with it! For virtual boards, we’ve replaced QEMU with Zephyr’s Native Simulator. We’ve supported Native Simulator for several releases now and have found it to be a boon to developer productivity, shortening the build-flash-debug cycle considerably.

Sign up for the Golioth newsletter below or join our forums to be notified about upcoming releases and other features that are relevant to your IoT deployment!

Sam Friedman
Sam Friedman
Sam leads Firmware Engineering at Golioth. Previously, Sam has built and shipped consumer electronics and IoT devices used by millions around the world.

Post Comments

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

More from this author

Related posts

spot_img

Latest posts

Find Breaking Changes in Zephyr Using Git Bisect

Finding breaking changes in upstream code is a difficult process. Git bisect and good commit discipline (like the Zephyr team maintains) helps to quickly pinpoint issues so you can pull in changes as needed.

A Physical Meme Terminal for Distributed Teams

Have you ever wanted to bypass slack and send a meme directly to your co-worker's desk? This hack day project builds on top of work from 2022 and pulls in some new features of Golioth's IoT platform, as well as some vibe coded front end / back end work to make the experience smoother. Dive into each part of the project in this blog and associated video.

Golioth Firmware SDK v0.22.0

The latest release of the Golioth Firmware SDK includes support for rotating certificates via Golioth’s integration with external PKI providers, routes logs through Pipelines, and reorganizes our firmware update reference implementation.

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.