This is a selection of some of the more frequently asked questions about the EmbedThis Ioto IoT device management platform.
If you don’t find the answers you need here, please consult the product documentation or contact us on Chat at the bottom right of this page.
EmbedThis Ioto® (pronounced “eye-oh-toe”) is a complete IoT meta-platform for managing devices, whether via the cloud or directly to the device. Ioto lowers IoT project cost and dramatically accelerates the time to completion while lowering project risk.
Ioto provides a complete, end-to-end IoT platform with extensive integration with the AWS IoT platform, a device Builder portal for managing the service, transparent device data synchronization, OTA updates, device automations, a low-code app designer for creating mobile and desktop applications and a fast, compact device agent. The device agent includes an embedded database and web server for local device management so that cloud-based device management can be enabled per-device in the field. It provides everything needed to simplify and streamline intelligent device management.
Ioto is an IoT Meta-platform that builds upon and extends the AWS IoT platform. It is a complete IoT solution that simplifies creating device management products. It features a fast, compact device agent paired with a robust device database that transparently synchronizes device data with the cloud. Unlike traditional agents limited by “virtual pin” data storage models, Ioto organizes device data in a way that logically mirrors your device’s actual characteristics. Additionally, Ioto includes a low-code app designer for creating engaging desktop or mobile apps, empowering you to rapidly build dynamic management solutions for a single device or millions of devices.
We don’t need yet another IoT platform — we already have established, reliable IoT platforms like the AWS IoT. What is missing is an end-to-end solution that provides better tools, management apps, device data management, and visual analytics that accelerate and extend the capabilities of the underlying platform. This enables you to create, configure and deploy secure IoT environments and apps in hours instead of months or longer.
Ioto builds on the rock-solid AWS IoT platform’s scalable communications, data capture and storage capabilities. Ioto provides a complete suite of tools including a device builder portal, device agent, device data management service and a low-code visual app designer to quickly create IoT apps. Ioto delivers everything you need to create comprehensive device management solutions.
Absolutely. Unlike other IoT platforms that claim scale, Ioto is designed and priced to scale seamlessly from just a few devices to millions of devices without changing architecture.
Ioto effectively scales its device data storage, connectivity and compute to support the device populations in the millions. The underlying AWS IoT cloud is rock-solid and resilient against failures. At scale, a cloud-connected device costs as little as 7 cents a device per year.
Ioto is optimized for high performance on embedded devices, with a focus on low-latency responses and efficient use of system resources. It is capable of serving hundreds of requests per second on hardware platforms like the ESP32 and >9,000 requests per second on a PC level device.
While the Appweb, GoAhead and Ioto device agents include embedded web servers, they are distinct products. Ioto includes a completely new web server with a different API and architecture. It has been specifically designed to address the needs of modern IoT devices. Unlike Appweb, which focuses on general-purpose embedded web serving, Ioto is built to optimize device management, remote control, and secure cloud integration. Ioto can be used solely as an embedded web server for direct device management or you can selectively enable cloud-based management per-device, in the field.
Unlike standalone embedded web servers, Ioto is built from the ground up for both direct and cloud-based device management. It is optimized for low memory, CPU efficiency, and secure device-to-cloud communications. Its modular design lets developers easily select the required management features whether they be local device management, remote firmware updates or full cloud-based management. Cloud management can be enabled per-device in the field.
Ioto is provided with a commercial license that includes complete source code. A variety of subscriptions plans are offered including:
Ioto is distributed under one of three licenses:
The open source GPLv2 License does not generally permit incorporating this software into non-open source programs. Commercial licenses for this software and support services are available from Embedthis Software.
The commercial license enables you to embed the software and distribute and sell your products containing the software. With a paid-up subscription you can incorporate new releases, updates and patches for the software into your products. If you do not have an active subscription, you cannot apply commercial patches from the software to your products.
The eval license is for shorter-term commercial evaluations.
The Embedthis Ioto service is provided subject the service Terms of Use.
The Ioto volume-based subscriptions calculate a fee based on the total number of devices that have been manufactured. i.e. on your total installed base of devices. The device agent fee is calculated on a sliding scale where the per-device price decreases the more devices you create. The price is < $0.30 per device with more than 1,000 devices made per month.
If you are using cloud-based management, there is a fee for each device connecting to the cloud each month.
See the Ioto Price Calculator to estimate your project cost.
Yes, Ioto includes a robust and flexible mechanism for performing secure over-the-air (OTA) updates. This feature allows for seamless, policy based remote firmware updates, ensuring your devices stay up-to-date with the latest security patches and features. → Learn More.
Ioto supports industry-standard protocols and formats for maximum interoperability:
This flexibility enables Ioto-based devices to efficiently provide local and cloud-based management at scale.
Yes. Ioto can invoke cloud-based AI LLMs via the Ioto OpenAI APIs. Ioto supports the Chat Completions, Responses, and Real-Time APIs. → Learn More.
Yes. Ioto can define and call local agents and tools with the Responses API. These agents and tools will be invoked by Ioto when the cloud model returns a response that requires them. The results will then be supplied to the cloud model which will then analyze the data and provide a final response. → Learn More.
Hybrid AI is a new approach to AI at the edge that combines the benefits of local and cloud-based models. It enables you to use a local model for real-time, low latency responses and then escalate to a cloud model for more complex and scalable tasks. → Learn More.
Yes. Ioto can run local models and cloud models without requiring full cloud-based device management. However, when using a device cloud, your AI access keys can be provisioned securely from the device cloud without requiring them to be stored on the device.
Ioto provisions devices with unique per-device certificates for maximum isolation and security. Certificates are created and distributed to devices when a device is claimed by end-users after purchase. Devices can be pre-provisioned during manufacture or configuration if required. → Learn More.
The Ioto agent provides several different means of sending data to the cloud. The preferred way is to write to the local agent device database and use the Ioto database synchronization to transparently replicate that data to the cloud where it can be queried and analyzed. You can also send data using REST API calls and MQTT messages. → Learn More.
Ioto primarily uses C for its core components and APIs. It also includes a little assembler on some systems for performance. For browser-based management applications, it uses a combination of web technologies such as JavaScript, VueJS, HTML, and CSS.
Ioto uses fiber coroutines to serve multiple requests in parallel. Ioto is based on a single-threaded fiber coroutine architecture that employs a non-blocking, event-driven design capable of handling numerous inbound and outbound requests simultaneously with minimal CPU and memory resources. Ioto simplifies programming by eliminating the complexity of threads and event callbacks via the use of fiber coroutines. Ioto offers fast, simple parallelism via an async-wait style of straight line procedural programming. → Learn More.
EmbedThis provides comprehensive documentation, technical guides, reference APIs, and a support portal. Commercial support and consulting services are available, ensuring you can confidently deploy Ioto in production environments today.
Yes, Ioto allows full customization of the web interface using HTML, CSS, and JavaScript. You can create intuitive dashboards, control panels, and configuration pages tailored to your device’s functionality. The easiest way is to use the Ioto low-code app designer to create compelling mobile and desktop apps based upon the DevCore UI framework. → Learn More.
The Ioto agent is incredibly compact and yet includes an embedded HTTP web server, MQTT client, HTTP client, embedded database, JSON parsing, AWS cloud integration, device provisioning and OTA upgrading. All in under 300K code. You can optionally compile only the features and services you need for an even smaller memory footprint by defining the required services in the ioto.json5 configuration file. Ioto also uses a global memory allocator and error handler so memory errors can be trapped and centrally handled.
Read the Building Ioto for details about building Ioto on various platforms and minimizing footprint. → Learn More.
Absolutely. Ioto is optimized for RTOS environments and can run efficiently on systems with limited resources. It integrates seamlessly with FreeRTOS and ESP32 platforms, among other RTOS environments, ensuring minimal overhead while providing robust web and cloud capabilities.
Ioto provides comprehensive support for a wide range of microcontrollers, operating systems, and embedded environments such as popular microcontrollers like the ESP32 and Raspberry Pi. It is compatible with many operating systems and embedded platforms, including:
Ioto supports a diverse array of hardware architectures, including:
Developers can also easily port Ioto to new operating systems and hardware platforms.
To install Ioto on your ESP32 project, follow these steps:
Build and flash your project using the ESP-IDF toolchain.
For detailed instructions, refer to the Building for ESP32 Ioto documentation.
{{comment.name}} said ...
{{comment.message}}