Golioth Firmware SDK v0.22.0

Earlier this week, we released v0.22.0 of the Golioth Firmware SDK, our sixth and final release of 2025. Alongside our usual bevy of bugfixes and minor improvements, this version introduces support for rotating certificates via Golioth’s integration with external PKI providers, routes logs through Pipelines, and reorganizes our firmware update reference implementation.

Certificate Rotation

We’ve long advocated for the use of certificates and public key infrastructure (PKI) to secure and identify devices. Compared to pre-shared keys (PSKs), the other form of authentication supported by Golioth, PKI provides advantages in scale and security by removing the need to explicitly create and store secrets in Golioth. But PKI comes with additional operational challenges compared to PSKs, which can be especially difficult in an embedded context. Chief among those is the need to periodically rotate certificates on devices in the field. Earlier this week, we announced support for external PKI providers to make certificate rotation easier than ever.

In this release of the Golioth Firmware SDK, we’ve added a new service that allows devices to upload a certificate signing request (CSR) to Golioth, where we’ll forward it on to your PKI provider and then send down the resulting signed certificate back to the device. There’s a new example in the SDK that shows how it all works. In this example, we take an existing key stored in the filesystem and create a CSR in standard x.509 format using mbedTLS, but the SDK is agnostic to how keys and CSRs are created and stored. For example, you could generate a new key-pair in a secure element on the device, exporting only the CSR while the private key remains in secure storage. We’ll have more to share on secure elements in the new year.

Logs Through Pipelines

Traditionally, the Golioth Firmware SDK has delivered device logs emitted by customer firmware directly to the Golioth Logs service. With this release, logs are now delivered to Golioth Pipelines by default, allowing users to transform and route logs to the destination of their choice, including the Golioth Logs service. The interaction with the logging service in the SDK is unchanged – either using the GLTH_LOGx macros or plugging into the platform’s logging subsystem.

To preserve logging functionality for existing projects, users will need to either enable CONFIG_GOLIOTH_LOG_LEGACY in the SDK configuration, or add a pipeline to route logs to the destination of their choice, such as this one that sends logs to the Golioth Logs service:

filter:
  path: "/logs"
  content_type: application/cbor
steps:
  - name: step-0
    transformer:
      type: cbor-to-json
      version: v1
    destination:
      type: logs
      version: v1

You can read more about sendings logs through Pipelines here.

Firmware Update Reference

Golioth OTA makes it easy to send the right artifacts to devices in the field. Once the artifacts get there, the device will need to do something with them, but what exactly is heavily dependent on the specific application running on that device. The SDK has long included a reference firmware update implementation that looks for updates to a single firmware image, and downloads and applies the update using the platform’s default storage partitions and bootloader. For many users, this is all the functionality they need and they can use this implementation as is. Users with more complex application structures, such as AI models, multiple MCUs or graphical assets, can build their own update mechanism leveraging the Golioth OTA service.

To better reflect the reference nature of the firmware update implementation in the SDK, we’ve moved it out of the core SDK and into the samples. This change also allows us to remove abstractions in the reference implementation and instead use platform-specific API calls, making the sample more useful as a instructional tool.

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

Device Logs Anywhere with Golioth Pipelines

Today we are expanding Golioth's device logs capability by introducing support for routing logs to any destination using Golioth Pipelines.

Introducing Certificate Rotation with Hosted PKI providers

Golioth pulls the IoT industry forward by making it easier than ever to rotate device certificates on embedded devices. A new Hosted PKI provider service is integrated with Amazon Private Certificate Authority (CA) and will include other Hosted PKI providers soon.

Bluetooth at Golioth, so far (2025)

The Golioth team has been busy creating new technologies to securely connect your Bluetooth device to the Cloud through gateways. Read about all of the features of Golioth Connectivity and Pouch and get a preview of what is coming in the new year.

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.