Application: messaging, voice, cli, telemetry, localization
Transport: ACK, retransmit, fragmentation, priority queue, dedup
Network: mesh routing (HELLO + AODV-lite), TTL, store-and-forward
Security: AES-128-CCM, KDF, replay, IDS (cross-cutting)
MAC: CSMA-CA / LBT, duty-cycle limiter, framing, CRC
HAL: radio_if, timer_if, rng_if, storage_if, power_if
Each layer is a header in include/altnet/ and an
implementation in src/. The HAL is interface-only — concrete
implementations live in src/hal/<platform>/.
| Item | AVR (Uno) | ESP12F |
|---|---|---|
| Static RAM | ≤ 1.5 KB | ≤ 24 KB |
| Stack peak | ≤ 256 B | ≤ 2 KB |
| Flash | ≤ 24 KB | ≤ 256 KB |
| Neighbor table | 8 entries | 32 entries |
| Route table | 8 | 32 |
| Reassembly slots | 1 | 4 |
| Voice buffer | n/a (ADPCM 256 B) | 4 KB jitter |
- AVR: cooperative; one
altnet_loop()call per Arduinoloop(). - ESP8266: cooperative on the same core; integrates with
yield()and WiFi event loop. - No RTOS dependency; all timers are derived from
timer_if::millis().
- Host (Linux/macOS) — for unit tests + simulator (
-DALTNET_HOST=1). - AVR (
-DALTNET_AVR=1) — Uno/Nano/Pro Mini. - ESP8266 (
-DALTNET_ESP8266=1) — ESP12F, NodeMCU.
See PROTOCOL.md, SECURITY.md, ROADMAP.md, TESTING.md.