• Ready for review
  • 6.1 Setting up the Flight Controller

    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:

    The CleanFlight Configurator (CFC) Welcome page

    Connecting to the Flight Controller (FC)

    1. Unplug the battery from your drone

      1. IMPORTANT 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

      Before “connect”
      1. select the correct connection port

        • Note 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 default 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.

    IMPORTANT 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.

    • IMPORTANT During flashing, do not press the “Connect” button in CFC.

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

     

    Different FC versions

    NOTE 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 1 (ACRO) and 2 (OSD)

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

      1. check 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. 1 For the ACRO version, hold the “BOOT” button while connecting the FC to base station

        1. 1 Once connected, one could release the boot button

        2. 1 check there is no red blinking LED. On the ACRO version, there is a solid blue LED

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

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

        2. 2 check 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. check The progress bar should look like “Loaded Local Firmware: (… bytes)”

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

      1. check 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. Check Verify the red blinking LED is back on

      2. Check Click “Connect” and verify the firmware version is correct


    Troubleshooting

    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.

    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.

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

    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.