|
esp_iot_framework
v0.2.1
© 2026 AmakeSasha, distributed under a license Apache-2.0
|
esp32 • esp32s2 • esp32s3 • esp32c2 • esp32c3 • esp32c6 The framework is built around three fundamental concepts, decoupling the infrastructure from your business logic:
esp_iot_framework_core) - The ecosystem engine. It handles connectivity, security, and device resilience, abstracting away low-level services like Wi-Fi, NVS, and TLS. Anything built on top of CORE inherits these critical properties for free.Nodes – Architectural components built on top of CORE. A Node encapsulates a specific environment or interaction model for the device-such as hosting a server, initiating client requests, or executing isolated scripts. It offloads all low-level routine and routing, providing a clean interface for business logic development.
Examples of nodes:
esp_iot_framework_server) - A framework node for deploying a standalone HTTP(S) server directly on the device to handle incoming requests.esp_iot_framework_client) - A framework node for enabling the device to initiate outbound HTTP(S) connections and send requests to other devices.End Devices – The final products built by combining CORE with one or multiple Nodes and your specific business logic. Smart bulbs, relays, or complex controllers - any target scenario boils down to implementing unique product logic on top of the selected node stack.
You can see examples of end devices in the examples folder.
To protect against network restrictions, blockages, and infrastructure failures, the project source code and technical documentation are synchronized between independent platforms.
| Platform | Links |
|---|---|
| SourceCraft (main) | 🔗 Source code 📄 Documentation |
| GitHub (mirror) | 🔗 Source code 📄 Documentation |
| GitCore (mirror) | 🔗 Source code Without documentation |
| GitVerse (mirror) | 🔗 Source code 📄 Documentation |
This framework bundles the following third-party components inside the components/ directory:
json2 - JSON in JavaScript (Public Domain or CC0-1.0, at your discretion)jsmn - JSMN: minimalistic JSON parser in C (MIT license)json_generator - A simple JSON (JavasScript Object Notation) generator with flushing capability (Apache 2.0 license)This project is licensed under the Apache 2.0 License.
Please also refer to the NOTICE file.