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