Hey everyone,
Standard edge perception stacks (camera -> frame buffer -> companion GPU) introduce 50–100ms latency. In high-speed, low-altitude flight, that delay causes drones to crash into the ground during sudden prop-wash or ground-effect turbulence before the motor controller can react.
To solve this latency bottleneck, I built an auxiliary flight coprocessor board (30x30mm, 6.8g) that runs a sparse continuous-time neural model (CfC / Liquid time-constant network) compiled directly to bare-metal C++ on an MCU.
Technical Breakdown:
• Sensor loop: Reads raw IMU and optical flow over SPI.
• Execution: The continuous-time ODE forward pass executes deterministically in 0.48ms on-chip (no dynamic memory allocation / zero malloc to prevent heap fragmentation).
• Physical Response: Overrides motor signals directly via DShot to initiate a 4.0G recovery maneuver within 48ms total physical window.
• Model Architecture: 19-neuron recurrent sparse topology (632 active parameters / 99.51% sparsity derived from connectome wiring), allowing the full state vector to fit inside L1 cache.
• Power: Draws under 1 Watt, eliminating the weight and heat of companion single-board computers.
In flight testing, this allowed the quadcopter to arrest sudden vertical drops and recover without external optical tracking or desktop compute.
I spent the last several months rewriting the continuous-time ODE solver into fixed-point arithmetic and optimizing the timer interrupt routines to get the loop time down from 2ms to 0.48ms.
Happy to answer technical questions about the C++ fixed-point implementation, SPI interrupt timing, or motor override architecture!