MAVLINKHUD

Overview

The RC parameter group configures how the autopilot interprets signals from the Radio Control (RC) receiver. It handles channel calibration (Min/Max/Trim), reversal, and the assignment of auxiliary functions to transmitter switches.

ArduPilot supports up to 16 RC input channels.

Key Concepts

1. Channel Calibration (RCn_MIN, RCn_MAX, RCn_TRIM)

Defines the pulse-width range (PWM in microseconds) for each stick and switch.

  • MIN: Pulse width at lowest stick position (typically ~1000us).
  • MAX: Pulse width at highest stick position (typically ~2000us).
  • TRIM: Pulse width at center/neutral position (typically ~1500us).
  • DZ: Deadzone. Small range around the center where stick movement is ignored to prevent "jitter" or "drift."

2. Auxiliary Functions (RCn_OPTION)

This is the most powerful feature of the RC system. You can map any of ArduPilot's hundreds of functions to a switch on your transmitter.

  • Common Options:
    • 7: Do Nothing.
    • 22: Parachute Release.
    • 28: Gripper.
    • 300: Camera Trigger.

3. Failsafe (RC_FS_...)

Configures how the autopilot detects that the radio link has been lost.

  • RC_FS_TIMEOUT: How many seconds of no signal before triggering a failsafe action.

Parameter Breakdown

  • RC_PROTOCOLS: Bitmask to select which digital protocols to search for (SBUS, CRSF, FPort, etc.).
  • RC_OPTIONS: Bitmask for specialized input behaviors (e.g., ignore receiver failsafe bit).
  • RC_SPEED: Update rate for standard PWM inputs (Hz).

Integration Guide

  1. Calibration: Always perform "RC Calibration" in your GCS whenever you change your transmitter settings or receiver.
  2. Assignment: Use the "Radio Calibration" or "Extended Tuning" screens to assign switch functions (RCn_OPTION).
  3. Reverse: If the HUD shows the drone tilting the wrong way, use RCn_REVERSED.

Developer Notes

  • Library: libraries/AP_RCProtocol.
  • Filtering: Input signals are low-pass filtered to reduce noise.

MNT1_RC_RATE

deg/s
Default 0
Range 0 90

Mount RC Rate (MNT1_RC_RATE)

Description

MNT1_RC_RATE (often appearing in older configs as RC_RATE) controls how fast your camera gimbal rotates when you move the knobs or sticks on your transmitter.

  • 0 (Disabled): The gimbal is in Position Mode. If you move the knob to the middle, the camera points to the middle. If you let go, it stays where the knob is.
  • > 0: The gimbal is in Rate Mode. The knob acts like a joystick. Moving it slightly makes the gimbal turn slowly; moving it all the way makes it turn at the maximum rate defined by this parameter. Letting go of the stick stops the rotation, and the gimbal stays at its current angle.

The Engineer's View

Defined in AP_Mount_Params.cpp.
This parameter selects between two fundamental control philosophies for cinematography. Most professional aerial photographers prefer Rate Mode because it allows for perfectly smooth, consistent panning speeds.

Tuning & Behavior

  • Default Value: 0 (Position Mode)
  • Recommendation:
    • Cinematography: Set to 10 or 20 $deg/s$ for cinematic pans.
    • FPV / Tracking: Use Position Mode (0) so the camera direction matches your stick position exactly.

RC10_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC10_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC10_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC10_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC10_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC10_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC11_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC11_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC11_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC11_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC11_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC11_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC12_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC12_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC12_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC12_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC12_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC12_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC13_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC13_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC13_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC13_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC13_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC13_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC14_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC14_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC14_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC14_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC14_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC14_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC15_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC15_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC15_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC15_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC15_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC15_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC16_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC16_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC16_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC16_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC16_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC16_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC1_DZ

PWM
Default 30
Range 0 200

RC Input Channel 1 Deadzone (RC1_DZ)

Description

RC1_DZ creates a small "Null Zone" in the center of your stick. If the PWM signal changes by less than this amount, the autopilot ignores it. This prevents "Stick Jitter" or poor stick centering from causing the drone to twitch or drift.

RC1_MAX

PWM
Default 1900
Range 800 2200

RC Input Channel 1 Maximum (RC1_MAX)

Description

RC1_MAX defines the highest PWM value your transmitter sends on the first channel. This is used to scale your stick inputs so that "Full Stick" equals "Maximum Demand" in the flight code.

RC1_MIN

PWM
Default 1100
Range 800 2200

RC Input Channel 1 Minimum (RC1_MIN)

Description

RC1_MIN defines the lowest PWM value your transmitter sends on the first channel. This is calibrated automatically and ensures the autopilot knows the full physical range of your stick movement.

RC1_OPTION

Default 0
Range 0 300

RC Input Channel 1 Auxiliary Option (RC1_OPTION)

Description

RC1_OPTION allows you to turn a radio channel into a "Function Switch."

While channels 1-4 are usually reserved for flight axes (Roll, Pitch, Throttle, Yaw), channels 5-16 can be used to trigger features like "Return to Launch," "Arm/Disarm," "AutoTune," or "Camera Trigger."

  • 0: Do Nothing.
  • 7: RTL.
  • 300+: Lua Script Trigger.

RC1_REVERSED

Default 0
Range 0 1

RC Input Channel 1 Reversal (RC1_REVERSED)

Description

RC1_REVERSED flips the logic of your stick. If you push the stick right but the GCS shows the bar moving left, you set this to 1.

Note: It is always preferred to fix this during Radio Calibration in the GCS.

RC1_TRIM

PWM
Default 1500
Range 800 2200

RC Input Channel 1 Trim (RC1_TRIM)

Description

RC1_TRIM defines the "Center" position for the first channel of your radio receiver (typically Roll).

When your transmitter sticks are centered, the receiver sends a specific PWM value. ArduPilot needs to know exactly what that value is so it doesn't think you are trying to turn when you are actually hands-off.

  • Standard Setting: 1500 (µs).

Tuning & Behavior

  • Calibration: This value is set automatically when you perform a Radio Calibration in your Ground Control Station. You should never need to adjust it manually.
  • Safety: If your drone drifts when the sticks are centered, re-run the Radio Calibration rather than manually editing this parameter.

RC2_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC2_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC2_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC2_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC2_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC2_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC3_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC3_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC3_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC3_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC3_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC3_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC4_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC4_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC4_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC4_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC4_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC4_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC5_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC5_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC5_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC5_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC5_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC5_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC6_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC6_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC6_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC6_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC6_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC6_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC7_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC7_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC7_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC7_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC7_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC7_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC8_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC8_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC8_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC8_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC8_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC8_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC9_DZ

PWM
Default 0
Range 0 200

RC dead-zone

Note: This parameter functions identically to RC1_DZ.

RC9_MAX

PWM
Default 1900
Range 800 2200

RC max PWM

Note: This parameter functions identically to RC1_MAX.

RC9_MIN

PWM
Default 1100
Range 800 2200

RC min PWM

Note: This parameter functions identically to RC1_MIN.

RC9_OPTION

Default 0
Range null

RC input option

Note: This parameter functions identically to RC1_OPTION.

RC9_REVERSED

Default 0
Range null

RC reversed

Note: This parameter functions identically to RC1_REVERSED.

RC9_TRIM

PWM
Default 1500
Range 800 2200

RC trim PWM

Note: This parameter functions identically to RC1_TRIM.

RC_FS_MSK

Default 0
Range 0 4294967295

RC_FS_MSK: Servo RC Failsafe Mask

Description

Bitmask of scaled passthru output channels which will be set to their trim value during rc failsafe instead of holding their last position before failsafe.

Values

  • Bitmask:

    • Bit 0: Servo 1
    • Bit 1: Servo 2
    • ...
    • Bit 31: Servo 32
  • Default: 0

Description

This parameter defines the behavior of "Pass-Through" channels (servos directly controlled by the pilot's RC sticks) when the radio link is lost (RC Failsafe).

  • Default (0): All pass-through channels will "Hold Last Position." For example, if you were turning right when the signal was lost, the rudder stays right.
  • Enabled Bit: If a channel's bit is set, that servo will jump to its TRIM value (usually center) immediately upon failsafe.
  • Use Case: Primarily for auxiliary surfaces like flaps or landing gear where you want a predictable, neutral state during an emergency return home, rather than leaving them in a high-drag configuration.

RC_FS_TIMEOUT

s
Default 1.0
Range 0.5 10.0

RC Failsafe timeout (RC_FS_TIMEOUT)

Description

RC_FS_TIMEOUT defines how long ArduPilot waits after losing contact with your radio receiver before it decides "The pilot is gone" and triggers a failsafe action (like RTL or Land).

A shorter timeout provides faster safety response but may cause "nuisance" failsafes if your radio link is momentarily blocked by an obstacle. A longer timeout allows for more robust connections in noisy environments but delays the automatic return home.

The Mathematics

The system monitors the "Last Pulse Time" for the RC channels. Failsafe triggers if:
$$ \Delta t\_{\text{no\_signal}} > \text{RC\_FS\_TIMEOUT} $$

The Engineer's View

Defined in RC_Channels_VarInfo.h as _fs_timeout.
It is primarily used in ArduCopter/radio.cpp (and equivalent vehicle files) within the read_radio() loop. The timeout applies to both pulse-based failsafes (like SBUS signal loss) and throttle-low failsafes.

Tuning & Behavior

  • Default Value: 1.0 second
  • Range: 0.5 to 10.0 seconds
  • Recommendation:
    • Standard Flight: Keep at 1.0s. This is the best balance of safety and robustness.
    • Long Range: You might increase this to 2.0s or 3.0s if you are flying near the limit of your radio range where "telemetry lost" warnings are frequent.
    • Racing: Set to 0.5s for the absolute fastest response in a crash or signal loss.

RC_OPTIONS

Default 32
Range 0 16383

RC options (RC_OPTIONS)

Description

RC_OPTIONS is a bitmask used to enable specialized behaviors for your radio control link. It handles things like MAVLink overrides, Link Quality (LQ) sensing, and protocol-specific tweaks.

Key Bits:

  • Bit 0 (1): Ignore RC Receiver. Effectively disables the radio input.
  • Bit 1 (2): Ignore MAVLink Overrides. Prevents GCS or companion computers from injecting "fake" RC signals.
  • Bit 5 (32): Arming check throttle for 0 input. (Enabled by Default). Requires the throttle to be zeroed before the drone will arm.
  • Bit 13 (8192): Use 420kbaud for ELRS. Required for standard ExpressLRS setups on modern flight controllers to avoid synchronization errors.

The Mathematics

$$ \text{Active Options} = \sum 2^i \cdot b\_i $$

The Engineer's View

Defined in RC_Channels_VarInfo.h.
Commonly set during initial configuration. For example, many ExpressLRS users will have RC_OPTIONS set to 8192 (Bit 13) or 8736 (Bits 5, 8, 9, 13).

Tuning & Behavior

  • Default Value: 32 (Arming check for 0 throttle).
  • Recommendation:
    • ELRS Users: Ensure Bit 13 (8192) is set.
    • Joystick Users (GCS): Ensure Bit 1 (2) is NOT set, otherwise MAVLink joysticks won't work.
    • Companion Computers: If your drone is controlled via Python/ROS, you might want to set Bit 1 (2) to ensure the radio doesn't override your script during autonomous flight (or vice-versa).

RC_OVERRIDE_TIME

s
Default 3.0
Range 0 120

RC Override Timeout (RC_OVERRIDE_TIME)

Description

RC_OVERRIDE_TIME is a safety timer for GCS/Companion Computer control.

If you control your drone using a Joystick plugged into Mission Planner, or via a Python script sending RC_CHANNELS_OVERRIDE messages, this timer determines what happens if that computer crashes or the telemetry link dies.

  • 3.0s (Default): If no override message is received for 3 seconds, the autopilot ignores the stale overrides and gives control back to the physical RC Receiver.
  • 0.0: Overrides are ignored immediately (effectively disables overrides).
  • -1.0: Infinite timeout. The drone will hold the last received command forever (Danger!).

The Mathematics

$$ \text{Active} = (t\_{now} - t\_{last\_msg}) < \text{RC\_OVERRIDE\_TIME} $$

The Engineer's View

Defined in RC_Channels_VarInfo.h as _override_timeout.
This timeout applies to all channels simultaneously.

Tuning & Behavior

  • Default Value: 3.0s
  • Recommendation:
    • Joystick Flying: Set to 1.0s for faster safety handover if the link drops.
    • Companion Computer: Set to 0.5s to ensure the drone doesn't "hang" on an old command if the script crashes.

RC_PROTOCOLS

Default 1
Range 0 4294967295

RC Protocols Mask (RC_PROTOCOLS)

Description

RC_PROTOCOLS tells the autopilot which languages to listen for on the RC Input pin.

By default, ArduPilot scans for All (1) known protocols (SBUS, DSM, PPM, CRSF, etc.). This makes setup easy but can cause CPU load or false detections. If you know exactly what receiver you are using, you can disable the others to speed up the detection process and prevent glitches.

  • Bit 0 (1): All Protocols (Default).
  • Bit 1 (2): PPM.
  • Bit 2 (4): IBUS.
  • Bit 3 (8): SBUS.
  • Bit 4 (16): SBUS Non-Inverted.
  • Bit 5 (32): DSM / Spektrum.
  • Bit 6 (64): SUMD.
  • Bit 7 (128): SRXL.
  • Bit 8 (256): SRXL2.
  • Bit 9 (512): CRSF (Crossfire / ELRS).
  • Bit 10 (1024): FPort.

The Engineer's View

Defined in AP_RCProtocol.
The autopilot runs a state machine that samples the input pin. If RC_PROTOCOLS has Bit 0 set, it iterates through all available backend decoders. If you specify a single bit (e.g., 512 for CRSF), the loop skips the other decoders, saving CPU cycles and reducing the chance of a "ghost" signal being detected on a noisy line.

Tuning & Behavior

  • Default Value: 1 (All).
  • Recommendation:
    • ExpressLRS / Crossfire: Set to 513 (All + CRSF) or just 512 (CRSF only) if you want to be strict.
    • SBUS: Set to 8.
    • Ghosting: If your servos twitch randomly, try disabling "All" and selecting only your specific protocol bit.

RC_SPEED

Hz
Default 490
Range 50 490

RC output speed in Hz (RC_SPEED)

Description

RC_SPEED determines how often the flight controller sends a new position update to your ESCs and servos when using standard PWM signaling.

  • Standard Servos: Usually require 50Hz. Higher values can burn them out.
  • Digital Servos: Can often handle 250Hz - 330Hz.
  • Standard ESCs: Usually run at 490Hz for fast response.

Note: This parameter has no effect if you are using digital protocols like DShot. DShot speed is determined by MOT_PWM_TYPE and the main loop rate.

The Mathematics

The frequency $f$ in Hz determines the period $T$ between pulses:
$$ T = \frac{1}{f} $$

At 490Hz, a new command is sent every 2.04 milliseconds. At 50Hz, a command is sent every 20 milliseconds. Lower period (higher frequency) means lower latency and better stabilization.

The Engineer's View

Used during the hardware initialization of the PWM timer groups.
On most boards, outputs are grouped (e.g., Pins 1-4 share a timer). If you set RC_SPEED to 490Hz for your motors on Pin 1, any servo connected to Pin 4 must also be able to handle 490Hz. If it can't, you must move the servo to a different timer group.

Tuning & Behavior

  • Default Value: 490 Hz (Optimized for multicopter ESCs)
  • Recommendation:
    • Multicopters (Standard ESCs): Keep at 490Hz.
    • Planes (Analog Servos): Set to 50Hz.
    • Helicopters (Digital Cyclic Servos): Set to 125Hz or 250Hz (check servo specs).