Class 20 · Betaflight setup · bench checks & troubleshooting

Drone Soccer Betaflight School

From plugging in your drone for the first time to fixing "it won't arm" on match day. Start with module 1, Safety first, then watch the lesson and work through the rest. Menu names here follow recent Betaflight versions; if yours looks different, ask your coach.

Course progress0 / 10

No battery in the drone for Betaflight work. You set up the drone over USB only. Without a battery the motors can't spin, so props can stay on. Batteries stay with your coach.

Betaflight App Connect FC Calibrate Accelerometer YOUR DRONE (side view) MODEL ON SCREEN nose → ARMING DISABLE FLAGS
0:00 / 1:30
Basic15 minRequired first

1. Safety first

Betaflight can spin your motors from a laptop, but only when a battery is plugged in. USB powers the flight controller and receiver, not the motors. That's why you do all your setup over USB with no battery, every single time, with your coach or another adult in the room.

Team rule: no battery in the drone for Betaflight work

You connect the drone with a USB cable only. Batteries stay with your coach, and you never plug in or unplug a drone battery.

  • With USB only, the motors have no power, so the props can stay on while you work.
  • Everything in this course works over USB. Nothing here needs a battery.
  • If you see a battery plugged into a drone at the laptop, stop and tell your coach.
  • This applies to quick fixes at tournaments too.

Motors and props

A 20 cm drone's props spin fast enough to cut skin. With USB only and no battery, the motors have no power and can't spin, which is why the props can stay on while you work.

Batteries

Batteries stay with your coach. You never plug in or unplug a drone battery, and none goes in while the drone is connected to Betaflight.

Arm switch

Keep the arm switch off unless a step asks you to flip it. Know which switch arms your drone before you touch the radio.

Flight tests

Props go back on only at the cage, with the cage closed and everyone outside it. First hover after any setting change is low and short.

Before every bench session

  1. Coach is in the room.
  2. No battery in the drone or on the bench. Your coach has them.
  3. Arm switch off on the radio.
  4. Backup saved before you change anything (module 2).
Basic20 minWatch the lesson

2. Connect and back up

Betaflight's setup tool is the Betaflight App at app.betaflight.com. It runs in Chrome or Edge and can be installed for offline use. Starting with firmware 2025.12, app and firmware versions match, so use the online app with current firmware.

  1. Check there's no battery plugged in. Then plug the USB cable into the flight controller and the laptop.
  2. Pick the port and click Connect. If the drone isn't listed, use the option to add a new device and pick it in the browser's prompt.
  3. Note the firmware version and board name on the drone's tag.
  4. Turn on Expert Mode so no settings are hidden.
  5. Back up. Open the CLI tab, type diff all, press Enter, then click Save to File. Name it with your name, drone and date.
Nothing changes until you save. Each tab has a Save or Save and Reboot button. In the CLI, changes only stick after you type save. To restore a backup on the same firmware version, paste the file into the CLI and type save.
ProblemTry this
No port appearsUse a cable you know carries data (many are charge-only), try another USB port, allow the device in the browser prompt.
Windows still can't see itInstall the STM32 VCP driver, or run ImpulseRC Driver Fixer.
Linux can't open the portAdd your user to the dialout group, then log out and back in.
Connects, then dropsClose other Betaflight windows; reseat the cable at the flight controller.
Basic20 minInteractive

3. Calibrate and align

The 3D model on the Setup tab must copy every move your drone makes. If it doesn't, Angle mode levels to the wrong horizon and the drone may flip on takeoff.

Calibrate the accelerometer: set the drone on a flat, level surface, don't touch it or the table, and click Calibrate Accelerometer. Roll and pitch should read within about 1° of zero. A soccer cage can rock, so prop it until the frame plate is level, not the cage. Recalibrate after a crash that bends the frame or after moving the flight controller.

Check the model: tip the nose down, roll the right side down, and turn the drone clockwise. The model should do the same each time. If it moves the wrong way, the flight controller is mounted turned. Fix it in the Configuration tab under Board and Sensor Alignment by setting Yaw to match the way the board's arrow points (usually 90, 180 or 270), then save, reboot and recalibrate.

Alignment trainer

Choose how the flight controller is mounted and what alignment Betaflight is set to, then tilt the drone. Find the setting that makes the model match.

Tilt your drone

Basic20 min

4. Receiver and radio

When this module is done, every stick and switch on your radio moves the right bar in the Receiver tab, in the right direction, across about 1000 to 2000. Most "won't arm" problems in a new team come from this step.

Your receiverPorts tabReceiver modeProvider
ExpressLRS built into the flight controllerNothing to changeSPI Rx (built-in)ExpressLRS
ExpressLRS or Crossfire wired to a UARTSerial Rx on that UARTSerial (via UART)CRSF
SBUS receiverSerial Rx on that UARTSerial (via UART)SBUS
FlySky IBUS receiverSerial Rx on that UARTSerial (via UART)IBUS
  1. Bind. On ExpressLRS, give the radio and the receiver the same binding phrase. A solid receiver light usually means linked.
  2. Check each stick. Roll, pitch, yaw and throttle each move their own bar. If two are swapped, set the Channel Map; AETR1234 is the default and matches most radios.
  3. Check directions. Stick right, stick forward and throttle up should all raise the value above 1500. Reverse a channel in the radio if it goes the other way.
  4. Check the ends. Centered reads about 1500; full travel about 1000 and 2000. Fix endpoints in the radio.
  5. Throttle bottom below 1050. Otherwise Betaflight refuses to arm.
  6. Write down your switches. Flip each one and note which AUX bar moves. On ExpressLRS, the arm switch goes on channel 5 (AUX1).
Receiver on a UART? Its TX wire goes to the flight controller's RX pad, and RX to TX. Swapped wires are the top cause of "no signal". Leave MSP on for USB in the Ports tab so the app can keep talking to the drone.
Basic25 minInteractive

5. Arming, angles and Angle mode

Three different "angle" settings matter to a new pilot. Beginners and most drone soccer play use Angle mode.

SettingWhereWhat it doesFor class
Maximum arm angleConfiguration tab, ArmingWon't arm if the drone is tilted more than this. Shows as the ANGLE flag.Keep the default, 25°
Angle modeModes tabDrone levels itself when the sticks are centeredOn for every beginner flight
Angle limitPID Tuning tab or CLI angle_limitHow far the drone leans at full stick in Angle modeLower for first flights; raise in steps of 5

Set up the Modes tab with the radio on: add a range for ARM on your arm switch (AUX1) so the yellow marker sits inside it only when the switch is on. Add ANGLE on a second switch, or stretch its range across the whole bar so it's always on for first sessions. Add BEEPER on a switch to find a lost drone. Save, then flip each switch and watch its mode light up.

With no flight mode on, the drone flies in Acro mode and won't level itself. That's why always-on Angle mode is safer for beginners. Type get angle_limit in the CLI to see your current limit, because defaults differ between versions.

Arming simulator

Set up the drone the way it sits on your bench and see which arming flags Betaflight would show. Clear every flag to arm.

SETUP TAB · ARMING DISABLE FLAGS
    Intermediate20 min

    6. Motor and failsafe settings

    SafetyUSB only, no battery. Everything in this module is a setting or a check you can do with the motors unpowered. Anything that needs a battery is not part of Betaflight work.

    Motor protocol: in the Configuration tab, pick DShot300 or DShot600. DShot lets the motor direction be changed in software and makes turtle mode possible. If the drone's motors are meant to spin the opposite way from the table below, turn on Motor direction is reversed there too. Save and reboot.

    Know your motor map. Betaflight numbers the motors like this. You need it to put the right props on the right motors.

    MotorPosition (nose forward, seen from above)Default spin
    1Rear rightClockwise
    2Front rightCounter-clockwise
    3Rear leftCounter-clockwise
    4Front leftClockwise

    Failsafe: for caged flying, set the Failsafe tab's Stage 2 procedure to Drop, so the motors stop if the radio link is lost. Save.

    Check the link loss over USB: with the radio on and the Receiver tab bars moving, turn the radio off. Within about a second the bars should stop and the Setup tab should show RXLOSS or FAILSAFE. Turn the radio back on and the flag should clear. If the flag never appears, fix the receiver setup (module 4) before the drone flies.

    Spinning motors needs a battery. Checking that each motor is in the right place and spins the right way is not part of this course. Tell your coach if you've changed motor or ESC settings, so the drone is checked before it flies.
    Intermediate15 min

    7. Rates and feel

    Leave PID values at the drone maker's or Betaflight's defaults. Beginners change rates and throttle feel, not PIDs. Most "bad tune" complaints are really bent props, loose screws or a cracked frame.

    PID Tuning sub-tabWhat it changesTouch it?
    PID Profile SettingsHow hard the drone fights to do what you askedNo, unless your coach asks
    Rateprofile SettingsHow fast it turns at each stick position, and throttle feelYes
    Filter SettingsNoise filteringNo
    • Lower max rate on roll, pitch and yaw so full stick turns slower. The preview shows degrees per second.
    • Throttle limit in Rateprofile Settings caps top speed, for example at 80%, in a crowded cage.
    • Throttle mid and expo: set mid near the stick position where the drone hovers and add a little expo to make hovering easier.
    • Keep a second rate profile for stronger pilots.

    Never paste PID values from the internet onto a different drone. If a change makes things worse, restore your module 2 backup.

    Intermediate1–2 hrs bench time

    8. Bench drills

    SafetyRun the module 1 checklist at the start of every session. Every drill is done over USB with no battery.

    Do these on your own drone with your coach. Check each one off as you pass it; the module completes when all eight are done.

    Intermediate20 min

    9. Troubleshooting

    When a drone won't arm, Betaflight already knows why. Read the flags in the Setup tab, or type status in the CLI and read the last line. With no computer, count the beeps when you flip the arm switch: the flag number is 5 × long beeps + short beeps.

    FlagMeansFix
    MSPConnected to the appNormal on USB
    CLICLI tab is openLeave the CLI tab
    RXLOSSNo radio signalRadio on, bound, right port and provider (module 4)
    FAILSAFEFailsafe activeRestore the link, flip the arm switch off and on
    THROTTLEThrottle not at the bottomStick down; must read below 1050
    ANGLETilted past the max arm angleSet it level
    ARMSWITCHArm switch was on at power-upSwitch off, then on
    CALIBGyro still calibratingKeep it still a few seconds after power-up
    ACC_CALIBAccelerometer needs calibratingCalibrate on a level surface (module 3)
    BADRXReceiver data looks wrongCheck provider and wiring; rebind
    NOPREARMA prearm switch is set up and offFlip prearm first, or remove it in Modes
    RPMFILTERNo RPM data from the ESCUse bidirectional DShot only with supporting ESC firmware
    MOTOR_PROTONo motor protocolPick DShot in Configuration
    REBOOT_REQDChange needs a rebootSave and reboot
    RUNAWAYRunaway takeoff detectedCoach unplugs the battery; then check motor order, direction, props
    SymptomMost likely causeFix
    Flips or shoots sideways on takeoffMotor order, direction, props on wrong motors, or board alignmentModule 3 check; tell your coach so motor order, direction and props get checked
    Drifts in Angle modeRadio trims, accelerometer not calibrated, bent propCenter trims, recalibrate level, check props; accelerometer trims last
    Receiver bars don't moveWrong port or provider, not bound, TX/RX swappedModule 4
    Stick moves the wrong barChannel mapAETR1234 in radio and Betaflight
    Settings gone after rebootNot savedPress Save, or type save
    Shakes in a hover, motors hotDamaged props, loose screws, cracked frameMechanical checks before any tuning
    Assessment10 min

    Final check

    Answer all of these correctly to finish the course. Wrong answers can be retried.