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.

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.

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.

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/Atom and OPLM)

Version 5 - Added better F4 processor support (Revo and OSD)

The bootloaders for CopterControl (CC), CopterControl3D (CC3D), Atom, 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.

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.

FAQs

The firmware (FW) is the application to be loaded by the bootloaderafter 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 bootloaderwith the new bootloader which it contains. This approach is required because the bootloadercan'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.