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

ComponentSpecificationPurpose
Nodes4x ESP32 or ESP32-S3Distributed compute units
Sensors4x I2S MEMS microphonesDistributed audio input
NetworkESP-NOW protocol (WiFi-based)Low-latency peer-to-peer mesh
TimingLogic analyzer or PTP-like syncMeasuring 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
  • 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

RiskMitigation
Activation too large for ESP-NOWAggressive quantization (INT4), activation pruning, or feature compression
Synchronization issuesUse timestamps and simple time-sync protocol; tolerate small skew
ESP-NOW packet lossAdd simple ACK/retry for critical partitions; tolerate loss for non-critical
Partitioning overhead too highPrecompute 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