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 |
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
# Cargo.toml
[]
= "0.1"
use ;
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
# Install espup (ESP Rust toolchain installer)
# Source the environment (add to .bashrc/.zshrc)
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
# For ESP32
# For ESP32-C3 (RISC-V)
# For ESP32-S3
4. Flash
Memory Budget
| Component | Budget |
|---|---|
| Runtime | 128KB |
| Crypto | 64KB |
| Network | 128KB |
| Storage | 128KB |
| App | 64KB |
| Total | 512KB |
License
Apache 2.0 - See LICENSE