STM32F3 ◇ OrniFlight v0.4.6 ◇ apiVersion 1.46
Manifest
A new species of flight controller
OrniFlight exists because a flapping wing controls thrust, pitch, roll, and yaw within a single stroke — a channel of expressiveness no propeller can match.
Nature solved flapping-wing flight 150 million years before the first quadcopter took off. Every sparrow, every albatross, every hummingbird carries flight logic in its nervous system that no PID controller has ever replicated. OrniFlight opens a new domain — where thrust is phase, where stability is rhythm, where the aircraft breathes with every wingbeat. ONDAS, our Oscillating Normalized Dynamic Adaptive Stabilization, is the first control theory built from first principles for flapping aerodynamics. It modulates correction force within the wingbeat — not against it, not despite it, but with it. This firmware is free software because flight belongs to no corporation. It runs on commodity STM32F3 hardware because the tools for transcendent flight should cost less than a dinner. OrniFlight inherits a battle-tested architecture and pushes into uncharted air — a new species of flight controller, built for wings from the silicon up. The birds have been waiting for us to catch up.
CRSF → rx → OrniFlight → ONDAS → waveform → PWM servos → wings
ONDAS
Oscillating Normalized Dynamic Adaptive Stabilization
Oscillating Normalized Dynamic Adaptive Stabilization — the first control theory built specifically for flapping-wing aerodynamics.
Quad PIDs assume continuous thrust. Ornithopter thrust is phasic — the same impulse creates different moments depending on when in the stroke it's applied. ONDAS uses cadence, ferocity, balance, warp, anchor, resonance, prescience, espelho, saudade, and SSFF — an orchestra of phase-aware modulators — to place every corrective gram exactly where aerodynamics can use it.
cadence · ferocity · balance · warp · anchor · resonance · prescience · espelho · saudade · SSFF
Features
Everything the wing deserves
- Flight Profiles
- 4 independent profiles (0–3), switchable in-flight via BOX mode. Each holds full ONDAS tuning, wave shape, and aeroelastic coefficients.
- Unified Frequency Channel
- Single RC channel with min/max Hz mapping. Works identically in INDEPENDENT and GLIDE flight modes — one pot, both regimes.
- GralhaAzul Wing Dynamics
- Trapezoidal waveform generation with servo speed limiting, amplitude mapping, flap magnitude, and wing origin geometry — the wing-ODE core.
- 10-Channel ONDAS Modulation
- Cadence timing, ferocity P/D on 3 axes, balance, warp, anchor, resonance — per-profile, real-time adjustable via MSP.
- MSP Configurator (apiVersion 1.46)
- Full ONDAS tuning GUI — all 19 profile fields, frequency channel, GralhaAzul, Phase 2 gains. Profile switcher for per-slot editing.
- GLIDE + INDEPENDENT Modes
- Two flight regimes: GLIDE (throttle-centred, natural soaring) and INDEPENDENT (direct flap frequency via RC channel). BOX-selectable.
Hardware
Commodity STM32F3/F4/F7 flight controllers
Runs on any Betaflight 4.0-compatible STM32F3/F4/F7 flight controller with servo-capable timer pins.
| Targets | TINYFISH (F3, integrated FrSky RX), OMNIBUSF4, MATEKF405, KAKUTEF7 … |
| Servo Output | Up to 4 programmable servo channels, 50–400 Hz PWM |
| Receiver | CRSF (Crossfire / ExpressLRS), SBUS, Spektrum, SUMD — plus integrated FrSky on TINYFISH |
| Flash | 256 KB (TINYFISH F3) / 1 MB (OMNIBUSF4) |
| RAM | 40 KB (TINYFISH F3) / 192 KB (OMNIBUSF4) |
Build & Flash
make TARGET=TINYFISH\ndfu-util -a 0 -D obj/orniflight_VERSION_TINYFISH.hex
# or for OMNIBUSF4:
make TARGET=OMNIBUSF4\ndfu-util -a 0 -D obj/orniflight_VERSION_OMNIBUSF4.hex
GPL v3 ◇ Forked from Betaflight 4.0.6 ◇ Clean build: zero warnings