Amazon IoT Device Shadow library - FreeRTOS
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Amazon IoT Device Shadow library


The content on this page may not be up-to-date. Please refer to the library page for the latest update.


You can use the Amazon IoT Device Shadow library to store and retrieve the current state (the shadow) of every registered device. The device's shadow is a persistent, virtual representation of your device that you can interact with in your web applications even if the device is offline. The device state is captured as its shadow in a JSON document. You can send commands to the Amazon IoT Device Shadow service over MQTT or HTTP to query the latest known device state, or to change the state. Each device's shadow is uniquely identified by the name of the corresponding thing, a representation of a specific device or logical entity on the Amazon Cloud. For more information, see Managing Devices with Amazon IoT. More details about shadows can be found in Amazon IoT documentation.

The Amazon IoT Device Shadow library has no dependencies on additional libraries other than the standard C library. It also doesn't have any platform dependencies, such as threading or synchronization. It can be used with any MQTT library and any JSON library.

This library can be freely used and is distributed under the MIT open source license.

Code Size of Amazon IoT Device Shadow (example generated with GCC for ARM Cortex-M)
File With -O1 Optimization With -Os Optimization
shadow.c 1.2K 0.9K
Total estimates 1.2K 0.9K