Idea 3: Distributed Split Inference over ESP-NOW Mesh Networks
Overview
Partition a neural network across 3-5 ESP32 nodes in an ESP-NOW mesh network. Each node computes one or more layers and passes intermediate activations to the next hop. Implement dynamic model partitioning with fault tolerance for real-time distributed TinyML.
Research Gap
- All TinyML papers assume a single-node deployment
- Split computing exists for mobile phones but not for ESP32 mesh networks
- ESP-NOW has unique constraints: ~250-byte payload limit, ~10 ms per-hop latency, no TCP-like reliability
- No prior work addresses model partitioning under intermittent node failures on commodity MCU hardware
Key Innovation
First distributed TinyML system with fault-tolerant dynamic re-partitioning on commodity ESP32 hardware. The scheduling problem is NP-hard; your heuristic with provable bounds is the core contribution.
Hardware Requirements
| Component | Specification | Purpose |
|---|---|---|
| Nodes | 4x ESP32 or ESP32-S3 | Distributed compute units |
| Sensors | 4x I2S MEMS microphones | Distributed audio input |
| Network | ESP-NOW protocol (WiFi-based) | Low-latency peer-to-peer mesh |
| Timing | Logic analyzer or PTP-like sync | Measuring end-to-end latency |
Technical Approach
Phase 1: Network Characterization
- Measure ESP-NOW throughput, latency, jitter, packet loss at various distances
- Characterize broadcast vs. unicast performance
- Measure boot time and reconnection time after node failure
Phase 2: Model Partitioning
- Start with a small CNN (e.g., 3-4 convolutional layers + 2 FC layers)
- Define partition points at layer boundaries
- Each partition outputs intermediate activations (quantized INT8)
- Activation size must fit in ESP-NOW payload (~250 bytes)
- If too large, use progressive quantization or activation pruning
Phase 3: Dynamic Partitioning Algorithm
- Offline: Pre-compute all valid partitionings given N nodes
- Online: Monitor node availability (heartbeat every 100ms)
- If node drops, recompute partition in <50ms using precomputed lookup table
- Heuristic: minimize max(partition_compute_time + transmission_time)
- Prove approximation ratio vs. optimal (likely 2-approximation)
Phase 4: Application: Distributed Audio Source Localization
- 4 ESP32s with microphones at corners of a room
- Each node computes early CNN layers on its local audio
- Intermediate features are shared and fused for DOA (direction of arrival) estimation
- Show accuracy improvement over single-node baseline
Phase 5: Fault Tolerance
- Node failure detection via heartbeat timeout (3 missed beats = dead)
- Graceful degradation: if 4 nodes → 3 nodes, re-partition and continue
- If only 1 node remains, fall back to full local model (if it fits)
- Measure accuracy vs. number of active nodes
Expected Results
- End-to-end inference latency <200 ms for 4-node network
- Re-partitioning time <50 ms upon node failure
- <3% accuracy drop compared to single-node full model
- Network bandwidth: <50 KB/s per node during inference
- Graceful degradation curve: accuracy vs. number of nodes
Target Venues
- IEEE Transactions on Mobile Computing (TMC)
- ACM/IEEE IPSN
- ACM IMWUT
- IEEE Internet of Things Journal
Related Work to Cite
- Split computing / early exit papers (e.g., Neurosurgeon, Edgent)
- Federated learning on IoT devices
- ESP-NOW protocol specification (Espressif)
- Distributed inference on edge clusters (not MCUs)
- Mesh networking protocols (Thread, Zigbee) — contrast with ESP-NOW
Risk Mitigation
| Risk | Mitigation |
|---|---|
| Activation too large for ESP-NOW | Aggressive quantization (INT4), activation pruning, or feature compression |
| Synchronization issues | Use timestamps and simple time-sync protocol; tolerate small skew |
| ESP-NOW packet loss | Add simple ACK/retry for critical partitions; tolerate loss for non-critical |
| Partitioning overhead too high | Precompute all partitionings offline; online is just table lookup |
Timeline (Approximate)
- Weeks 1-2: ESP-NOW network setup and characterization
- Weeks 3-4: Single-node model design and quantization
- Weeks 5-6: Split model deployment across 2 nodes
- Weeks 7-8: Full 4-node mesh with dynamic partitioning
- Weeks 9-10: Fault tolerance evaluation and paper writing