aws/aws-iot-device-sdk-embedded-C
FreeSDK for connecting to AWS IoT from a device using embedded C.
About aws/aws-iot-device-sdk-embedded-C
The AWS IoT Device SDK for Embedded C (C-SDK) is a collection of C source files licensed under the MIT open source license, designed for embedded applications to securely connect IoT devices to AWS IoT Core. It includes libraries for MQTT client, HTTP client, JSON parser, AWS IoT Device Shadow, AWS IoT Jobs, AWS IoT Device Defender, over-the-air updates, fleet provisioning, and AWS SigV4 signing. The SDK is distributed in source form and can be built into firmware along with application code and an OS of choice, relying only on standard C libraries for portability across RTOS, Linux, macOS, and Windows. It has been tested with AWS IoT Core and open source MQTT brokers, and includes demos for POSIX/OpenSSL and FreeRTOS/mbedTLS.
Key Features
Pros & Cons
- Open source under permissive MIT license
- Comprehensive set of AWS IoT service libraries in one SDK
- Minimal dependencies (only standard C libraries) for broad portability
- Actively maintained by AWS with regular releases and documentation
- Includes demos and porting guides for common platforms
- Interoperable with open source MQTT brokers beyond AWS IoT Core
- Requires C development expertise and familiarity with embedded systems
- Porting effort needed for non-supported RTOS or hardware platforms
- No higher-level language bindings; only C source code provided
- SDK size may be large for extremely resource-constrained MCUs without trimming