Skip to content

Firmware SDK enabling any IoT device to connect to Golioth - the Universal Connector for IoT

License

Notifications You must be signed in to change notification settings

golioth/golioth-firmware-sdk

Folders and files

NameName
Last commit message
Last commit date
Feb 25, 2025
Sep 4, 2024
Feb 7, 2025
Sep 6, 2024
Feb 11, 2025
Feb 18, 2025
Jan 27, 2025
Feb 11, 2025
Feb 25, 2025
Mar 17, 2023
Jan 27, 2025
Jan 31, 2025
Jan 27, 2025
Jan 27, 2025
Jan 25, 2024
Oct 4, 2024
Dec 12, 2023
Mar 22, 2024
Aug 25, 2023
Sep 6, 2024
Jan 27, 2025
Oct 7, 2024
Jan 22, 2025
Oct 4, 2022
May 3, 2024
Aug 31, 2022
Feb 5, 2025
Jan 22, 2025
Jan 27, 2025
Jan 27, 2025

Repository files navigation

Golioth Firmware SDK

codecov

A software development kit for connecting embedded devices to the Golioth IoT cloud.

This SDK can be used on any preemptive operating system that provides an Internet stack. Golioth maintains ports for the following platforms:

  • Espressif ESP-IDF
  • Infineon ModusToolbox
  • Zephyr & NCS
  • Linux (Experimental)

More information on these ports can be found in their respective READMEs at examples/<platform>/README.md

The SDK can be ported to additional platforms by following the Porting Guide in the docs folder.

SDK source: https://github.com/golioth/golioth-firmware-sdk

Documentation: https://docs.golioth.io/firmware/golioth-firmware-sdk

API documentation: https://firmware-sdk-docs.golioth.io/

Getting Started

Getting the Code

This repo uses git submodules, so you will need to clone with the --recursive option:

git clone --recursive https://github.com/golioth/golioth-firmware-sdk.git -b v0.17.0

Or, if you've already cloned but forgot the --recursive, you can update and initialize submodules with this command:

cd golioth-firmware-sdk
git submodule update --init --recursive

Note

Zephyr-based projects should use the West tool to clone the repo. See the Zephyr Quick Start Guide at examples/zephyr/README.md.

Trying the SDK examples

The examples directory contains example apps which you can build and run. It is organized by platform (e.g. ESP-IDF, ModusToolbox, etc), so navigate to a specific platform directory and check out the README for further instructions to build and run the examples.

The golioth_basics example (examples/<platform>/golioth_basics) is recommended as a starting point, to learn how to connect to Golioth and use services like LightDB State, Stream, Logging, and OTA.

Additional Documentation

The docs folder contains additional documentation, such as a platform integration guide and a platform porting guide.

Verified Devices

The following table lists the different hardware configurations against which we test the SDK. Each of these devices is verified on each commit by our Continuous Integration system.

The tests fall into three categories. Hardware-in-the-Loop (HIL) integration tests are located in tests/hil. Unit tests are in tests/unit_tests. Finally, each of the samples is also continously verified on target.

Board Platform
ESP32-S3-DevKitC-1 ESP-IDF (v5.4.0)
ESP32-C3-DevKitM-1 ESP-IDF (v5.4.0)
ESP32-DevKitC-WROVER ESP-IDF (v5.4.0)
ESP32-DevKitC-WROVER Zephyr (v4.0.0)
nRF52840 DK + ESP32 Zephyr (v4.0.0)
MIMXRT1024-EVK Zephyr (v4.0.0)
RAK5010 Zephyr (v4.0.0)
nRF9160 DK nRF Connect SDK (v2.8.0)
CY8CPROTO-062-4343W ModusToolbox (3.3.0)