IOWA Features
Quickly Create a Powerful Smart Device
IOWA fast-tracks the "smart" part of IoT devices thanks to its optimized code. But more than simply creating an IoT device, IOWA provides several security options for critical and sensitive devices, and was designed for situations where every line of code counts. Tight on space and don't need all the features below? You can remove them easily through feature flags.
Core Capabilities

LwM2M 1.0, 1.1 & 1.2 support
All versions of LwM2M are available in IOWA; all are backwards-compatible

Flexible hardware and software abstraction layer
IOWA is platform-agnostic, allowing you to implement it on any MCU, OS, or security implementation

Network and transport agnostic
IOWA can operate on any network and transport protocol, even the most constrained

Thorough object management
Take advantage of the LwM2M and IPSO Objects already implemented in IOWA or integrate your own, either standard or custom

Custom object code generation
Use IOWA's XML script to generate the necessary code to add any custom Object to your device application

Comprehensive logging mechanism
Use the IOWA logs to quickly identify roadblocks and accelerate development

Device management server building blocks
Build your own Device Management Server based on IOWA SDK
Security

End-to-end security encryption
(TLS/DTLS + OSCORE)
Ensure end-to-end security from a device to the device management server with OSCORE. Add another layer of encryption when using TLS/DTLS

Easy interaction with a secure element
IoT SAFE
Port your code on any security implementation in use, whether software or hardware based, including hard or virtual Secure Elements
Client – Server Interaction

Efficient data collection
IOWA enables you to collect any data gathered by a device's sensors through pull and push mechanisms

Thorough registration rules configuration
Configure servers to communicate with the device, whether Bootstrap or Production, and define their ACLs and fallback rules

Advanced firmware update
Manage firmware updates using push or pull methodologies on CoAP(s) or HTTP(s)
Communication Optimization

Wide encoding support
Optimize your data footprint through a wide range of payload encoding formats including, CBOR, SenML JSON, SenML CBOR, LwM2M CBOR, TLV, etc.

Optimized management of intermittent connectivity
IOWA enables fine tuning of CoAP congestion control rules and LwM2M registration lifetime to maximize efficiency and data transmission

Built-in CoAP block-mode support
Ensure that your data is sent, independent of the payload size and network protocol

Efficient notification storage
Ensure no data is lost, even when there is inconsistent network quality

Session resumption and Connection ID support
Accelerate re-authentication procedures to reduce data and power-heavy exchanges

Direct CoAP interface
Rely on IOWA’s CoAP stack to create a dedicated channel to communicate with your application data
Coming Soon
Processing Optimization

Footprint optimizer
Use IOWA feature flags to ensure your implementation is as lean as possible to avoid affecting your hardware's performance

Streamable resources support
Ensure your largest data are successfully transmitted without burdening your devices’ memory

Asynchronous response support
Configure IOWA so that it works with asynchronous responses to avoid slowing down your operations

Resilient context storage
Ensure operations always go through without restarting all transmissions, even on devices that are mostly dormant
Let's get started!
