INAV Ground Station VTOL Function
I. Introduction
The current INAV VTOL firmware is flight-capable, but has not undergone extensive testing and may still contain undiscovered issues.
This tutorial is applicable to the following users:
- Have experience with INAV multirotor and INAV fixed-wing configuration and flight;
- Understand and can independently write custom mixer configurations;
- Understand the basic physical principles of VTOL flight.
VTOL Configuration Steps
INAV's VTOL functionality is implemented through switching between two independent configuration files (Mixer Profile + PID Profile) in the flight controller:
| Mode | Profile Configuration | Description |
| --- | --- | --- |
| Fixed-wing (FW) mode | Profile 1 | Standard fixed-wing configuration (including PID, Mixer) |
| Multirotor (MC) mode | Profile 2 | Standard multirotor configuration (including PID, Mixer) |
🔁 All parameters other than PID and Mixer are shared between the two modes.
Setup Steps
✅ Step 1: Profile 1 Setup
Set Profile 1 to a normal fixed-wing or multirotor mode (depending on which takeoff method your aircraft uses first).
✅ Step 2: Profile 2 Setup
Set Profile 2 to the other configuration type (for example: if Profile 1 is fixed-wing, configure this as multirotor).
✅ Step 3: Mode Switch Setup (Modes Tab)
On the "Modes" page in the Configurator, set the switch logic for Profile switching to enable manual or automatic switching.
✅ Step 4 (Recommended): Transition Mixing Configuration
It is recommended to configure Transition Mixing in the multirotor Profile to achieve a certain airspeed (thrust) after takeoff for smooth transition.
✅ Step 5 (Optional): Automated Switching (e.g., Return to Home)
You can configure automatic Profile switching in "RTH" mode to handle automatic return-to-home scenarios such as failsafes.
II. Configuration Process
2.1 STEP0: Load Parameter Presets / Templates
- Prioritize finding a DIFF file suitable for your aircraft model (recommended to use verified VTOL configurations from others).
- If no DIFF file is found, you can select "Keep current settings" in the "Firmware Flashing" interface of the Configurator, then manually input the following CLI parameters into the flight controller (refer to the officially recommended parameters).
set small_angle = 180
set gyro_main_lpf_hz = 80
set dynamic_gyro_notch_min_hz = 50
set dynamic_gyro_notch_mode = 3D
set motor_pwm_protocol = DSHOT300 #Try dshot first and see if it works
set airmode_type = STICK_CENTER_ONCE
set nav_disarm_on_landing = OFF #band-aid for false landing detection in NAV landing of multi-copter
set nav_rth_allow_landing = FS_ONLY
set nav_wp_max_safe_distance = 500
set nav_fw_control_smoothness = 2
set nav_fw_launch_max_altitude = 5000
set servo_pwm_rate = 160 #If model using servo for stabilization in MC mode and servo can tolerate it
set servo_lpf_hz = 30 #If model using servo for stabilization in MC modeprofile 1 as airplane and profile 2 as multi rotor
mixer_profile 1
set platform_type = AIRPLANE
set model_preview_type = 26
set motorstop_on_low = ON
set mixer_pid_profile_linking = ON
mixer_profile 2
set platform_type = TRICOPTER
set model_preview_type = 1
set mixer_pid_profile_linking = ON
profile 1 #pid profile
set dterm_lpf_hz = 10
set d_boost_min = 1.000
set d_boost_max = 1.000
set fw_level_pitch_trim = 5.000
set roll_rate = 18
set pitch_rate = 9
set yaw_rate = 3
set fw_turn_assist_pitch_gain = 0.4
set max_angle_inclination_rll = 450
set fw_ff_pitch = 80
set fw_ff_roll = 50
set fw_p_pitch = 15
set fw_p_roll = 15
profile 2
set dterm_lpf_hz = 60
set dterm_lpf_type = PT3
set d_boost_min = 0.800
set d_boost_max = 1.200
set d_boost_gyro_delta_lpf_hz = 60
set antigravity_gain = 2.000
set antigravity_accelerator = 5.000
set smith_predictor_delay = 1.500
set tpa_rate = 20
set tpa_breakpoint = 1200
set tpa_on_yaw = ON #If model using control surface/tilt mechanism for stabilization in MC mode
set roll_rate = 18
set pitch_rate = 18
set yaw_rate = 9
set mc_iterm_relax = RPY
save
### **2.2 STEP1:在配置文件 1 中配置为普通固定翼**
**选择第一个 Mixer Profile 和 PID Profile**:
在 CLI 中切换到你希望先配置的 `mixer_profile` 和 `pid_profile`。
如果你已经加载了上述预设,也可以通过图形界面(GUI)进行切换。mixer_profile 1 # In this example, we first configure profile 1
set mixer_pid_profile_linking = ON # Let mixer_profile control the corresponding pid_profile switching
set platform_type = AIRPLANE
save
**配置固定翼/多旋翼参数**:
正常配置你的固定翼或多旋翼,或者你可以默认设置
- DShot 电调协议的可用性取决于你使用的输出数量和飞控型号。你可以修改电机接线,或者使用 Oneshot/Multishot 协议,并校准油门范围。
- 如果希望某个电机在该模式中停止运行,可以将该电机设置为 throttle = -1。
- 建议进行一次试飞,以确保所有功能正常工作,并根据情况进行参数调试和舵机微调。

### **2.3 STEP2:在配置文件 2 中配置为多旋翼**
**切换到另一个 Mixer 配置文件和 PID 配置文件**:
在 CLI 中,切换到另一个 `mixer_profile` 及其对应的 `pid_profile`。
如果你之前已加载预设模板,也可以在图形界面中切换 `mixer_profile/pid_profile`。mixer_profile 2
set mixer_pid_profile_linking = ON
set platform_type = MULTIROTOR/TRICOPTER
save
**Configuring Multirotor / Tricopter**:
- Set your aircraft to multirotor or tricopter mode in the conventional way. This configuration applies to mixer_profile 2 and pid_profile 2.
- In servo mixing, use MAX as the input signal to control motor tilting without affecting the servo midpoint position.
- This stage focuses on "profile-specific" settings, which can be simplified by copying and pasting default PID settings.
- You can set throttle to -1 in the motor mixer as a placeholder: this motor will not output, but subsequent motor rules will still take effect.
- Enabling navigation mode in multirotor mode requires the compass to be enabled.
- It is recommended to perform a test flight to ensure the system is operating correctly and to fine-tune parameters.

**Tailsitters: Planned support in INAV 7.1**
1. Airplane mode / Profile settings Configure the airplane flight mode and profiles in the conventional way.
2. Multirotor mode / Profile settings For tailsitter vertical flight, use **MultiCopter** type as the flight controller platform type (platform_type = MULTIROTOR).
3. Flight controller orientation reference The system defaults to airplane orientation (i.e., ROLL axis is the thrust direction). Therefore, in tailsitter flight (multirotor mode), you need to set: set tailsitter_orientation_offset = ON
4. Mixing settings In tailsitter multirotor mode, configure ROLL/YAW mixing according to the tailsitter mounting direction. In this mode, the YAW axis is the thrust direction.
5. Ground testing Perform ground testing to observe whether the aircraft orientation changes correctly in the Setup tab of INAV Configurator.
### **2.4 STEP3: Mode Settings**
We recommend using a **3-position switch** on the RC transmitter to control these modes, allowing the pilot to switch in and out of VTOL mode at any time.
Below is an example configuration at the bottom of the Modes page in INAV Configurator:

| Channel Value Range | Mode Description |
| --- | --- |
| 1000~1300 | Enable Profile1 (Airplane mode), disable transition |
| 1300~1700 | Enable Profile2 (Multirotor mode), enable transition (for acceleration) |
| 1700~2000 | Enable Profile2 (Multirotor mode), disable transition |
- Profile switching functionality will be available after the runtime sensor calibration is completed (approximately 15-30 seconds) after startup. Profile switching cannot be performed when navigation mode or position hold mode is enabled.
- By default, the system uses **mixer_profile 1**. When MIXER PROFILE 2 mode is enabled, the system will switch to **mixer_profile 2**.
- After successful configuration, when you refresh the relevant pages in INAV Configurator, you will see the corresponding changes in profiles and model preview.
- Use **MIXER TRANSITION mode** to obtain airspeed in multirotor mode. Please set this mode correctly as needed.
### **2.5 STEP4: Tilting Servo Settings**
Proper operation of tilting servos is crucial for achieving good yaw control. Although default settings can work, they often cause your aircraft to "creep" forward during each yaw maneuver.
The following steps will guide you on how to **fine-tune tilting servos** for optimal control:
**1. Set tilting servos to 45-degree angle**:
- Connect and power the tilting servos to the flight controller.
- Switch the mode switch to the middle position to enter **Transition Mode**.
- In the Outputs page, check if the output for the corresponding servo channel is 1500μs.
- In this state, the servo should be at a 45-degree angle. You can mount the motor and propeller to the tilting bracket, tilting it upward 45 degrees relative to the horizontal line.
::: important
Note 1: If you are using a dedicated tilting servo component, there may be scale marks on the servo or bracket to help align it at 45 degrees. If there is a slight deviation in angle due to the meshing relationship between the servo gear and the control arm/bracket, don't worry, subsequent steps will automatically compensate.
:::
::: important
Note 2: If you are adjusting the tilt angle through a linkage, it is recommended to adjust the control arm as close to the servo's neutral position as possible. Generally, when the bracket is tilted at 45 degrees, the servo arm should be approximately perpendicular to the fuselage.
:::
**2. Switch to Multirotor / Tricopter mode**:
- Assuming you have set up the mixing configuration according to steps 1 and 2, you can now switch to MultiCopter / TriCopter mode.
- At this point, the motor should tilt upward. If not, go to the Outputs page and reverse the corresponding servo.
- While not required to be exactly 90 degrees upward, it should be as close to vertical as possible.
- Also, in the Mixer page, confirm that the MAX value is 100 / -100 to ensure the servo can use its full travel.
**3. Adjust maximum travel in Multirotor mode**:
- In Multirotor mode, go to the Outputs page and adjust the MIN and MAX values for the servo channel so that the motor tilts slightly backward when the servo is at full travel.
- Align the propeller with the tail or wing and check if the tilt angles on both sides are symmetrical.
::: important
Note: You can use a caliper or feeler gauge to check the distance; or adjust the servo until the propeller just touches the wing, then simultaneously adjust the MIN and MAX values by the same amount on both sides to ensure consistent angles.
:::
**4. Adjust minimum position in Airplane mode**:
- Switch to Airplane mode and repeat the previous step.
- Ensure that in this mode, the servo points the motor completely forward horizontally.
- Also adjust the MIN and MAX values in the Outputs page.
::: important
Note: Proper alignment is crucial, otherwise the aircraft will experience roll deviation during flight. If using a dedicated tilting servo, you can ensure consistency by measuring the distance between the front edge of the servo and the front edge of the motor mounting plate.
:::
5. Adjust tilting servo vertical angle:
- Switch back to Multirotor mode and open the Mixer page.
- In the mixing settings from STEP2, gradually reduce the MAX value from 100/-100 to something like 80/-80 until the motor can point completely vertically upward.
::: important
Remember to Save & Reboot after each adjustment for the changes to take effect.
:::
- Use the RC transmitter's yaw stick to the far left and far right, and check: Yaw left: left motor tilts back, right motor tilts forward; Yaw right: opposite direction.
**5. Adjust tilting servo vertical angle**:
- Switch back to Multirotor mode and open the Mixer page.
- In the mixing settings from STEP2, gradually reduce the MAX value from 100/-100 to something like 80/-80 until the motor can point completely vertically upward.
::: important
Remember to Save & Reboot after each adjustment for the changes to take effect.
:::
- Use the RC transmitter's yaw stick to the far left and far right, and check: Yaw left: left motor tilts back, right motor tilts forward; Yaw right: opposite direction.
**6. Adjust tilting servo yaw control amplitude**:
- Go back to the Mixer page, and in Multirotor mode, adjust the value for the "Stabilized Yaw" corresponding servo (originally set to ±50).
- Try starting from ±30 and gradually increase until the movement amplitude of both servos is consistent and symmetrical.
::: important
The maximum value should be such that both servos move symmetrically and neither stops prematurely.
:::
**7. Check if operation and direction are correct**:
- Switch between "Airplane → Transition → Multirotor" modes multiple times and observe whether the servos remember their set states.
- Airplane mode: Servos tilted forward, horizontal.
- Multirotor mode: Servos vertical, motors pointing upward, symmetric motor movement during yaw.
**Optional: Simplify negative value settings**
- If you don't like using negative values in the Mixer, you can reverse the servo direction (in the Outputs page) and then set the original negative values to positive.
- After reversing, check the MIN/MAX settings again and confirm: Yaw control movements are correct; Motors point horizontally in Airplane mode; Motors point vertically in Multirotor mode.
### **2.6 STEP5: Transition Mixing Settings**
**Transition Mixing** is mainly used in multirotor mode to **obtain sufficient airspeed** before switching to airplane mode. When you activate `MIXER TRANSITION` mode, the related motors or servos will move according to your configuration.
**Important reminders**:
- Once navigation mode (such as position hold, return to home, etc.) is activated, the input for Transition Mixing will be disabled.
- If you want to achieve Return To Home (RTH) in VTOL mode without stalling, enabling Transition Mixing is a necessary prerequisite.
**Servo Transition Mixing (for tilting rotor VTOL)**:
## **III. Automatic Mode Switching (Auto Return) (Optional)**
This is **one of the least tested features**, primarily used for **automatic flight mode switching during Return To Home (RTH)**.
When properly configured, the aircraft will first return home efficiently in Fixed-wing (FW) mode, then switch to Multi-copter (MC) mode for a more stable and safer landing.
**3.1 Enable Automatic Switching Function**:
In the **mixer_profile for Multi-copter mode** (such as `mixer_profile 2`), enter the following CLI command:mixer_profile 2
set mixer_automated_switch = ON
**3.2 Set Transition Delay (MC → FW)**
Used to specify how much time (in 100ms units) the aircraft needs to gain sufficient airspeed before switching from MC to FW.mixer_profile 2
set mixer_switch_trans_timer = 30 # 等于 3 秒
**3.3 Configure Automatic Switching in FW Mode (FW → MC)**
If you want to automatically land in MC mode at the end of the return home, you also need to enable it in the FW profile:mixer_profile 1
set mixer_automated_switch = ON
**3.4 Save Settings**:save
::: important
⚠️ If mixer_automated_switch in all configuration files is OFF (default value), the aircraft will not perform automatic transitions. In this case, you can still enable navigation functions after manually switching modes.
:::
## **IV. Testing Recommendations and Experience Sharing**
**General Recommendations**:
- VTOL aircraft in MC mode have higher risks in strong winds, test with caution.
- Before attempting mid-air transitions, ensure you have the ability to recover from a stall.
- Read and understand every 'diff all' configuration to avoid most issues before the first flight.
**Tiltrotor Recommendations**:
- Some tiltrotors may experience 'yaw/roll coupling oscillation' when MIXER TRANSITION is enabled,
- Solution: 1. Use a 'blades meeting at top/rear' mounting configuration to balance torque and P-factor effects; 2. Add a small amount of yaw mixing (approximately 0.2) to the tilt motors.
- During the initial FW mode transition, the tilt motors are providing lift but the rear motors have not yet engaged, which may cause a sudden pitch increase.
- Recommendation: 1. Increase the tilt servo speed to shorten the transition time; 2. Reduce throttle when the fixed-wing engages to mitigate the impact.
**Dedicated Forward Motor Recommendations**:
- This VTOL configuration is the easiest to set up;
- Different motor/propeller combinations can be used for hovering and forward flight to improve efficiency.
————This article is referenced from the INAV official website: [https://github.com/iNavFlight/inav/blob/master/docs/VTOL.md](#)