Breaking past the 128 KB ceiling.
“Squeezing OpenTX into 128 KB was an incredible technical feat by the OpenI6X team. But as a contributor, adding any new feature had become a zero-sum game: you had to remove something without breaking the build just to avoid overflowing Flash or RAM.”
The FlySky FS-i6X is the world's most ubiquitous ~$40 RC transmitter, powered by an STM32F072VB (ARM Cortex-M0 @ 48 MHz) with 128 KB Flash and 16 KB SRAM. Legacy C++ ports push this chip to ~94% capacity, leaving less than 7 KB to spare.
Rather than endlessly pruning bytes, we started clean: a dedicated, lightweight firmware written strictly in bare-metal #![no_std] Rust under the ferrox-rc organization. The entire radio OS fits in just 70.4 KB of Flash, leaving over 57 KB (>45%) of free headroom for community mods, telemetry scripts, and new features.
Starting clean in embedded systems is often dismissed as impractical—rewriting an established radio OS from bare silicon traditionally demands months of solitary reverse engineering and tedious peripheral scaffolding.
Here, unprecedented expedience was unlocked through a disciplined human-AI pair-programming methodology. Deep domain expertise—silicon pinouts, DMA priorities, A7105 transceiver errata, and microsecond-precise AFHDS 2A protocol timings—provided the architectural blueprint and physical ground truth, while modern AI acted as a relentless copilot for boilerplate HAL mappings, USB descriptors, and math routines. Every subsystem was guided by human intent, verified line-by-line, and validated on physical bench hardware. The result is a production-grade bare-metal OS brought to life in days rather than seasons.