Loading Firmware Onto Development Board
Loading Firmware Onto Development Board
Copter
» First Time Setup » Loading Firmware onto boards without exis ng ArduPilot firmware
Edit on GitHub
Introduc on to Copter
ArduPilot now uses the ChibiOS opera ng system for all autopilots, including the many smaller
Choosing an Autopilot boards targeted for mul copter racing applica ons.
Ground Control Sta ons
O en, these boards have another autopilot so ware pre-installed. (If the board has ArduPilot
First Time Setup
already installed, see Loading Firmware for firmware loading instruc ons.)
Install Ground Sta on So ware
Instruc ons for ArduPilot using ChibiOS to Pixhawk autopilots can be found here.
Beta
Prior to Stable releases, a Beta version or versions get released. These may be used if you wish to
try newer features or help the developers further flight test the code. Since they are “beta”
versions, there possibly s ll may be bugs (although this is possible even in Stable firmware).
However, it has been tested by the development team, and already flight tested. This release allows
a wider user base to final test the firmware before its release as Stable . Experienced ArduPilot
users are encouraged to test fly this firmware and provide feedback.
This reflects the current state of the development branch of the ArduPilot code. It has been
reviewed by the development team, passed all automated test suites, and in most cases, if
significant changes have been made, test flown. This code gets built daily and is available for tes ng
by experienced users. This corresponds to an “alpha” release, and may have bugs, although very
rarely “crash inducing”. Very shortly a er an addi on that changes or introduces a feature is added,
the Upcoming Features sec on of the Wiki is updated with informa on about the addi on or
change.
You may now reboot the board and connect with your favourite ground sta on (Mission Planner,
QGC, etc) and future firmware uploads should also be possible using the normal method for
Pixhawk boards.
Alternate method
Download and run Zadig (search for “Zadig 2.3” just below “Download”) to allow accessing the
board using USB.
Choose “List all devices” op on from op ons menu
Select “STM32 BOOTLOADER” from the drop-down and press the “Replace Driver” bu on
Op onally, you may wish to check the board is visible as a USB port:
Hold down the board’s DFU bu on and plug in a USB cable (a ached to your PC)
Open the windows device manager and look under “Universal Serial Bus devices” for
“STM32 BOOTLOADER” to confirm that the board is in DFU mode.
Download the ArduPilot firmware for your board from firmware.ardupilot.org. You can normally
find the appropriate firmware by doing the following:
open firmware.ardupilot.org
select click on the link for your vehicle type (i.e. Plane, Copter, Rover, Sub or Antenna
Tracker)
select “beta” or “stable”
look for the directory with the name that most closely matches the autopilot
download the “arduXXX_with_bl.hex” file clicking on it. It will usually be saved in your
Downloads folder.
You may now reboot the board and connect with your favourite ground sta on (Mission Planner,
QGC, etc) and future firmware uploads should also be possible using the normal method for
Pixhawk boards.
The SPRacing series of boards come pre-installed with a proprietary bootloader on the internal
flash and require the use of a second stage bootloader to load further firmware. There are a couple
of op ons to load firmware with these boards, but whichever op on you choose you will need to
ini ally load ArduPilot using SSBL. Please follow the “INSTALLATION” instruc ons at
h ps://github.com/spracing/ssbl in order to load SSBL onto your board. Once SSBL is loaded please
follow the PX4 instruc ons to load ArduPilot onto the board h ps://github.com/spracing/ssbl#px4-
installa on-to-external-flash but instead of using PX4 firmware please use the arducopter.bin
firmware image. A summary of the steps follows:
Put the board into SSBL dfu mode - power off, hold BIND (not BOOT), power on - LED flashes
fast, release BIND, LED flashed slow - DFU mode enabled
Flash the binary using
Verify the flash. The dfu-u l command below copies the contents of the flash back to the
computer, the diff command will tell you if the contents are iden cal or different. Do not
a empt to fly if diff doesn’t say the files are iden cal - retry.
Power off, install an SD card (.note: you must install an SD card, the firmware will not boot
without it), power on
Configure the board as normal using Mission Planner
At this point you should have working firmware on the board. If you want to load new firmware you
will need to follow steps 2-7 again (you cannot use Mission Planner to load firmware). If you are
certain that you will never want to load betaflight on the board then you can install the ArduPilot
bootloader.
Warning
installing the ArduPilot bootloader is a one-way opera on. You cannot restore the board to
factory configura on or load betaflight a er this step - you would have to return the board to
Seriously Pro to be re-flashed with factory firmware, assuming that is possible
If you are certain that you only want to use ArduPilot on the board, then flashing the ardupilot
bootloader enables much simpler subsequent upgrades.
You must ini ally have a working version of ArduPilot installed on the board - follow the steps
above.
You now must remove the copy protec on on the internal flash. This is a destruc ve opera on
requiring complete erasure of the flash. ArduPilot provides support to make this easy. Set
BRD_OPTIONS = 16.
Power off and power on the board. The board will not appear to boot but the flash sector is
being erased. Wait a few seconds and then power off the board.
Hold down the boot bu on (boot not bind this me) and power on the autopilot. This will put
the board in dfu mode.
Download the ArduPilot bootloader, e.g.
h ps://github.com/ArduPilot/ardupilot/blob/master/Tools/bootloaders/SPRacingH7_bl.bin
Install the bootloader via dfu:
Previous Next
Ques ons, issues, and sugges ons about this page can be raised on the forums. Issues and
sugges ons may be posted on the forums or the Github Issue Tracker.