After I finish soldering a new copter or make a significant change, like updating the flight controller firmware, I always have to review the remaining setup steps to ensure a safe first flight.

I've documented them here for my own record keeping. Leave comment if you have a suggestion how to improve!

Copter configuration checklist

  • Flash latest BlHeli to ESCs
  • Configure ESCs
  • Before updating the flight controller firmware, open the CLI and run the DUMP command. Copy the output into one side of the https://www.diffchecker.com/

  • Flash latest version of BetaFlight to flight controller

  • Now open the CLI and run DUMP again. Copy and paste the output into the other side of the diffchecker. Now compare the two sides and copy any changes you want to keep into a new document. Run these changes to update settings in the CLI.

  • On the main settings page in the Configurator, calibrate the accelerometer. Calibrate the magnetometer too, if you have one.

  • Check flight control board orientation. Open the configuration tool, connect to the quadcopter and make sure that when you tilt the drone, the model drone in the configuration tool matches. If it tips the wrong way, set set align_board_yaw = 90 or however many degrees the board is rotated.
  • Check rc midpoints and endpoints: 1500, 1000-2000

    • Adjust them on the radio if incorrect. Ensure that no channel falls outside of the valid range defined in:
    set rx_min_usec = 885
    set rx_max_usec = 2115
  • Turn down min_check and up max_check

    set min_check = 1040
    set max_check = 1980
    • I use arm via switch, so I don't need these at all, I just turn them all the way down
  • Configure aux channels -- arm via switch, etc.

  • Turn off arm on switch kill switch

    • This means the motors will not be turned off even if the arm-switch is turned off, unless the throttle is at 0

    • It helps prevent falling out of the sky as one more step (throttle down) is required before killing the motors

  • Calibrate ESCs
  • Set failsafe

    • There are 2 failsafe stages

      • Stage 1 handles momentary loss of signal, up to the default of 1.5 seconds, defined by failsafe_delay

        • All channels are set to whatever you've defined via rxfail

        • I use the defaults, except for the throttle channel, which will get set to 0 by default. I change that to hold the last value with rxfail 3 h

      • Stage 2 handles loss of signal after the failsafe_delay has expired

        • In this stage, the more traditional CleanFlight failsafe mode will kick in at put the quad in autolevel mode, put your throttle at failsafe_throttle for failsafe_off_delay seconds
    • Check failsafe

    • Turn on your quad, I do this with props on so I can check autolevel. Do this at your own risk.

    • Hold your quad. Safety glasses are pry a good idea. Arm the quad and throttle up beyond failsafe_throttle. Turn off your transmitter.

    • Watch the quad continue (Stage 1) for 1.5 seconds, then it should throttle down and go into autolevel mode. Wait for the copter to stop, turn the TX back on and try to arm. It shouldn't work. Turn everything off.

  • Fly