Bootloader Update

Content


 

Introduction

The bootloader is a small piece of software resident on the flight controller which is started as soon as the board is powered. It performs hardware checks and loads and executes the firmware. It also handles the USB port to communicate with GCS to support bootloader and firmware updates. 

You can check the version of the bootloader installed on any OP board to make sure it is the most up-to-date version and upgrade the bootloader software if required.

Icon

Upgrading the bootloader can be tricky. If something goes wrong, you may render the flight controller inoperable. Happily, almost all bad mistakes can be rectified via the methods described on the "How to" sub-pages to this one.


 

How to Check the Bootloader Version

The bootloader version is shown when the flight controller is in boot mode. You can enter boot mode by:

  • using either the Halt option or,
  • by using Rescue

Either method will reveal the bootloader version on your board and both methods are explained below.

Icon

Halt Option

  • Connect the flight controller to GCS via USB and open the Firmware page.
  • On the Firmware page, click Halt.

Once the board is halted, the bootloader (BL) version of the board is shown.

Click Boot to restart the flight controller once you have noted the bootloader version.

 

Icon

Rescue Method

  • Ensure that the flight controller is not connected to GCS via USB.
  • Click Rescue and connect the flight controller via USB when prompted.

Click Rescue and when the prompt below appears, connect the flight controller via USB

When the board is connected, its bootloader (BL) version is shown.

Click Boot to restart the flight controller once you have noted the bootloader version.


 

OpenPilot Downloads

Bootloader Versions

  • Version 1 - First bootloader version which was loaded onto all CopterControl boards.
  • Version 2 - Safe boot capabilities were added to prevent the user from being locked out of the board due to a bad hardware configuration.
  • Version 3 - Added different USB serial numbers for bootloader and firmware. This helps Windows separate the two functions of the board by making it think there are two different boards connected. Twitching servo movement during the board start has been eliminated.
  • Version 4 - Added support for internal settings erasure so that no more special firmware is required; simply enter boot mode and click Erase Settings (CC/CC3D and OPLM)
  • Version 5 - Added better F4 processor support (Revo and OSD)


Icon

The bootloaders for CopterControl (CC), CopterControl3D (CC3D), Revolution (Revo), OPLink mini (OPLM) and On Screen Display (OSD) are available for download below.

All OP boards are different and require the appropriate bootloader to be installed, please ensure you download and use the correct version listed below.

Also note that you should have the appropriate GCS installed (in most cases, the latest version) on your PC when you flash the new bootloader so that the followup Auto Update you perform will automatically install the correct version of firmware that is embedded in the version of the GCS on your PC.

Icon

The PCB for CC or CC3D boards should have "CopterControl" or "CC3D" printed clearly on the board. This indicates which bootloader needs to be flashed to the board.

Version 3 bootloaders can only be used with GCS versions 12.10.2 or older.
Version 4 bootloaders can only be used with GCS versions 13.06.01 and newer.

Bootloader Updater Files

BoardBL VersionBootloader UpdaterNote
CC3bu_coptercontrol-20120630_5a1efef3.opfwFor use with GCS 12.10.2 and lower
CC3D3bu_CC3D-20120620_f44b9d3.opfwFor use with GCS 12.10.2 and lower
CC4CC V4 bu_cc.opfwFor use with GCS 13.06.01 and higher
CC3D4CC3D V4 bu_cc3d.opfwFor use with GCS 13.06.01 and higher
Revo5Revo V5 bu_revolution.opfwFor use with GCS 13.06.01 and higher
OPLMini4OPLM bu_oplinkmini.opfwFor use with GCS 13.06.01 and higher
OSD5OSD bu_osd.opfwFor use with GCS 13.06.01 and higher

 


 

How to Upgrade the Bootloader and Erase Settings

If it is necessary to upload the bootloader, strictly follow these instructions:

  • Download the appropriate bootloader (ie CC3D - BL4 or Revo - BL5) and save it to your hard drive where you can find it again
  • Using the Firmware workspace in GCS, and with the board disconnected from USB, click Rescue and follow the onscreen instruction to connect the board
  • After the board is detected, click Open and select the BootloaderUpdater (BU) file from where you saved it on your hard drive 
  • Click Flash to flash it to your board
  • After the flashing is complete, press Boot and wait until the blue LED is on, then flashes, and finally goes off (normally ±15 seconds).
  • Wait 10 seconds more.
  • Disconnect the board from USB.
  • Click Rescue, connect board & click Erase Settings and wait for erase to complete
  • Disconnect the board from USB.
  • Click AutoUpdate and follow the onscreen instruction to connect the board to automatically install firmware.


 

LED Behavior

  • A slowly blinking blue LED indicates that the board is booted and running the firmware; this is the normal operating mode.


  • Bootloader mode.
    A slow fading in and out of the blue LED with the green LED on indicates that the board is in bootloader mode.


  • A rapidly blinking blue LED during a bootloader update indicates an error state. An invalid bootloader image was likely detected and the update hasn't been performed.

 

Step-by-Step Video

Forum member Goobs has an instructional video showing how to check bootloader versions on OpenPilot flight controllers. This is the way to determine if bootloader updating is required or not.

 

 

FAQs


 

 What's the difference between firmware, bootloader (BL) and bootloader updater (BU)?

The firmware (FW) is the application to be loaded by the bootloader after the board has been powered up and initialized. The firmware is regularly updated and newer firmwares typically include new features and bug fixes. The firmware and GCS version must match in order to be able to configure the board.

The bootloader (BL) is a small piece of software which is started as soon as the board is powered up. Every board ships with a bootloader preloaded and is not normally required to be upgraded by the user.

The bootloader updater (BU) is a special firmware which is loaded by the current bootloader and replaces the old bootloader with the new bootloader which it contains. This approach is required because the bootloader can't erase and overwrite itself.

 The bootloader version isn't updated after the update.

There is a built in check that prevents the user from updating the bootloader with an incompatible version. If the blue LED blinks rapidly and continuously during the upgrade process, the updater is in an error state. Reboot the board and repeat the process using the correct bootloader updater.

  • No labels