INAV is the fixed-wing counterpart to Betaflight. It shares the same Configurator, similar tab layout, and many CLI commands — but the moment you try to fly a wing on Betaflight defaults, you’ll discover they’re different animals. INAV handles GPS navigation, autonomous flight modes, and servo mixing that Betaflight was never designed to support. Here’s the setup workflow I use on every flying wing and long-range FPV plane.
Mixer Configuration: The First Step That Determines Everything
The Mixer tab in INAV defines how your aircraft’s control surfaces respond to stick inputs and stabilization. Unlike Betaflight where the mixer is basically “quad X” and you’re done, INAV mixers vary dramatically by airframe.
Flying wing (elevon mixing): Select “Flying Wing” preset. Two servos, each doing combined aileron and elevator function. The mixer automatically handles elevon mixing — left servo moves up, right servo moves down for a right roll, both moving together for pitch. Verify servo direction on the Outputs tab before first flight: right roll stick → right elevon up, left elevon down. Pull back on elevator → both elevons up.
Conventional plane (aileron + elevator + rudder): Select “Airplane” preset. Four channels: throttle, aileron (1-2 servos), elevator, rudder. If using dual aileron servos, assign the second servo to a separate motor output in the Mixer tab with weight -100 (reverse) for proper differential.
V-tail: Select “V-Tail” preset. Two servos handle combined elevator and rudder function. This is the trickiest configuration to get right on the bench — verify both pitch and yaw responses before the maiden.
Servo centering and endpoints: Each servo output needs calibration. In the Outputs tab, set midpoint to 1500 μs, min to 1000 μs, max to 2000 μs. Adjust mechanically first (servo horn position, pushrod length) so the control surface is neutral at 1500 μs. Use subtrim only for minor corrections under ±25 μs.
Auto-Launch: Hands-Off Takeoff
Auto-launch is the feature that makes INAV fixed-wing practical for solo pilots. You throw the plane, INAV detects the acceleration via the accelerometer, spins up the motor, and climbs to a preset altitude. No fumbling for the radio while the plane heads toward the ground.
Auto-launch setup checklist:
1. Set nav_fw_launch_accel — the minimum acceleration (in cm/s²) that triggers motor start. Default 1000 is reasonable. Increase to 1500 for heavier planes that need more throw velocity.
2. Set nav_fw_launch_detect_time — how long (ms) the acceleration threshold must be maintained before triggering. Default 40ms. Too low = false triggers from bumpy pre-launch handling.
3. Set nav_fw_launch_motor_delay — delay (ms) from detection to motor spin-up. Default 500ms gives the prop time to clear your hand.
4. Set nav_fw_launch_timeout — maximum time (ms) auto-launch remains armed waiting for the throw. Default 5000ms (5 seconds) is plenty.
5. Set nav_fw_launch_climb_angle — climb angle in degrees after launch. Default 20° works for most wings. Reduce to 15° for draggy planes.
6. Set nav_fw_launch_max_altitude — altitude at which auto-launch disengages and returns control to the pilot. Default 2000cm (20m) — I use 3000cm (30m) for a margin.
7. Enable Auto-Launch on a mode switch in the Modes tab. Use the same switch position that arms the plane.
The throw: Arm with auto-launch mode active, hold the plane level, throw firmly forward and slightly upward. Do NOT throw like a baseball — a smooth, level push works better. The motor spins up roughly 1 second after release. If the motor doesn’t start, you didn’t throw hard enough to trigger the accelerometer threshold. INAV’s OSD will display “LAUNCH” when auto-launch is active and waiting.
Parameter Table: Essential INAV Fixed-Wing Settings
| CLI Setting | Recommended Value | Effect of Wrong Value |
|---|---|---|
| nav_fw_cruise_throttle | 1400-1550 (30-55% throttle) | Too high: inefficient, short flight time. Too low: stall in RTH. |
| nav_fw_bank_angle | 25-35° | Too high: altitude loss in turns. Too low: wide, slow turns. |
| nav_fw_climb_angle | 20-25° | Too high: stall risk. Too low: slow climb, obstacle collision. |
| nav_fw_loiter_radius | 50-75m | Too small: aggressive banking. Too large: drifts far from home. |
| fw_min_throttle_down_pitch | 5-10° | Too much: dives in RTH descent. Too little: doesn’t descend. |
| nav_fw_launch_accel | 1000-1500 | Too low: false triggers. Too high: throw isn’t detected. |
| nav_rth_altitude | 50-100m | Too low: obstacle collision. Too high: long descent, wasted battery. |
RTH (Return to Home) Tuning
This is where INAV earns its place over a basic stabilizer. RTH brings your plane back autonomously if you lose video or radio link. But RTH that flies the wrong altitude or banks too hard crashes just as effectively as no RTH at all.
RTH climb first: Enable nav_rth_climb_first so the plane climbs to RTH altitude before heading home. If you’re flying at 10m behind trees and RTH engages at 50m altitude, the plane must climb before navigating — otherwise it flies into the trees.
RTH altitude: Set nav_rth_altitude at least 20m above the tallest obstacle in your flying area. For open field flying, 60m is safe. Know your terrain.
Home position reset: INAV sets home position on first GPS 3D lock. If you drive 500m from your bench to the flying spot without power-cycling, the home position is the bench. Always set nav_rth_home_offset to 0 and use the “Reset Home Position” stick command (disarmed, pitch stick up + yaw stick left for 3 seconds) before the first flight.
RTH landing: Fixed-wing RTH does not land — it descends to nav_rth_altitude, loiters, and you take over for manual landing. There is an experimental auto-land feature, but I’ve seen it tip-stall more planes than it’s saved. Land manually.
Common INAV Fixed-Wing Mistakes
Mistake 1: Running a quad flight controller without a barometer. GPS altitude is accurate to ±5m, which is fine for horizontal position but useless for altitude hold. A barometer resolves to ±0.5m. Every INAV fixed-wing build needs a barometer — most modern F7/H7 FCs include one.
Mistake 2: Servo trim in the radio, not INAV. INAV’s stabilization loop assumes neutral at 1500 μs. If you trim the radio to correct a slight roll, INAV interprets the trim as a command — not a neutral offset. Set all radio trims and subtrims to zero. Adjust mechanically or with INAV’s servo midpoint.
Mistake 3: Flying without an airspeed sensor on a heavy wing. GPS ground speed is not airspeed. A 20 km/h tailwind means your ground speed is 60 km/h but your airspeed is 40 km/h — below stall. An analog Pitot tube airspeed sensor costs $15 and prevents downwind stalls in RTH.
Mistake 4: Enabling navigation modes without verifying GPS health. INAV needs 8+ satellites for navigation. If you arm with only 5 satellites and RTH engages mid-flight, the plane may fly toward an inaccurate home position. Wait for the GPS icon to turn solid in the OSD before arming.
Mistake 5: Full-throttle RTH climb. The default cruise throttle applies during RTH — but the climb phase uses maximum climb angle. If your cruise throttle is set high (1700+), the plane wastes battery climbing aggressively. Set cruise throttle for level flight at 40% stick — the plane will use that throttle for efficient navigation.
As we covered in our GPS Rescue Setup guide, the principles of GPS-based recovery apply across both Betaflight and INAV — but INAV’s fixed-wing-specific tuning is what makes the difference between a controlled return and a stall into terrain.
⚠️ Regulatory Notice: The flight recommendations in this article should be followed in accordance with the latest 2026 drone regulations in your country or region. Always verify local laws regarding flight altitude, no-fly zones, remote ID requirements, and registration before flying. Autonomous flight modes (RTH, waypoint navigation) may be subject to additional restrictions in some jurisdictions. Regulations vary significantly between the FAA (US), EASA (EU), CAA (UK), CAAC (China), and other authorities.
The UAVModel INAV Fixed-Wing FC Bundle includes an F7 flight controller with integrated barometer, GPS/compass module, and pre-soldered servo pins — ready to drop into any flying wing. Available on our fixed-wing FPV page.
