AIngle Minimal
Ultra-lightweight AIngle node for IoT devices with < 1MB RAM footprint. Supports ESP32, Raspberry Pi, and desktop platforms.
Features
| Feature |
Description |
Use Case |
coap |
CoAP protocol (default) |
IoT communication |
rest |
REST API server |
SDK integration |
sqlite |
SQLite storage |
Edge devices |
rocksdb |
RocksDB storage |
High-performance |
ble |
Bluetooth LE (Desktop) |
macOS/Linux/Windows |
ble-esp32 |
Bluetooth LE (ESP32) |
Embedded IoT |
webrtc |
WebRTC transport |
Browser nodes |
hw_wallet |
Ledger/Trezor support |
Secure signing |
smart_agents |
HOPE AI agents |
Edge intelligence |
Quick Start
[dependencies]
aingle_minimal = "0.3"
use aingle_minimal::{MinimalNode, Config};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = Config::iot_mode();
let mut node = MinimalNode::new(config)?;
smol::block_on(node.run())?;
Ok(())
}
REST API & SDKs
Enable the rest feature to expose an HTTP API for SDK integration:
aingle-minimal run --rest-port 8080
Endpoints
| Method |
Path |
Description |
| GET |
/api/v1/info |
Node information |
| POST |
/api/v1/entries |
Create entry |
| GET |
/api/v1/entries/:hash |
Get entry |
| GET |
/api/v1/peers |
List peers |
| GET |
/api/v1/stats |
Statistics |
Official SDKs
Platform Support
| Platform |
Target |
BLE Feature |
| macOS |
aarch64-apple-darwin |
ble |
| Linux |
x86_64-unknown-linux-gnu |
ble |
| Windows |
x86_64-pc-windows-msvc |
ble |
| ESP32 |
xtensa-esp32-espidf |
ble-esp32 |
| ESP32-C3 |
riscv32imc-esp-espidf |
ble-esp32 |
| ESP32-S3 |
xtensa-esp32s3-espidf |
ble-esp32 |
ESP32 Setup
To compile for ESP32 with Bluetooth LE:
1. Install ESP Toolchain
cargo install espup
espup install
. $HOME/export-esp.sh
2. Create sdkconfig.defaults
# Required for BLE
CONFIG_BT_ENABLED=y
CONFIG_BT_BLE_ENABLED=y
CONFIG_BT_BLUEDROID_ENABLED=n
CONFIG_BT_NIMBLE_ENABLED=y
# Optional: Persist bonding info
CONFIG_BT_NIMBLE_NVS_PERSIST=y
3. Build
cargo build --target xtensa-esp32-espidf --features ble-esp32
cargo build --target riscv32imc-esp-espidf --features ble-esp32
cargo build --target xtensa-esp32s3-espidf --features ble-esp32
4. Flash
espflash flash target/xtensa-esp32-espidf/release/your-app
Memory Budget
| Component |
Budget |
| Runtime |
128KB |
| Crypto |
64KB |
| Network |
128KB |
| Storage |
128KB |
| App |
64KB |
| Total |
512KB |
License
Apache 2.0 - See LICENSE
Links