{"id":19775058,"url":"https://github.com/freertos/iot-reference-stm32u5","last_synced_at":"2025-04-06T22:08:43.572Z","repository":{"id":37803306,"uuid":"385347525","full_name":"FreeRTOS/iot-reference-stm32u5","owner":"FreeRTOS","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-30T06:11:38.000Z","size":6086,"stargazers_count":48,"open_issues_count":4,"forks_count":34,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-03-30T21:06:29.956Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FreeRTOS.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-12T18:35:51.000Z","updated_at":"2025-01-28T15:21:01.000Z","dependencies_parsed_at":"2024-01-29T21:55:55.076Z","dependency_job_id":"596024b1-621d-4d21-9a2a-c39f5f38fe05","html_url":"https://github.com/FreeRTOS/iot-reference-stm32u5","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeRTOS%2Fiot-reference-stm32u5","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeRTOS%2Fiot-reference-stm32u5/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeRTOS%2Fiot-reference-stm32u5/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FreeRTOS%2Fiot-reference-stm32u5/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FreeRTOS","download_url":"https://codeload.github.com/FreeRTOS/iot-reference-stm32u5/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247557767,"owners_count":20958047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T05:14:46.095Z","updated_at":"2025-04-06T22:08:43.551Z","avatar_url":"https://github.com/FreeRTOS.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FreeRTOS STM32U5 IoT Reference\n## Introduction\nThis project demonstrates how to integrate modular [ FreeRTOS kernel ](https://www.freertos.org/RTOS.html) and [ libraries ](https://www.freertos.org/libraries/categories.html) with hardware enforced security to build more secure updatable cloud connected applications. The project is pre-configured to run on the [ STM32U585 IoT Discovery Kit ](https://www.st.com/en/evaluation-tools/b-u585i-iot02a.html) which includes an kit which includes an [ STM32U5 ](https://www.st.com/en/microcontrollers-microprocessors/stm32u5-series.html) microcontroller.\n\nThe *Projects* directory consists of a [Non-TrustZone](Projects/b_u585i_iot02a_ntz) and a [Trusted-Firmware-M-Enabled](Projects/b_u585i_iot02a_tfm) project which both demonstrate connecting to AWS IoT Core and utilizing many of the services available via the MQTT protocol.\n\nRefer to the [ Getting Started Guide ](Getting_Started_Guide.md) for step by step instructions on setting up your development environment.\n\nThis includes demonstration tasks for the following AWS services:\n* [AWS IoT Device Shadow](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html)\n* [AWS IoT Device Defender](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender.html)\n* [AWS IoT Jobs](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html)\n* [MQTT File Delivery](https://docs.aws.amazon.com/iot/latest/developerguide/mqtt-based-file-delivery.html)\n* [AWS IoT OTA Update](https://docs.aws.amazon.com/freertos/latest/userguide/freertos-ota-dev.html)\n\nThe demo projects both connect to AWS IoT core via the included Wi-Fi module and use the [CoreMQTT-Agent](https://github.com/FreeRTOS/coreMQTT-Agent) library to share a single MQTT connection among multiple tasks. These tasks publish environemnt and motion sensor data from a subset of the sensor available on the development board, and demonstrate use of the AWS IoT Device Shadow and Device Defender services.\nFor more details on the feature, see the [ ST Featured IoT Reference Integration ](https://www.freertos.org/STM32U5/) page on FreeRTOS.org.\n\n## AWS IoT Core Demo Tasks\n* MQTT Agent\n* IoT Defender\n* OTA Update\n* Environment Sensor Publishing\n* Motion Sensor Publishing\n\n## Key Software Components\n### LWIP TCP/IP Stack\nSee [ lwIP ](https://github.com/lwip-tcpip/lwip) for details.\n\n### Mbedtls 3.1.0 TLS and Cryptography library\nSee [ MbedTLS ](https://github.com/Mbed-TLS/mbedtls/tree/d65aeb37349ad1a50e0f6c9b694d4b5290d60e49) for details.\n\n### Command Line Interface (CLI)\nThe CLI interface located in the Common/cli directory is used to provision the device. It also provides other Unix-like utilities. See [Common/cli](Common/cli/ReadMe.md) for details.\n\n### Key-Value Store\nThe key-value store located in the Common/kvstore directory is used to store runtime configuration values in non-volatile flash memory.\nSee [Common/kvstore](Common/kvstore/ReadMe.md) for details.\n\n### PkiObject API\nThe PkiObject API takes care of some of the mundane tasks in converting between different representations of cryptographic objects such as public keys, private keys, and certificates. See [Common/crypto](Common/crypto/ReadMe.md) for details.\n\n### Mbedtls Transport\nThe *Common/net/mbedtls_transport.c* file contains a transport layer implementation for coreMQTT and coreHTTP which uses mbedtls to encrypt the connection in a way supported by AWS IoT Core.\n\nOptionally, client key / certificate authentication may be used with the mbedtls transport or this parameter may be set to NULL if not needed.\n### Cloning the Repository\nTo clone using HTTPS:\n```\ngit clone https://github.com/FreeRTOS/iot-reference-stm32u5.git --recurse-submodules\n```\nUsing SSH:\n```\ngit clone git@github.com:FreeRTOS/iot-reference-stm32u5 --recurse-submodules\n```\nIf you have downloaded the repo without using the `--recurse-submodules` argument, you should run:\n```\ngit submodule update --init --recursive\n```\n## Running the demos\nTo get started running demos, see the [Getting Started Guide](Getting_Started_Guide.md).\n\n## Contribution\nSee [CONTRIBUTING](https://github.com/FreeRTOS/iot-reference-stm32u5/blob/main/CONTRIBUTING.md) for more information.\n\n## License\nSource code located in the *Projects*, *Common*, *Middleware/AWS*, and *Middleware/FreeRTOS* directories are available under the terms of the MIT License. See the LICENSE file for more details.\n\nOther libraries located in the *Drivers* and *Middleware* directories are available under the terms specified in each source file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreertos%2Fiot-reference-stm32u5","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreertos%2Fiot-reference-stm32u5","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreertos%2Fiot-reference-stm32u5/lists"}