Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The flight controller (FC) implements several low-level behaviors, e.g., stabilizing the Duckiedrone around roll, pitch, and yaw through three different PID controllers. Correctly configuring the FC is critical for flying safely.

Installing Cleanflight Configurator (CFC)

Cleanflight configurator is an app that allows the base station to connect directly to the FC and access its configuration interface.

Steps:

Connecting to the Flight Controller (FC)

  1. Unplug the battery from your drone

    1. Status
      colourRed
      titleIMPORTANT
      double-check the battery is unplugged

  2. Disconnect the Raspberry Pi from the FC

  3. Connect the mini USB cable from your FC to your base station

  4. In CFC (see last section), on the top right corner

    1. select the correct connection port

      • Status
        colourYellow
        titleNote
        Details might vary depending on available connections on your base station. The correct port should start with: /dev/tty.usbserial* /dev/cu.usbserial* or /dev/ttyUSB*

    2. Leave the baud rate (number) at the

      Status
      colourGreen
      titledefault
      value of 115200

  5. Press the “Connect” button and a “Setup” page should greet you with a rendering of your drone (see figure below). Before configuring anything, please read the next section and flash the firmware.

Checking the existing firmware version

On the top left of the CFC interface, one could check for the Firmware version. For example, in the figure below, the firmware version of the FC is BTFL 3.3.3.

Status
colourRed
titleIMPORTANT
Regardless of the firmware version, if it is the first time setting up the FC, we recommend performing the below flashing procedure once anyways in order to start from a clean state.

Prepare for flashing the FC firmware

  • If the CFC is still connected to the FC, please press the “Disconnect” button on the top right.

  • In the default Welcome page of CFC, in the left sidebar, please click on the Firmware Flasher tab

  • Configure the options in the tab as below:

Updating the FC firmware (Flashing the FC)

FCs might have different versions of firmware (i.e., the software that runs on the FC’s micro-controller) out of the factory. Normally, this only needs to be done once initially. Follow this procedure to update your firmware.

  • Status
    colourRed
    titleIMPORTANT
    During flashing, do not press the “Connect” button in CFC.

  • Status
    colourBlue
    titleFACt
    Our current target firmware is: BTFL 3.3.3 (Download the .hex file below to your base station)

View file
namebetaflight_3.3.3_SPRACINGF3.hex

Different FC versions

Status
colourYellow
titleNOTE
There are currently 2 types of FC hardware. Use the steps corresponding to your hardware. Videos for both hardware versions are provided later in the document.

Version

Picture and key features to notice for this section

ACRO

  • There is a micro USB port soldered on the board

  • (In the figure blow, on the bottom right of the board ) There is a “BOOT” button.

OSD

  • There is no micro USB port

  • As highlighted, the Boot pins are exposed near the “BO”marking.

Flashing the FC

The videos to flash respectively the ACRO version and the OSD version of FCs are below in this section. A summary is provided here. Most operations are the same with both versions, and any version-wise operations are highlighted with

Status
colourPurple
title1
(ACRO) and
Status
colourYellow
title2
(OSD)

  1. Normally, when connected to the base station, the FC goes in Normal mode

    1. Status
      colourGreen
      titlecheck
      there is a red blinking LED

    2. unplug from base station

  2. To flash the firmware, we would like the FC to be in Bootloader mode instead

    1. Status
      colourPurple
      title1
      For the ACRO version, hold the “BOOT” button while connecting the FC to base station

      1. Status
        colourPurple
        title1
        Once connected, one could release the boot button

      2. Status
        colourPurple
        title1
        Status
        colourGreen
        titlecheck
        there is no red blinking LED. On the ACRO version, there is a solid blue LED

    2. Status
      colourYellow
      title2
      For the OSD version, use some conductive metal tool to short the “Boot pins” (as highlighted in the previous section)

      1. Status
        colourYellow
        title2
        Once connected, once could take the pin-shorting material/tool away

      2. Status
        colourYellow
        title2
        Status
        colourGreen
        titlecheck
        there is no red blinking LED. On the OSD version, there is no LED on now.

  3. In the CFC Firmware Flasher tab, click the Load Firmware [Local] button (bottom right), and select the .hex file downloaded at the beginning of this section.

    1. Status
      colourGreen
      titlecheck
      The progress bar should look like “Loaded Local Firmware: (… bytes)”

  4. Click the Flash Firmware button (bottom right) and check the progress bar.

    1. Status
      colourGreen
      titlecheck
      The progress bar shows: “Flashing…” => “Verifying…” => “Programming SUCCESSFUL”

    2. In case the progress bar turns red, see the Troubleshooting section below

  5. If successful, without needing to reconnect the cable, the FC should go back to the Normal mode.

    1. Status
      colourGreen
      titleCheck
      Verify the red blinking LED is back on

    2. Status
      colourGreen
      titleCheck
      Click “Connect” and verify the firmware version is correct

FC(with microUSB) flash firmware.mp4
FC(external microUSB) flash firmware.mp4

Troubleshooting

Expand
titleThe OSD version of FC does not enter Bootloader mode

It is tricky to jump the exposed Boot pins. Try applying a bit of force when pressing on the pins. If possible, also try verifying they have actually been jumped with a multi-meter.

Expand
titleThe progress bar turns red and shows “No response from the bootloader, programming: FAILED”

It might happen when, on the Firmware Flasher tab, the Flash Firmware button is clicked. This is likely due to the FC not being in Bootloader mode. Please double check the indicators of that mode in the section above.

Expand
title"Flashing..." started, but progress bar turns red with a "Timeout" error.

It might happen during “Flashing…” or “Verifying…”. Click the Flash Firmware button and try again

Expand
titleOther issues or above does not resolve the problem

We’re happy to support! Please contact our hardware team via email: hardware@duckietown.com


You now have the updated flight controller firmware! Connect to it in Normal mode and we will configure it next.