Welcome to LibrePilot/OpenPilot Wiki

LibrePilot/OpenPilot User Manual

Downloading and Installing Ground Control Station

LibrePilot

You can use the LibrePilot Ground Control Station (GCS) both to configure your controller board and to control and monitor your aircraft during flight. More commonly, you would use a conventional radio control transmitter to control your vehicle, but the GCS is also capable of doing so.

LibrePilot GCS is currently available for the Windows, Mac, and Linux operating systems.

Downloading the GCS installer

The first step is to download the appropriate GCS installer. Using the release table below, select the Download Link that corresponds to your computer’s operating system.

If updating from a previous release, you may wish note the current settings for your vehicle first by creating a .UAV file or taking screenshots of vehicle settings.

Important

The software on this page comes with no warranty. Use it at your own risk and please be careful!

Visit the LibrePilot forums if you have questions and/or suggestions. Extensive documentation about how the system works and how to install and configure it is available in the LibrePilot wiki and here.

Latest version can be found here: https://librepilot.atlassian.net/wiki/display/LPDOC/Downloads.

RELEASE – 15.09 – First LibrePilot Release - Supermoon Eclipse

This is the first LibrePilot release.

This version supports the CopterControl, CC3D, Atom, Revolution, Revolution Nano, Platinum GPS (V9) and OPLink Modems. The main focus of this release is to bring back support for CC3D and a general re-branding of the GCS.

Some key addition in this release:
  • Easytune : A TxPID feature for ‘offline’ tuning,
  • Improved motor scaling,
  • Different Acro+ factors for roll and pitch
  • Fixed wing: Roll differential and setup wizard improvements,
  • Import/Export and manage templates,
  • OSX fix for crashes running ‘El Capitan’,
  • ...

The full list of bug fixes and enhancements in this release is available here: 15.09 release JIRA list.

Windows

LibrePilot-15.09-win32.exe

Uninstall previous version first.

OSX

LibrePilot-15.09-osx.dmg

PPA for Ubuntu 15.04+

$ sudo add-apt-repository ppa:librepilot/release
$ sudo apt-get update
$ sudo apt-get install librepilot

Arch Linux

Available on the AUR or via repository by adding

[librepilot]
SigLevel = Optional TrustAll
Server = http://download.librepilot.org/repo/archlinux/librepilot/$arch

to /etc/pacman.conf.

Fedora

Repository available here.

Source code

Bootloaders

Bootloader Update

Installation of the GCS

Open the GCS installer file that you downloaded and follow these steps:

  1. Choose a language from the drop-down list on the first page, then click OK. (You can cancel installation at any point by clicking Cancel.)
  2. The LibrePilot Welcome screen appears. Click Next.
  3. Review the conditions of the license agreement and then click I Agree to accept the terms.
  4. You can select which components to install in the Choose Components dialog box. Click Next to accept the default selections.

Note

Note that the Mesa OpenGL driver may be required by older operating systems and is a required component for the GCS interface. If major elements of the GCS user interface fail to display, re-installation with selection of the Mesa OpenGL driver may help.

  1. You can specify where to install LibrePilot GCS in the Choose Install Location dialog box. Click Browse to choose a location or Install to install the software in the default location shown in the text box.

    Previous installations of the LibrePilot GCS were installed in the Documents and Settings directory on Windows machines. The latest default GCS location is the standard Program Files location on Windows machines.

  2. LibrePilot GCS installs on your computer. Click Next when installation is complete.

  3. If you have have chosen the default setup, Windows will now install the CDC driver for the Virtual Comm Port of your LibrePilot board.

Note

Note that the CDC driver is not required to connect and configure your LibrePilot board with the GCS. You need the CDC driver for Virtual Comm Port support.

  1. Click Finish to complete installation. (Clear the check box if you don’t want LibrePilot GCS to run immediately.)
  2. If you choose to run LibrePilot GCS immediately, click OK to load the default configuration file.
  3. The LibrePilot GCS start page appears. Congratulations! You can explore LibrePilot GCS or proceed to the next step, Installing or Updating Your Firmware.

OpenPilot

You can use the OpenPilot Ground Control Station (GCS) both to configure your controller board and to control and monitor your aircraft during flight. More commonly, you would use a conventional radio control transmitter to control your vehicle, but the GCS is also capable of doing so.

All OpenPilot products use the same Ground Control Station. OpenPilot GCS is currently available for the Windows, Mac, and Linux operating systems.

Warning

OPENPILOT WAS DISCONTINUED!

Use LibrePilot instead.

Downloading the GCS installer

The first step is to download the appropriate GCS installer. Using the release table below, select the Download Link that corresponds to your computer’s operating system.

If updating from a previous release, you may wish note the current settings for your vehicle first by creating a .UAV file or taking screenshots of vehicle settings.

Important

The software on this page comes with no warranty. Use it at your own risk and please be careful!

Visit the OpenPilot forums if you have questions and/or suggestions. Extensive documentation about how the system works and how to install and configure it is available in this wiki.

Latest version can be found here: http://www.openpilot.org/download/.

RELEASE – OP-15.05.02 – Revolution Nano, Revo, OPLM and Platinum GPS

Note

Please note that CC3D is NOT supported by this release. To find the latest release for the CC3D, please see Release – 15.02.02 below.

Windows NSIS Installer

OpenPilot-RELEASE-15.05.2-win32.exe

Uninstall previous version first.

Mac OS X distribution image

OpenPilot-RELEASE-15.05.2-osx.dmg

Open as a standard distribution image.

Linux 64 bit Debian package

openpilot_15.05.2-1_amd64.deb

Uninstall previous version first, then use your system package installer to install.

Note

Please note that Linux .debs will only work with Linux versions Ubuntu 14.04 or later, due to lack of popularity we are no longer building 32 Bit .debs but if needed you can build them easily using the source below and the ‘make package’ command.

Source code

SRC-OpenPilot-RELEASE-15.05.2.tar.gz

Note that the CC3D is not supported by this release.

This release fixes an important bug of Nano attitude drift with Basic
attitude estimation.

All Revolution hardware running 15.05.01 should upgrade to 15.05.02.

Note that this is a hotfix; to get the new defaults a full erase settings
is required.

Stabilization settings and banks can be imported back after upgrade

Furthermore, please review your vtolpathfollowersettings:HorizontalVelMax;
a value of around 4m/s would be more appropriate for preliminary trialing of
a new release and will be changed in future.

This version supports Revolution Nano, Revolution, OPLink Modems, and
Platinum GPS.
(Previous) RELEASE – OP-15.02.02 – Revo, CC3D, Atom, CC and v9 GPS

This version supports the CopterControl, CC3D, Atom, and Revo as well as the OPLink Modems.

Windows NSIS Installer

OpenPilot-RELEASE-15.02.02-win32.exe

Uninstall previous version first.

Mac OS X distribution image

OpenPilot-RELEASE-15.02.02-osx.dmg

Open as a standard distribution image.

Linux Debian packages

32 bit:openpilot_15.02.02-1_i386.deb
64 bit:openpilot_15.02.02-1_amd64.deb

Uninstall previous version first, then use your system package installer to install.

Note

Please note that Linux .debs will only work with Linux versions Ubuntu 14.04 or later.

This release fixes a bug that prevents revo onboard mag to work correctly.

Release Notes - OpenPilot - Version RELEASE-15.02.02

The full list of bugfixes in this release is accessible here:
https://progress.openpilot.org/issues/?filter=12262

** Bug
* [OP-1820] - fix onboard mag orientation
* [OP-1821] - Tricopter tail servo wrong speed on wizard
* [OP-1827] - Version ID wrong in Windows uninstaller
* [OP-1857] - PPM on Flexi does not work on CC/CC3D

** Task
* [OP-1831] - due to oneshot higher pid values ki now shows "red" warning in
stabilization page
Installation of the GCS

Open the GCS installer file that you downloaded and follow these steps:

  1. Choose a language from the drop-down list on the first page, then click OK. (You can cancel installation at any point by clicking Cancel.)
  2. The OpenPilot Welcome screen appears. Click Next.
  3. Review the conditions of the license agreement and then click I Agree to accept the terms.
  4. You can select which components to install in the Choose Components dialog box. Click Next to accept the default selections.

Note

Note that the Mesa OpenGL driver may be required by older operating systems and is a required component for the GCS interface. If major elements of the GCS user interface fail to display, re-installation with selection of the Mesa OpenGL driver may help.

  1. You can specify where to install OpenPilot GCS in the Choose Install Location dialog box. Click Browse to choose a location or Install to install the software in the default location shown in the text box.

    Previous installations of the OpenPilot GCS were installed in the Documents and Settings directory on Windows machines. The latest default GCS location is the standard Program Files location on Windows machines.

  2. OpenPilot GCS installs on your computer. Click Next when installation is complete.

  3. If you have have chosen the default setup, Windows will now install the CDC driver for the Virtual Comm Port of your OpenPilot board.

Note

Note that the CDC driver is not required to connect and configure your OpenPilot board with the GCS. You need the CDC driver for Virtual Comm Port support.

  1. Click Finish to complete installation. (Clear the check box if you don’t want OpenPilot GCS to run immediately.)
  2. If you choose to run OpenPilot GCS immediately, click OK to load the default configuration file.
  3. The OpenPilot GCS start page appears. Congratulations! You can explore OpenPilot GCS or proceed to the next step, Installing or Updating Your Firmware.

Warning

OPENPILOT WAS DISCONTINUED!

Use LibrePilot instead.

Installing or Updating Your Firmware

You should check the bootloader version of any CC or CC3D and know the Bootloader version. If not already on Version 4, you MUST upgrade your Bootloader via the documentation linked below before using any firmware from 13.xx and newer.

For directions on checking bootloader version and installation instructions, please see the Bootloader Update page.

Note

Please ensure you download the correct v4 Bootloader. CC, CC3D/Atom, OPLink and Revo all use different bootloader files!

The firmware for your OP boards is packaged within the GCS download. To update the firmware on the various OpenPilot boards follow these steps:

  1. Uninstall any previous versions of OpenPilot GCS
  2. Install the latest OpenPilot GCS version (available from the previous page of this Wiki, the Downloading and Installing Ground Control Station page)
  3. Read through the informational documentation for CC/CC3D and/or Revolution page by using the links at the bottom of this page.
  4. Once familiar with your board’s functions, find the Welcome tab of the GCS and with your board plugged in, proceed through the Vehicle Setup Wizard for Multirotor or Fixed Wing.

For vehicles other than Multirotor or Fixed Wing, or to install firmware manually (without the wizard) you must take the following steps to ensure that your firmware is updated correctly:

  1. Uninstall any previous versions of OpenPilot GCS
  2. Install the latest OpenPilot GCS version (available from the previous page of this Wiki, the Downloading and Installing the Ground Control Station page)
  3. Open the OpenPilot GCS and go to the Firmware Tab
  4. With the board unplugged, click the Rescue button
  5. Connect the board
  6. (There’s a chance that the new drivers might not finish installing before the timer runs out. If this happens, wait until the drivers finish their install, then unplug the board, click Rescue again, connect the board and continue)
  7. and click the Erase Settings button.
  8. Wait approximately 30 seconds
  9. Click the Upgrade & Erase button and follow the on-screen instructions
  10. Firmware install/update complete.

Warning

Never install any firmware on your board that came from untrusted source! Trusted sources are the OpenPilot Downloads page or firmware that you have built yourself from the official git repository.

Next, select your flight controller:

CopterControl / CC3D / Atom Hardware Setup

CopterControl / CC3D / Atom Hardware Setup

CopterControl3D (CC3D and Atom) and CopterControl Introduction

The CopterControl, CC3D and Atom flight controllers are all types of stabilisation hardware which run the OpenPilot firmware. They can be configured to fly any airframe from fixed wing to an octocopter using the OpenPilot Ground Control Station (GCS) software. If you haven’t already installed the Ground Control software, see Downloading and Installing Ground Control Station.

The CopterControl was the first generation board, which ceased manufacture in 2012 due to lack of availability of the gyro sensors used for stabilisation. The board design was then revised and released with an improved gyro sensor which is less affected by temperature changes. This revision is called the CC3D, and apart from the gyro sensor change is identical to the original CopterControl. The Atom is the latest edition to this family - it has the full functionality of the CC3D, but in a smaller form factor and was made available in August 2014 by getfvp.com and readymaderc.com.

All three of these boards are 100% compatible with the latest firmware release when updated to the latest boot-loader. All documentation referring to the original CopterControl board is applicable to both the CC3D and Atom boards.

Getting to know your board
CopterControl
CopterControl top side CopterControl bottom side

Weight: 8g

CopterControl3D/CC3D
CC3D Top CC3D Bottom

Weight: 8g

The CC3D and the Atom are both available with right angle or straight output connectors.

ATOM
ATOM Top ATOM Bottom

Weight: 4g

The Atom doesn’t have mounting holes. Cases designed to mount and protect all of the flight controllers are available from a number of sources. For example, for the Atom, www.readymaderc.com have lightweight cases with and without feet.

Connection diagram

The diagram below summarizes how the overall CopterControl system is connected.

CopterControl connection diagram
Connection Details
Ports

CopterControl / CC3D / Atom have 4 ports.

_images/CC_CC3D_Atom_Pinout.png

(click image to see full size)

  • Servo Output 1-6: These are the PWM outputs that go to servos or ESCs. Power is typically applied through these headers from only one of the ESCs. The positive (Vcc) and negative (Gnd) pins are indicated on this diagram and the board.

    Servo output pin layout is
    • Outside –> ground
    • Middle –> 5V - 15V
    • Inside –> signal
  • MainPort (also previously known as Telemetry): JST-SH 4-pin. This is a serial USART whose baud rate can be adjusted through the GCS. Optionally Futaba S.Bus receiver, Spektrum/JR satellite receiver or GPS can be mapped to the MainPort. Default configuration is Telemetry for connecting an RF modem.

  • FlexiPort: JST-SH 4-pin. The function of this port also depends on the configuration and can be configured for I2C or Serial. The default configuration doesn’t use this port but it can be used for Telemetry, GPS, Spektrum satellite receivers (all working), and other I2C peripherals (under development).

  • ReceiverPort : JST-SH 8-pin. The receiver port can act as an input or output port depending on the configuration which is set in the Hardware Settings. Configuring the receiver port as an output port allows the user to assign more output channels then the 6 standard servo outputs.

    ReceiverPort use depends on the type of RC receiver in use, and whether OneShot125 or PWM Sync output is desired:

    • PWM
      • PWM+NoOneShot should be used with a normal PWM type receiver. The 6 rightmost wires of the receiver port carry the signal for each channel individually.
    • PPM - Pin 3
      • PPM+NoOneShot is used with modern PPM type receivers, that combine the control signal to one wire. The PPM stream should be sent to the first input through the white wire connected to CC ReceiverPort wire/pin 3. For a PPM receiver, only one pin is used for signal - the remaining wires connected to CC ReceiverPort wires 4-8 are left unused.
      • PPM+PWM+NoOneShot combines the two modes above, wire/pin 3 is used for PPM and the rest, wires/pins 4-8 are used as PWM inputs.
      • PPM+Outputs+NoOneShot enables PPM input in ReceiverPort wire/pin 3, and PWM output in wires/pins 5-8. These work as output channels 7-10.
    • PPM - Pin 8
      • PPM_PIN8+OneShot is a new mode, where PPM input wire is moved from previous ReceiverPort pin 3 to pin 8 to allow PWM Sync and OneShot125 to be used as ESC output modes.
    • RECEIVER PORT AS OUTPUTS
      • Outputs+OneShot makes ReceiverPort pins 5-8 work as output channels 7-10. ReceiverPort pins 3 and 4 are unused. This and the Disabled option can be used if the control communication is via a spektrum satellite receiver or directly through telemetry.
    • DISABLING
      • Disabled+OneShot basically disables the ReceiverPort.

    Default settings

    By default, the Vehicle Setup Wizard will set receiver port as PPM_PIN8+OneShot when PPM type receiver is selected.

Note

Please note that the output rate on the output channels from the ReceiverPort cannot be set individually. If servos are connected to this outputs, you must ensure that they can work with the defined output rate for the bound channel. E.g. if you choose a high output rate to support an octocopter configuration, the update rate from the output channels from the ReceiverPort are bound to the update rate from channels 5 & 6. In this case, you cannot connect analogue servo’s to these outputs since an analogue servo only supports an output rate of 50Hz. The output rates are set in GCS Outputs page.

Power

Warning

MAKE SURE YOU ARE CONNECTING POSITIVE AND NEGATIVE CORRECTLY.

  • CopterControl can be powered in several ways. Via the USB port, through the power pins on the servo headers or through the ReceiverPort connector (see the ports section for the port location). When powered by USB, peripherals connected (receiver, serial ports, servos, ESCs) will not be powered to protect your computer from too much current draw through the USB.
  • The minimum allowed input voltage for CopterControl is 4.8V, the maximum allowed input voltage is +15V.
  • Power consumption = ±70mA.
  • You can connect the USB and the receiver (with the power) at the same time.

Caution

The PWR Out pins provide unregulated voltage to the ports. If the CC is powered from a +15V (max. allowed) source then +15V will be on the PWR Out pins and can damage connected receivers, GPS, telemetry modems or other add-on boards.

If you power the flight controller through the servo connectors (utilising the BEC function of the speed controller), the positive power lead from only one ESC is truly necessary. In most cases, all the wires can be left intact and plugged into the board without any problem. If you experience problems with setup or know for a fact that your particular ESC model requires it, you may remove the positive and negative pins from all but one of the ESC servo connectors. In some ESCs (very few, actually), connecting multiple voltage regulators (built in to the ESC’s) in parallel could cause problems. Also, in rare cases, connecting multiple ground wires could cause ground loops so remove the extra ground pins only if experiencing weird problems.

These photos show how to remove and insulate the positive wire from the ESC. Remove the positive & negative wire leaving only the signal cable connected for all but one of your ESC’s. A small flat blade screwdriver (or X-Acto knife could be used) and 2mm heat shrink tube was used in this example. This modification can easily be reversed by removing the heat shrink and inserting the positive wire back in to the ESC plug. Also, remove the ground wire when removing the hot and insulate separately from the hot wire.

_images/Remove-pos1.png _images/Remove-pos2.png _images/Remove-pos3.png
Cables, colors & pin-outs

CopterControl uses the JST-SH series headers. A CopterControl board comes standard with one 8-pin connection cable as shown below to connect your receiver. Additionally, one 4-pin JST-SH cable is supplied to connect to the MainPort or FlexiPort. You can easily cut the 4-pins cable and connect your telemetry or Spektrum satellite.

_images/ReceiverCable.jpg
ReceiverPort
Pin Color PWM+NoOneShot Function PPM+NoOneShot Function PPM+PWM+NoOneShot Function PPM+Outputs+NoOneShot Function PPM_PIN8+OneShot Function Outputs+OneShot Function
1 Black GND GND GND GND GND GND
2 Red PWR Out (VCC Unregulated) PWR Out (VCC Unregulated) PWR Out (VCC Unregulated) PWR Out (VCC Unregulated) PWR Out (VCC Unregulated) PWR Out (VCC Unregulated)
3 White PWM input 1 PPM input PPM input PPM input
4 Blue PWM input 2 PWM input 2
5 Yellow PWM input 3 PWM input 3 PWM output 7 PWM output 7
6 Green PWM input 4 PWM input 4 PWM output 8 PWM output 8
7 Orange PWM input 5 PWM input 5 PWM output 9 PWM output 9
8 Purple PWM input 6 PWM input 6 PWM output 10 PPM input PWM output 10
_images/JSH-SH-8pin.png
MainPort and FlexiPort serial cable pinout
Pin Color Voltage Serial Function I2C Function Spektrum S.Bus
1 Black GND GND GND GND GND
2 Red 4.8V - 15V PWR Out (VCC Unregulated) PWR Out (VCC Unregulated) PWR Out (VCC Unregulated) PWR Out (VCC Unregulated)
3 Blue 3.3V TX SCL
4 Orange 3.3V (5V Tolerant) RX SDA TX (Signal) TX (Signal)
_images/JSH-SH-4pin.png

Caution

The Spektrum adapter should only be powered by 3.3V, a step down adapter must be used.

Caution

The PWR Out voltage is dependent on the CC supplied voltage. Verify that you use the correct voltage for your S.BUS receiver.

Receiver PWM connection

There are several ways to connect your receiver to CopterControl. You can connect any plug from the CopterControl receiver cable to any channel of your receiver. The correct channel mapping is done in the GCS https://librepilot.atlassian.net/wiki/display/LPDOC/Input+Configuration. However as a guideline for a standard PWM receiver, you may want to connect it as follows:

For Futaba and Hitec

Channel 1 AILERON or ROLL White Signal 1
Channel 2 ELEV or PITCH Blue Signal 2
Channel 3 THROTTLE Yellow Signal 3
Channel 4 RUDDER Green Signal 4
Channel 5 GEAR - Flight mode Orange Signal 5
Channel 6 AUX1 Purple Signal 6

For JR and Spektrum

Channel 1 THROTTLE White Signal 1
Channel 2 AILERON or ROLL Blue Signal 2
Channel 3 ELEV or PITCH Yellow Signal 3
Channel 4 RUDDER Green Signal 4
Channel 5 GEAR - Flight mode Orange Signal 5
Channel 6 AUX1 Purple Signal 6

Note

If you are unsure about the type of your receiver (PPM, PWM, Spektrum Satellite...) or where to connect it, please refer to this page where the different options are explained.

Sensors and Components
  • 3-axis Gyroscope array: IDG-500 and ISZ-500 [1]
  • 3-axis Accelerometer: ADXL345 [1]
  • Supports several common RC inputs: 6 PWM channels, combined PPM, Spektrum/JR DSM2, DSMJ, DSMX satellites, and Futaba S.Bus receivers
  • Simultaneous support for multiple receivers
  • ReceiverPort functions (configurable): 6 PWM input channels or combined PPM stream, 4 PWM output channels
  • MainPort functions (configurable): serial telemetry (default), GPS, S.Bus, Spektrum/JR satellites
  • FlexiPort (configurable): serial telemetry, GPS, Spektrum/JR satellites, or I2C peripherals (under development)
  • 10 PWM outputs to servos or ESC’s, or for camera stabilization
  • Camera stabilization: supports up to 3-axis camera mounts with stabilization and manual control from any of configured receivers
  • Onboard USB connectivity for easy configuration
  • USB and serial telemetry and configuration (including wireless with optional radio modules)
  • Supported by powerful OpenPilot GCS
  • 4 Mbit onboard memory
  • 3C Quaternion based complementary filter running at 500Hz
[1](1, 2) On CC3D the IDG-500, ISZ-500 and ADXL345 is replaced by the MPU6000.
DIY Boards

Schematics, PCB Layout, Gerbers, BOM for CopterControl: CopterControl.zip

Schematics, PCB Layout, Gerbers, BOM for CopterControl 3D: CopterControl 3D.zip

Schematics, PCB Layout, Gerbers, BOM for Atom: Atom.zip

Other Information
Dimensions

CopterControl & CC3D used the standard OpenPilot footprint, and hence has the same dimensions and mounting holes as the OpenPilot Revo, GPS, OSD and PipX boards.

_images/ccmeasurements.png

How to configure a GPS for CC3D

CC3D or Atom flight controllers do not support GPS functions such as Return to base or Position Hold. The original CopterControl (CC) board does not have memory left for GPS use.

The only purpose for GPS use is telemetry using radio modems (OPLink) or GPS position send to OSD device.

NMEA is not supported anymore because is less memory efficient, this page only refers to UBlox GPS and UBX protocol.

Note

Others boards like Revolution support auto-configuration and no need this manual configuration using UCenter.

This means also if you connect your ‘CC3D GPS’ to a Revolution board, your previous configuration is lost!

Prerequisites
  • Download the UCenter software here, check Zip icon in bottom page.
_images/ucenter_file_download.jpg

Note

UCenter is for Windows only.

  • Install UCenter software
  • Setup a serial connection with GPS using USB port (if any) or USBSerial (Gnd, +5V, Tx, Rx).
_images/GPS_ftdi.png
Configure your GPS
Connect
  • Connect GPS to USB serial or USB.
  • Start UCenter software.
_images/Ucenter_icon.png
  • Select COM port used for GPS.
_images/Ucenter_comport.png
  • Open console (F6 key) or View > Packet Console and check if link is correct, you should see messages output from GPS.
_images/ucenter_open_console.png
Reset to defaults
  • Open Configuration View window: View > Configuration View.
  • Reset current GPS config to defaults: Check Revert to default configuration.
_images/Ubx_cc3d_reset.png
  • Send config: ucenter-send-config
Select set of messages
  • Open Messages View window: View > Messages View.
  • Disable all active NMEA messages.
_images/Ucenter_disable_NMEA_msg.png
  • Enable UBX messages needed:
    • POSLLH
    • DOP
    • SOL
    • VELNED
  • Save current configuration using a little icon with a gear on top. ucenter-save-config

Note

Using this configuration you can’t display satellite in GPS plugin because GPS don’t send this data (usually SVINFO message).

CC3D works only with minimal messages. (POSLLH, DOP, SOL, VELNED)

Setup port and protocol
  • Open Configuration View window: View > Configuration View. Move to PRT (Ports) in left column.
  • Change message output in UART1: only UBX for protocol in/out.
  • Change baudrate for UART1 port, same baudrate set for Flexi/Main GPS port.

Caution

You should use 9600 or 19200 baudrate for CC3D, or packets are dropped at higher speed.

_images/Ubx_cc3d_port.png
  • Send config: ucenter-send-config
Change refresh rate and save
  • Move to Rate (Rates) in left column
  • Change Measurement Period value to 200ms for a 5Hz refresh rate.
_images/ubx_cc3d_rate.png
  • Send config: ucenter-send-config
  • Save current configuration: Check Save current configuration.
  • All devices selected in blue.
_images/Ubx_cc3d_save.png
  • Send config: ucenter-send-config

Revolution Board Setup

Revolution Board Setup

Introduction

Welcome to the Revolution (Revo) board setup page. Here you will find a number of video tutorials to assist you in setting up your new Revo board.

Along with the tutorials you will also find links to the relevant Wiki pages to assist you in setting up the best Flight Controller board on the market.

WELCOME TO THE OP EXPERIENCE.

The OpenPilot Revolution board, also called ‘Revo’, is a new breed of Autopilot using the STM32F4 series, 210MIPS ARM Micro-controller. This is important, as it contains a hardware floating point unit (FPU), which is a huge advancement for hobby-class autopilots. Of course, OpenPilot has been 32bit since day one, and the FPU is another step up the performance ladder. The FPU allows precise, low-latency processing of real-life measurements using advanced attitude estimation algorithms.

The Revolution is a flight control computer with autopilot, intended for multirotors, helicopters and fixed wings. It is a full 10DOF with gyroscope, accelerometer, magnetometer and pressure sensors.

_images/Revolution_Side.jpg _images/RevolutionBottom.jpg
Setting up your Revolution Board for the first time

You have just received a brand new Revolution board and are itching to mount it in your air frame, follow the Video Tutorial below.

https://vimeo.com/64065065

Vehicle Setup Wizard

Once you have mounted your Revo on your frame you need to configure it through the Ground Control Station (GCS) using the Vehicle Setup Wizard, follow the Video Tutorial below for setting up on a Multirotor.

https://vimeo.com/65454262

Sensor calibration

Revo - Sensor Calibration.

Tuning your Revolution

LibrePilot Wiki

Connection diagram

The diagram below summarizes how the overall Revolution system is connected.

_images/revo-full.jpg
Technical description
CPU

CPU is the STM32F405RGT6 chip, with ARM Cortex-M4 core at 210MIPS, FPU, and saturation arithmetics DSP functions.

The chip features a range of built-in hardware modules that can bo programmed once and function independentely, requiring little to no CPU overhead. These include 14x multichanel timers, 3x synchronous-sampling ADC serving up to 24 channels, 2x DAC, matrix memory controller with 16-stream DMA, and other. Communication modules include USB2.0, 3x I2C, 3x SPI, 4x USART, 2x CAN and SIDO. All these modules can be configured for accessing the chip pins using a flexible switch matrix, or disabled to save power.

It even contains a real time hardware calendar if you want a wake up flight.

The software and settings are loaded through USB connector and no-hassle update function in the GCS (Ground Control Station).

Modem

The board features built-in 433MHz OPLink Modem.

Dimensions

OpenPilot products use the standard OpenPilot footprint, and hence has the same dimensions and mounting holes as the OpenPilot Revo, GPS, OSD and PipX boards.

(All dimensions are in millimeters.)

_images/RevoSchematic.jpg
Ports
_images/RevoPorts.jpg
  • Servo 1-6: These are the PWM outputs that go to servos or ESCs. Power is typically applied through these headers from only one of the ESCs. The positive (Vcc) and negative (Gnd) pins are indicated on this diagram and the board.

    Servo output pin layout is:
    • Outside –> ground
    • Middle –> 5V - 8.4V
    • Inside –> signal
  • Flexi-IO Port: JST-SH 10-pin. The receiver port can act as an input or output port depending on the configuration which is set in the Hardware Settings. Configuring the receiver port as an output port allows the user to assign more output channels then the 6 standard servo outputs.

    PWM -vs- PPM Recievers

    Please be aware that not all receivers can be configured to use a PPM output. It is the user’s responsibility to research this feature in regards to the desired receiver they wish to use for PPM and ensure it can be used as such. Many hours of frustration can occur while trying to troubleshoot why you can’t get your radio to connect to the board with PPM if using a receiver than isn’t designed with that feature! Simply make sure the receiver can do it before trying to set it up that way.

  • MainPort: JST-SH 4-pin. This is a serial USART whose baud rate can be adjusted through the GCS. Optionally, Futaba S.Bus receiver, Spektrum/JR satellite receiver or GPS can be mapped to the MainPort. Default configuration is Telemetry for connecting an RF modem.

  • FlexiPort: JST-SH 4-pin. The function of this port also depends on the configuration and can be configured for I2C or Serial. The default configuration doesn’t use this port, but it can be used for Telemetry, GPS, Spektrum satellite receivers (all working), and other I2C peripherals (under development).

  • RF Socket: Antenna connection socket for on-board OPLink Modem.

  • Pwr Sen/Sonar Port: JST-SH 4-pin. This port can be configured to accommodate an Autopilot current sensor and a low cost Sonar sensor such as the HC-SR04. It can also be used as a general purpose input/output port or as a one or two channel analog input port.

Note

Please note that the output rate on the output channels from the ReceiverPort cannot be set individually. If servos are connected to this outputs, you must ensure that they can work with the defined output rate for choose a high output rate to support an octocopter configuration, the update rate from the output channels from the ReceiverPort are bound to the update rate from channels 5 & 6. In this case, you cannot connect analog servo’s to these outputs since an analog servo only supports an output rate of 50Hz.

Sensor suite
  • 3 Axis Gyro
  • 3 Axis Accelerometer
  • 3 Axis Magnetometer
  • Barometric pressure sensor
MPU _images/mpu6000.png

The MPU-6000 combines a 3-axis gyroscope and a 3-axis accelerometer on the same silicon die. This sensor can also be found on the CC3D and already has a proven track record of great flight performance.

Pressure Sensor/Altimeter _images/MS5611.jpg

When it came time to select a barometric pressure sensor, there were many to choose from and many were not up to the task. For the Revolution, OpenPilot selected the Measurement Specialties MS5611.

The MS5611 is not just any barometric pressure sensor, it is purpose-built, and has a very high resolution. As a result, it is ideal for use as a UAV altitude sensor. The sensor is so sensitive that it can sense a vertical shift of only 10 cm. The Revolution uses the newer MS5611-01BA03 version of this sensor that is far less susceptible to light interference than the older, plastic case versions.

Magnetometer

Whether you are in ‘Position Hold’ while taking aerial photographs, or you are flying a fixed-wing UAV on a pre-planned flight path, it’s vitally important to have accurate heading information. The Honeywell HMC5883L is a three-axis digital compass module which provides rapid updates to changes in orientation which are accurate to a tolerance of 1° to 2°.

Connectivity

Just like CC & CC3D, the Revo has many ports, but a key new addition is the Flexi-IO Port. A lot of thought went into creating a small device that’s flexible for use with multirotor platforms, helicopters and fixed wing aircraft, as well as making connectivity as future proof as possible.

_images/revo-ports-2.jpg MainPort FlexiPort SWD Port Flexi-IO & USB Ports
Flexi-IO

The Flexi-IO port uses a 10 pin JST-connector and is designed to perform several different functions. The port is used for control input and output and can be configured to serve 6 PWM inputs or outputs. A mixture of other modes can also be configured.

  • 6 channel PWM input for receiver + 2 GPIO
  • 1 channel PPM input for receiver + 5 PWM I/O channels for motor/servo or sensors
  • 4 pin SPI + 1 UART + 2 PWM I/O (PPM mode)
  • CAN with external transceiver, UART, 4 PWM I/O / PPM

The full unshared SPI I/O port can be used as master or slave, allowing you to interface the Revolution board to any other embedded system like, for example, the Overo Linux boards. This also allows use of the Revo for advanced robotic applications.

An additional board can provide raw CPU power and high level functions, ranging from networking and data storage, up to video analysis, autonomous behaviour and artificial intelligence. The Revolution board will act as a reliable real time hardware controller and sensor platform, keeping your autonomous vehicle safely under control at all times.

Pinout

Pin Color PWM Function PPM Function PPM+Telemetry Function PPM+Outputs Function Outputs Function Telemetry Function
1 Black Ground Ground Ground Ground Ground Ground
2 Red Vcc Vcc Vcc Vcc Vcc Vcc
3              
4              
5 White PWM Input 1 PPM Input 1-8 PPM Input 1-8 PPM Input PWM Output 12  
6 Blue PWM Input 2     PWM Output 7 PWM Output 7  
7 Yellow PWM Input 3   Telemetry TX PWM Output 8 PWM Output 8 Telemetry TX
8 Green PWM Input 4   Telemetry RX PWM Output 9 PWM Output 9 Telemetry RX
9 Orange PWM Input 5     PWM Output 10 PWM Output 10  
10 Violet PWM Input 6     PWM Output 11 PWM Output 11  
FlexiPort
_images/JSH-SH-4pin1.png

The Revo uses the same FlexiPort as the CC3D. The port can be used as either a UART or for I2C bus connectivity. It can be connected to serial devices like the OP GPS or any I2C device like the the EagleTree Airspeed expander module, ADCs, I2C ESCs and a lot more. It can also be used to connect Spektrum DSM2/DSMX Satellite to be used as receiver, or any other custom component interfacing with I2C or a serial connection including custom extension boards. Of course, it’s also possible to run a serial Telemetry link to the GCS over the FlexiPort.

Pinout

Color JST-SH Pin Voltage Serial Function (GPS, Telemetry) I2C Function DSM
Black 1 GND GND GND GND
Red 2 4.8V - 15V PWR Out (VCC Unregulated) PWR Out (VCC Unregulated) PWR Out (VCC Unregulated)
Blue 3 3.3V TX SCL  
Orange 4 3.3V (5V Tolerant) RX SDA TX (Signal)

Warning

The Spektrum adapter should only be powered by 3.3V, a step down adapter must be used.

Warning

The PWR Out voltage is dependent on the CC supplied voltage. Verify that you use the correct voltage for your S.BUS receiver.

MainPort

Standard serial port/S.Bus port (same as CC3D). This can be used to connect serial devices like Telemetry, OP GPS, Futaba S.Bus receivers or Spektrum DSM2/DSMX satellites (to be used as a receiver), freeing in these cases the Flexi-IO port for other uses. These systems use a single wire to help cut down cable clutter.

_images/JSH-SH-4pin1.png

Pinout

Color JST-SH Pin Voltage Serial Function (GPS, Telemetry) DSM S.BUS
Black 1 GND GND GND GND
Red 2 4.8V - 15V PWR Out (VCC Unregulated) PWR Out (VCC Unregulated) PWR Out (VCC Unregulated)
Blue 3 3.3V TX    
Orange 4 3.3V (5V Tolerant) RX TX (Signal) TX (Signal)
Current / Sonar

This port can be configured to accommodate an Autopilot current sensor and a low cost Sonar sensor such as the HC-SR04. It can also be used as a general purpose input/output port or as a one or two channel analog input port.

_images/JSH-SH-4pin1.png

Pinout

Color JST-SH Pin Voltage Power Sensor
Black 1 GND GND
Red 2 4.8V - 15V PWR Out (VCC Unregulated)
Blue 3 3.3V Current Input
Orange 4 3.3V (5V Tolerant) Voltage Input

See also: Revo - Current/Voltage Sensor Setup

PWM output headers

Just like the CC & CC3D, the Revo has a bank of 6 PWM output headers. If more PWM outputs are needed - the Flexi-IO port can be configured to support up to an additional 6 PWM channels if so required. PWM port 5 can also be configured to communicate with an external analog airspeed sensor or a governor for helicopters.

SWD Port

Serial wire debug port. This allows the use of cheap boards like the STM F4 Discovery as an in-circuit debugger to ease the firmware development.

_images/JSH-SH-4pin1.png

Pinout

Color JST-SH Pin Pin Description
Black 1 GND
Red 2 NRS
Blue 3 IO
Orange 4 CLK
Micro USB

We have decided to move away from using the mini USB port found on the existing CC and CC3D and instead use a Micro USB port. The Micro USB port has several benefits: it’s physically smaller, more robust, a much more widely adopted standard, and is the same type of port found on the majority of mobile phones. In all likelihood, you’ll already have one of these cables at home.

The USB port provides a USB composite device with the following functions:

  • OpenPilot HID device (default GCS interface, uses PC system drivers)
  • CDC virtual serial port (telemetry, debugging, serial bridge mode relaying data from/to physical serial port to the virtual one for GPS/Bluetooth module setup, etc)
  • 8-channel HID joystick (passes data from all supported R/C inputs to PC flight simulators)

And all these at the same time.

DIY Board

Schematics, PCB Layout, Gerbers, BOM: Revolution.zip

Revo - LED Indications

They will show in sequence:

  • Notifications
  • Alarms
  • Heartbeat/FlightStatus/ArmingMode.
_images/led_codes.png

Todo

Video Example of Revo LED indications

Revo - External LED setup

Overview

This document will describe the necessary hardware and software setup to connect an external notification LED to Revolution. WS2811, WS2812 and WS2812B multicolor LEDs are supported in both single LED or multiple LED configurations. The LED is useful for debugging and it provides visual information about flight modes and warnings during flight. The battery low voltage warning is particularly useful.

https://www.youtube.com/watch?v=S7CISYWC7MA

Hardware Connections
_images/ws2812.jpg

The OpenPilot firmware supports LEDs wired in both parallel and series configurations. A single LED is capable of displaying all of the data. Both the LED strips and the modules have voltage input (5V), ground (GND) and signal input (DI) pins, and also often corresponding output pins. For a single LED configuration, the output pins are not used; and in a multiple LED configuration, you can wire the LEDs together serially in a chain.

On the left is an example of a very common single LED module which is readily available on eBay. If you use a single LED, make sure that the breakout board has a capacitor on it; otherwise, inrush current spikes can damage the LED. The capacitor is usually a surface mounted component just like the brown one next to the LED unit in the photo. A capacitor is optional on configurations with two or more LEDs.

Revolution can command the LED(s) from various outputs. For the output signal, servo output rail pins 1-6 are supported, and Flexi-IO port pins 3 and 4 (from the left) are supported. Power for the LED is available from Flexi-IO pins 1 (GND) and 2 (5V), or from the servo output rail. After making the necessary connections, it is recommended that you mount the LED so that it is visible from below while flying.

The diagram below show the various configurations.

Todo

FIXME diagram

Software Setup

Following hardware setup, configure the controller in GCS as follows:

  • Go to System tab > HwSettings > WS2811LED_Out and choose the pin where you connected the LED(s)
  • Click the red Save button in the top part of the view
  • Disconnect Revolution from PC
  • Connect your flight battery. LED(s) should start showing system status according to the graphic in the Light Codes section below.
Light Codes

The following graphic shows different notifications Revolution will display with the LED(s).

_images/Revo-External-Leds.png

Revo - Current/Voltage Sensor Setup

Overview

This page describes how to setup a voltage/current sensor using a Revolution or Revolution Nano board.

Hardware Connections
_images/voltage_current_connector.png
Color Connector pin (board) Description AttoPilot pin (sensor)
Black 1 GND GND
Red 2 Vcc Not used
Blue 3 Current input I
Orange 4 Voltage input V
Basic voltage sensor

A basic voltage divider can be used, two resistors connected between ground and plus from battery.

_images/voltage_divider.png _images/basic_voltagesensor_connection_revo.png

For a 4S battery (16.8Volts) the following values can be used:

  • R1: 2,2 KOhms
  • R2: 10 KOhms

With Vbattery = 16.8V, Vout = (16.8 * 2.2) / (10 + 2.2) = 3,03V

See also http://en.wikipedia.org/wiki/Voltage_divider

Current / Voltage sensor
_images/CurrentVoltagesensor_connection_revo.png

Here is a list of common Attopilot sensors that can be used:

Module Type Sensitivity VoltageFactor CurrentFactor VoltageZero CurrentZero
Attopilot 13.6V/45A 242.3mV/V, 73.20mV/A 4.127 13.661 0 0
Attopilot 50V/90A [1] 63.69mV/V, 36.60mV/A 15.701 27.322 0 0
Attopilot 50V/180A 63.69mV/V, 18.30mV/A 15.701 54.645 0 0
[1]Same as RCTIMER 90A current sensor

For custom sensor see the Calculate SensorCalibration values section.

Hardware settings

The first thing to do is to configure the hardware settings:

  1. Connect the board to your computer and got to the System tab in your GCS
  2. Browse the first part (Settings) and find the HwSettings UAVObject
  3. Enable the Battery module: OptionalModules > Battery > Enable
  4. Set the analog input pins for voltage and current:
    • ADCRouting > adc0 > BatteryCurrent
    • ADCRouting > adc1 > BatteryVoltage
  5. Save changes, click Upload button
  6. Reboot your board: disconnect all power sources and reconnect to your computer.
_images/uavobrowser_HwSettings.png
Calibrate sensor

Now connect the battery to the battery sensor, if changes are done and battery module enabled you can see the display on PFD:

_images/PFD_volt_amp_display.png

But values displayed are not accurate, we need to calibrate sensor!

Calculate SensorCalibration values

To configure the battery monitor, you need to calculate the SensorCalibration values.

For example, the documentation for Attopilot current sensor specifies the following information for each sensor type:

Sensor type Voltage sensitivity Current sensitivity
50V/180A 63.69mV/Volt 18.30mV / Amp
50V/90A 63.69mV/Volt 36.60mV / Amp
13.6V/45A 242.3mV/Volt 73.20mV / Amp

In order to use 50V/90A you’ll have to do the following:

  • Convert everything to Volt, so Volt/Volt and Volt/Amp:

    • 63.69mV/V / 1000 = 0.06369 V/V
    • 36.60mV/A / 1000 = 0.0366 V/A
  • Then calculate the values to insert in Voltage and Current Factors:

    • VoltageFactor = 1 / 0.06369 = 15.701
    • CurrentFactor = 1 / 0.0366 = 27.322

Those factors are start values that can be adjusted later from readings, generally sensor’s sensitivity are not so accurate.

Setting FlightBatterySettings Properties
  1. Connect the board to your computer and go to the System tab in your GCS
  2. Browse the first part (Settings) and find the FlightBatterySettings UAVObject
  3. Set the VoltageFactor and CurrentFactor as in the previous section.
  4. Set the cell Capacity if you want a warning to be issued when there are less than 2 minutes of flight time available; otherwise, set to 0.
  5. Set NbCells with the number of cells in series (2 for 2S, 3 for 3S, 3 for 3S2P)
  6. Set the Warning and Alarm thresholds if you would like a warning or critical alarm to be issued when going under the values that you specify.
  7. Save changes, click Upload button.
_images/Uavbrowser_FlightbatterySettings.png

Note

Sometimes sensor are not accurate with small readings, especially for current. A CurrentZero setting can be set: without any load change this value to obtain a 0 ampers display.

Revo - Sensor Calibration

Introduction

Todo

screenshot

This panel will allow you to undertake a Manual Calibration of the Senors on the Revolution board.

There is six (6) different Calibrations that can be preformed.

Steps:

  • Setting Home Location
  • Thermal Calibration
  • Accelerometer Bias Calibration
  • Magnetometer Calibration
  • Board Level Calibration
  • Gyro Bias Calibration
How to Video

by Corvus Corax

https://www.youtube.com/watch?v=dn9IDw2D1qw

Setting Home Location

Warning

You must set your home location before performing the Sensor Calibrations

There is two ways of setting your home location:

  1. Using GPS Module
  2. Manually Select
  • Go to Flight Data Tab
  • Either wait for GPS to goto your home location (using GPS Module) or manually zoom map up to your location (Manual Select)
  • Once found, right click on the map and click on Set the Home Location
_images/home_location.png
  • Enter the Altitude of your home location in metres, click OK

Note

You can check the home location coordinates by going the the Configuration Tab - Attitude/Settings tab

_images/home_location_settings.png
Thermal Calibration

Note

The procedure below outlines the way to thermally calibrate the Revo to meet large temperature changes, it is not essential to put in the freezer as the min and max temp ranges of the calibration only need to be below and above the ambit temps of your location. (approx +- 10/15 deg C above and below)

However if the temperature rises or falls above or below the min/max temps you calibrated at, you will need to redo this calibration, so it is best to use some form of cooling to lower the min start temp and raise above max ambit temps of your location.

Also note this calibration is not needed, but will improve the performance of your board.

  1. Plug your USB cable into your Revo. Start the OP GCS and ensure that you have disabled the OPLink modem (i.e. Max Power = 0). Then Save and Disconnect. Remove USB cable from computer but leave Revo plugged in.
  2. Put your Revo in a plastic bag and seal it reasonably well, but with the USB cable exiting the baggie so it can be plugged in the computer.

Note

The bag is because we are going to freeze Revo and it will get condensation on it if we don’t do this.

For added temperature range (higher temperatures) you might build a very simple hot box out of a low wattage incandescent light and a shoe box. You also might consider just wrapping Revo up in a good insulator, like a warm lightweight modern jacket. You could also set it out in the hot sun in the summer if you can plug it into USB at the same time.

  1. Put Revo/baggie/cable in the freezer for 20 minutes or so.
  2. Take it out, put it in the hot box or wrapped up or in the sun, or not... Immediately start the thermal calibration.
    • Don’t move it at all while calibrating is best (gyros and baro are being calibrated).
    • Don’t allow your home heater or air conditioner fan to run while doing this is best (air pressure changes).
    • Don’t open or close any doors in the house is best (air pressure changes).
    • Don’t do this on a windy day (chimney, etc.).
    • Don’t do this on a stormy day (rapid changes in barometer).
    • Don’t play 1812 Overture or let your sister dance in the next room is best (:)).

Note

All these “is bests” aren’t critical though. I understand that the large number of samples taken masks a few bad samples.

  1. Watch the thermal calibration and unplug the light bulb when it gets within a few degrees of your desired high temperature (i.e. 10-15 deg above what hottest day in your location).
  2. If it finishes thermal calibration before reaching your desired temperature, you can start over or use what you have.
  3. Save your thermal calibration with the Save button in the lower right.

Note

You can check the temperature min-max (temp_calibrated_extent). Go to the System Tab then Settings/AccelGyroSettings/temp_calibrated_extent. You can then see the min & max calibrated temps (below is screen shot of uncalibrated board showing 0 for both min & max, once calibrated you will see your boards min & max temps)

Todo

screenshot

Accelerometer Calibration

Warning

During this calibration the board MUST remain perfectly still during each position calibration. Even vibrations on a table or someone walking past could upset the calibration.

  1. On the Calibration Tab, click start “Accelerometer calibration”.
  2. Place the board as shown in the picture on screen and click Save Position.

...

  1. If the calibration failed, you will see above, you will need to restart the accelerometer calibration over.

Multirotor Hardware Setup

The two videos below demonstrate how to set up a basic quadcopter as your vehicle.

The videos are now a little outdated but remain a valuable reference. The GCS has had numerous upgrades since they were prepared.

Video demo of Dave setting up a quad

Video demo of Dacat setting up his quad

Multirotor Vehicle Setup Wizard

The Vehicle Setup Wizard allows users to step through and setup all the initial settings including the TX.

When the GCS is started, the Vehicle Setup Wizard can be accessed by clicking on the “green” Vehicle Setup Wizard button.

Ensure board is connected through USB port before starting Wizard.

Depending on the flight controller board, some screens may or may not be displayed as you progress through the wizard.

OpenPilot Revo Vehicle Setup Wizard Tutorial fromOpenPilot on Vimeo.

First Flight

Pre-flight checks

There are a few things that you’ll want to check before flying. Especially in the case of a multi-rotor. If you have swapped your motor outputs or your servo output is reversed, then the multi-rotor may flip or spin directly upon lift off.

Warning

REMOVE PROPELLERS!

You should always remove your propellers prior to starting tests or connecting your battery for the first time.

Arming (Turn your board on)

At start-up the system is disarmed. When disarmed, the motor(s) will not function, but the servos should work (If installed, e.g. on Tri-Copter). Before flying, the system needs to be armed with a specific stick input. The inputthat is needed for arming (and disarming) is configurable. For safety reasons, the default configuration is such that the system will not arm under any condition. Hence, it’s mandatory that you configure the arming in the GCS input configuration.

Check your system alarms

The flight controller will not arm itself if any system status alarms are present. They can be checked by connecting to the flight controller board with OpenPilot Ground Control Station, and looking at system status indication under the primary flight display. All status objects should be green. PATH can remain yellow. For mode information on alarms, read the next page.

Check your stick inputs

With props removed, after you have armed your board, the blue LED should start flashing rapidly indicating that the board is armed. If you have specified that the “motors should spin at neutral output” in the output configuration, the motors should start spinning right now. Otherwise you can now apply some throttle and get the motors spinning.

Verify that the correct motors follow your stick input. E.g. rolling left should increase the throttle on your right motor(s) and vice versa. If the wrong motors are spinning faster, you need to recheck your configuration.

Rate mode

Note that some motors could start spinning faster if you have already selected a stability mode on your transmitter with the Flight Mode switch. You should do your first tests in rate mode only.

Check your stabilization

While the motors are spinning, you can move the aircraft in the pitch or roll direction. The flight controller should react promptly and accelerate the correct motors to counteract the movement. Please make sure that the correct motors are spinning up. If the opposite motors spin up, then you would flip your multi-rotor immediately upon lift off. In this case, you need to recheck your configuration.

Important

Check fail-safe!

Arm the aircraft and run your motors, now turn off the transmitter and confirm that all motors stop.

Your first flight (multicopters and helicopters)

You’ve done your pre-flight checks, your transmitter and flight batteries are all fully charged, and you are confident that the vehicle has been configured correctly - it’s time to fly!

But, it’s also time to take a deep breath and honestly evaluate your flying skills - if you are a novice then you should consider buying a flight simulator and developing some basic skills - crashes in a simulator cost nothing, so you will rapidly justify the investment for this software.

If you are feeling confident, take the model to a large, clear and deserted open space - you don’t want any trees or overhead wires nearby, you definitely don’t want any people or dogs in the area, and you shouldn’t be too close to a road. A grass field is better for first flights, rather than concrete or tarmac. Ideally there will be no wind, but a very slight breeze shouldn’t be a problem.

Important

You may be disconnecting and connecting power to the model several times during these first steps - you must wait at least 30 seconds before reconnecting power, otherwise the model may behave unpredictably.

Remember to keep the model still for about 10 seconds after each connection, while the gyros are calibrated.

The following steps have been written on the assumption that ‘Zero gyros while arming aircraft’ has been selected on the Attitude Configuration page of GCS (the recommended setting). This can help with the stabilization of the model.

Note

Remember to keep the model still for several seconds after arming, while the gyros are zeroed.

  1. If you have brought anybody with you to witness the first flight, make sure that they know where to stand, how to behave, and what to do if the vehicle goes out of control. If there are any children, make sure that they are under close supervision.
  2. Put the throttle stick to minimum and switch on the transmitter. If your transmitter has a throttle lock facility, set this to ‘locked’. Put the transmitter on the ground next to where you plan to stand while flying the vehicle.
  3. Place the model on the ground about 10 paces away with the tail towards the transmitter. If there is a breeze, put the model either upwind or downwind of the transmitter - you don’t want a cross-wind.
  4. Connect the power to the vehicle and do not move it for about 10 seconds while the gyros are calibrated. Return to your transmitter.
  5. Take a good look around for safety’s sake, then unlock the throttle and arm your board - the blue LED on the board will now flash rapidly and the rotors will spin if you’ve selected ‘Motors spin at neutral output when armed’. IMPORTANT: you must wait a few seconds after arming while the gyros are zeroed (see note above). The aircraft may be unstable if this isn’t done. Use this time to have another good look around you.
  6. Steadily increase the throttle until the vehicle is about to lift off the ground - any tendency to flip or spin will be apparent at this time. Close the throttle immediately if the vehicle does anything unexpected, and then take a look at the problem-finding guide.
  7. If everything looks OK. then close the throttle, disarm the vehicle, take a deep breath and have yet another look round the field - it’s time for lift-off!
  8. Arm the vehicle, wait for a few seconds, then open the throttle confidently until the aircraft lifts off the ground. Try to hover about 1 or 2 metres off the ground, while keeping in one position.

You are now flying! Obviously this bit is not as easy as it sounds and much practice is required.

The important thing to remember is to close the throttle if the aircraft goes out of control - you will crash at some time, and cutting the power will minimize the damage.

Get into the habit of disarming the board when landing for more than a few seconds or when approaching the vehicle to handle it, and don’t forget the short wait after re-arming - again, use this period to look around the field before flying.

Disarm the board and set the throttle lock when you have finished flying, then put down the transmitter a little way from the model. Disconnect the power from the aircraft, then turn off your transmitter.

Now that you have proven that the aircraft will fly, you might like to try the training exercise videos for helicopters found on this website page. Many of these are also suitable for multi-rotors.

Todo

FIXME: Trainig videos

Optimizing values

Apart from tuning the stabilization settings, there are some values which advanced users may want to change pretty soon. The default values will fly your aircraft perfectly fine, but would limit some users in their flying style.

Please find below a few settings which can easily be cranked up for more experienced users. Note: these are available in each of the three Settings Banks.

Full stick angle in Attitude mode

Location Stabilization panel, Responsiveness, Attitude mode response (deg)
Standard value 55°
Tuned+ value 65° or more

Specifies how many degrees the vehicle will bank on a full stick deflection when in attitude mode.

If you fly your multi-rotor in heavy wind, you may find that low values are not sufficient to counteract the wind fast enough. The default value is fairly good for a beginner.

Full stick response in Rate mode

Location Stabilization panel, Responsiveness, Rate mode response (deg/s)
Standard value 220°/s
Tuned+ value 360°/s or more

Specifies how many degrees per second a full stick deflection commands in all modes except Attitude mode.

If you want to do flips with your multi-rotor you should increase this setting. Flips that take too long to complete can result in too much loss of altitude for the beginner. To get some idea of how fast you want to flip, imagine the flip taking one second to complete - that would equate to 360°/s.

Note

This is the value to control rotation rate when using Rattitude mode.

Full stick response limit in any mode

Location Stabilization panel, Responsiveness, Max rate limit (deg/s)
Standard value 300°/s
Tuned+ value 360°/s or more

Specifies the maximum rotation rate in degrees per second commanded by a full stick deflection on the associated axis in any mode.

Make sure this is the same or higher than Rate mode response above.

MaxAxisLock

Location Stabilization panel, Expert Tab, Axis Lock
Standard value
Tuned+ value 15°

The maximum number of degrees that the control accumulates error. The default setting is changed to 15° in newer firmware & should be a good value for multi-rotors.

Alarms - What they mean and how to fix them

Status widget overview

Status widget

The OpenPilot/LibrePilot flight control firmware has a built-in status system that gives you an overview about what’s happening with the board. The System Health Status widget in the Ground Control Station can be used to diagnose various problems, and to check which modules of the firmware are running.

Arming

The flight control board cannot be armed until crossed-out alarms and red alarms have been solved. All objects, except for the special “Plan”, should be green for optimal flight performance. The information corresponds to the UAVObject DataObjects > SystemAlarms > Alarm.

Status object explanations

Auto (Autonomous)
Atti

Shows the status of the board’s attitude data. If all is well with gyroscope and accelerometer, it turns green after gyroscope calibration upon power up, or if you are using “GPS Navigation (INS13GPSOutdoor)” stabilization mode, when the Inertial Navigation System’s Extended Kalman Filter (EKF) has fired up. EKF is a sophisticated sensor fusion algorithm that takes data from relevant sensors and creates a best possible estimation of the board’s angle, velocity and position.

  • Error Attitude data not available, waiting for gyroscope calibration. Don’t move the vehicle while gyros are being calibrated upon board power-up. There is no data coming in from the sensors, which usually indicates faulty onboard sensors on CC3D and unknown home location on Revo. For Revo this is normal when you have not had GPS fix yet on a new build. The home location will be automatically set when GPS gets enough satellites and good fix. The sensors can be damaged in a bad crash. Otherwise, contact board seller.
  • Critical Data is received from the sensors, but attitude information is not available. This usually happens when the EKF is not running yet. Make sure that GPS and MAG alarms are green, and that all calibrations have been done properly. It sometimes helps to move the vehicle around a bit to give EKF a better view of what’s going on with sensors.
  • Warning EKF is running, but the state estimation is not optimal. Good calibration and moving the vehicle a bit helps this situation.
  • OK The system has a clear view of the state of the vehicle.

“The Bug”

There is a very specific condition that can arise within the system that can sometimes occur after the EKF has been initialised, and the vehicle has been left stationary for an extended period of time.

Fortunately this condition is easily detected and the flight firmware mitigates the event. However, the solution is extremely complicated and beyond the capability of most people, and until such stage as the developers have a chance to address the matter, it’s occurrence is indicated as follows:

  • A large red X appears over the PFD.
  • A Yellow ATTI alarm with STAB green

This event has been nicknamed “The Bug”, and it is still possible to arm and fly the vehicle in this condition.

Should you wish to clear the indication, one can reset the Revolution flight controller, or alternatively, change the Attitude Estimation Algorithm to Basic(Complementary), and then change back to GPS Navigation(INS13). This action will cause the EKF to reinitialise and the indications will be cleared.

Stab

Shows whether the board is capable of stabilizing flight. This status goes very much hand in hand with Atti.

  • Error Waiting for gyroscope calibration. Don’t move the vehicle while gyros are being calibrated upon board power-up.
  • Critical The stabilization module cannot stabilize flight. See red Atti status for explanation.
  • Warning Can be a brief alarm when one gyroscope update is missng.
  • OK Stabilization of flight can be performed.
Path

Shows whether the Revolution board is capable of autonomous path following. Autonomous flight requires a GPS and a stabilization algorithm set up as GPS navigation.

  • Off The flight controller has not been configured to do autonomous flying. Autonomous flight is only possible with stabilization mode “GPS Navigation”.
  • Critical The system has been configured to initialize Path Follower module, but it can’t be used at the moment. It happens usually because EKF is not running, see Atti red explanation.
  • OK All is good with the Path Follower module. You can use GPS flight modes.
Plan

Shows the status of an autonomous flight plan that can be uploaded to Revolution using the Ground Control Station. The status of Path remains yellow until a proper plan has been uploaded, and turns green if all is good with the plan. A valid plan can be activated with a path follower flight mode.

  • Off The flight controller has not been configured to do autonomous flying. Autonomous flight is only possible with stabilization mode “GPS Navigation”.
  • Critical Path has been uploaded, but data is invalid and cannot be used for autonomous missions.
  • Warning No path plan has been uploaded, but the system is ready to receive a plan. This is okay if you don’t intend to do autonomous missions right now.
  • OK A valid and usable flight plan has been uploaded and stored on Revolution.
Sensor
GPS

Shows the status of the GPS that can be connected to an OpenPilot flight controller. GPS is required for autonomous missions and more sophisticated flight modes.

  • Off A GPS has not been configured to be used.
  • Error The GPS has been configured, but no valid data is coming in. This is normal if flight battery is not connected, because GPS only gets power from external sources, not USB. Check the baud rate and the used protocol of your GPS. Double check serial connection, TX/RX need to be crossed between board and GPS.
  • Critical Serial communication is fine but the GPS has no valid fix. Wait for GPS to gather satellites, and preferably have your vehicle in an open area.
  • Warning The GPS has a fix and navigation can be used. However, the position quality is very low (the indication <7 satellites and/or PDOP > 3.5m). A blue LED will flash on the OP v8 and v9 GPS.
  • OK The GPS has a valid 3D fix.

Initial GPS setup information

When powering up the GPS for the first time, it might take over 30 minutes for the GPS to download almanac information from the satellites and acquire a good lock. Be patient, and have a clear view of the sky.

Sensor

Shows the status of the sensor handler module.

  • Off Sensor module is not being used in current configuration.
  • OK Sensor communications are up and ok.
Airspd

Shows the status of an optional air speed sensor that can be used with fixed wing aircraft.

  • OK Airspeed sensor has not been configured to be used.
  • Off Valid data is coming in from the airspeed sensor.
Mag

Shows the status of Revolution’s magnetometer, or the status of an auxiliary magnetometer on board the OpenPilot GPSv9 if the GPS is configured to be used.

  • Off Magnetometer is not being used in current configuration, or auxiliary magnetometer is not feeding data. If using GPSv9, power up the board externally. Home location has to be set to enable magnetometer.
  • Critical Data is coming from the magnetometer, but the readings are off by over 15%. This can be caused by various reasons:
    • Magnetometer has not been calibrated with current vehicle (or after recent modifications to vehicle)
    • There are high currents in wires, interfering with the magnetometer. Twist wires and route them away from magnetometer.
    • Calibration was properly done outside, away from metallic objects, but the vehicle is now inside in a different magnetic environment. This behavior is normal.
  • Warning Magnetometer readings are off by over 5%.
  • OK Magnetometer is working properly and the quality of the measurements is good.
I/O (Input / Output)
Input

Input module handles the data that is coming from your receiver.

  • Critical R/C input has not been configured. Use Input tab or Transmitter Setup Wizard to configure your radio channel inputs.
  • Warning No R/C input data. Power up receiver with the flight battery.
  • OK Valid R/C input data is coming in.
Output

Output module takes motor speed and servo position data from stabilization algorithms, and feeds it into output channels.

  • Critical Channel outputs have not been configured. Use Vehicle Setup Wizard to configure them automatically.
  • OK Outputs are configured and can be updated.
I2C

I2C is a bus that connects onboard or auxiliary sensors and handles the data transmissions. I2C is designed for communications internal to a PCB, and does not work well via wire connections. It is okay to use for LED controls and similar functions, but is absolutely not recommended for flight-critical sensor connections.

  • Off I2C module is not being used.
  • Critical I2C module is in error state.
  • OK I2C communications are up and working properly.
Pwr (Power)
Batt

Battery status shows whether you have enough voltage in the battery to fly. Set limits for this in FlightBatt (CHECK this) settings. It requires a battery voltage sensor to work. Battery monitoring module can be enabled in system settings’ optional modules.

  • Off Battery monitoring module is not enabled.
  • Critical Not enough battery voltage to safely take off. Default limit is 3.1V/Cell.
  • Warning Battery voltage is low, but flying is possible. Default limit is 3.4V/Cell.
  • OK Battery voltage is ok.
Time

Shows whether you have enough energy in the battery left for flying, and requires a battery voltage and current sensor to work. Currently has a bug when not using a current sensor; set the battery capacity to 0. This disables the estimated flight time counter and associated alarms.

  • Off Battery monitoring module is not enabled, see above Batt explanation.
  • Critical Battery energy is low, flying cannot be performed safely.
  • Warning Low amount of energy in the battery, flying is still possible.
  • OK Good amount of energy left in the battery to fly.
Misc
Config

Shows whether your flight controller board has been properly set up.

  • Critical Board configuration problem. If you have set up GPS modes (GPS Assist, PosHold, RTB) to one flight mode, then make sure that “GPS Navigation (INS13)” fusion algorithm is selected.

    CC3D can’t use GPS Navigation (INS13) and do not support GPS Assisted modes.

    Select GPS Navigation (INS13) in Config > Attitude tab > Parameters > Attitude Estimation Algorithm.

  • OK Board configuration ok.

Sys (System)
Boot

Shows that a board reboot is required, or fail-safe settings have been loaded upon boot.

  • Critical Boot alarm can be caused by various reasons:
    • No valid telemetry option selected, so board will boot with default USB telemetry
    • Board init failed due to driver, module or RAM issues, and the board has been booted up in fail-safe state
    • Board has been put to safe mode by the user
    • Board needs a reboot after hardware configuration changes
  • OK Flight controller booted up properly.
Mem

Displays the status of remaining memory (RAM) that are used by processes internal to the flight controller.

  • Critical Very low RAM left, flying cannot be done safely. Less than 40 bytes for CC/CC3D or 500 bytes for other boards.
  • Warning Low amount of RAM left, flying can be done but don’t enable more software modules. This is common with older flight controllers such as CopterControl. Less than 200 bytes for CC/CC3D or 1000 bytes for other boards.
  • OK Sufficient amount of RAM left for system to operate and expand.
Stack

Shows the status of the microcontroller’s stack, which is a place where low-level functions store data.

  • OK Stack status ok.
Event

Shows the status of event system. A very heavy load can cause the event system to be overloaded.

  • Critical Event system error or overloaded. This can be caused by a bug or too high telemetry update rates when OPLink has low baud, for example.
  • Warning Event system at high stress. See above.
  • OK Event system ok.
CPU

Indicates CPU load.

  • Critical CPU load is very high, flight cannot be performed safely.
  • Warning CPU load is high, but flight can be performed. Don’t enable more software modules like TPS or board rotation. Should only occurs for CC/CC3D.
  • OK CPU load is at an acceptable level, and flying is safe.

Introduction

Warning

OPENPILOT WAS DISCONTINUED!

Use LibrePilot instead.

We’ve designed this section and the LibrePilot/OpenPilot Documentation as a whole to flow like a story, guiding you through all the steps necessary for successful setup and flight.

New users will use this section to learn the basics of the system and progress to their first flight, while experienced users can refresh their memory when setting up a new board, or gain insight into more detailed functions and configurations covered in the advanced sections of the manual.

As a new user, try to take things one step at a time, take advantage of video tutorials where available, and follow the manual in sequential order. We’ve provided links to the previous page, next page, and Table of Contents whenever possible to simplify navigation as you progress through the manual.

Let’s get started!

Appendicies

Bootloader Update

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.

Warning

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.

_images/bootloader_halt.png

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

_images/bootloader_halted.png

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

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.

_images/bootloader_rescue.png

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.

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.

Caution

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.

Bootloader Updater Files

Board BL Version Updater Bootloader Note
CC 3 bu_coptercontrol-20120630_5a1efef3.opfw For use with GCS 12.10.2 and lower
CC3D 3 bu_CC3D-20120620_f44b9d3.opfw For use with GCS 12.10.2 and lower
CC 4 CC V4 bu_cc.opfw For use with GCS 13.06.01 and higher
CC3D/Atom 4 CC3D V4 bu_cc3d.opfw For use with GCS 13.06.01 and higher
Revolution 5 Revo V5 bu_revolution.opfw For use with GCS 13.06.01 and higher
Revolution 6 Revo V6 bu_revolution_6.opfw For use with LibrePilot
Revolution Nano 6 Revolution Nano V6 bu_revonano.opfw For use with LibrePilot
OPLMini 4 OPLink Mini bu_oplinkmini.opfw For use with GCS 13.06.01 and higher
OSD 5 OSD bu_osd.opfw For 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 the board, click Erase Settings and wait for the erasure to complete.
  • Disconnect the board from USB.
  • Click Upgrade 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.

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.

JST-SH Connectors

_images/jst-sh.jpg

Description

JST-SH is a 1.0 mm pitch/ disconnectable crimp style connector used on several of the OpenPilot boards. It is used for it small size and reliable connection. Do not confuse it with JST-ZH or JST-XH that are different connectors and not used in the OpenPilot project.

Uses

The Revolution is using the JST-SH 4-pin for telemetry, GPS, UART and other IO ports.

CopterControl is using the JST-SH 4-pin for telemetry and the FlexiPort. It also uses a JST-SH 8-pin on the ReceiverPort for PWM or PPM input, and optionally for PPM input and servo output.

Datasheets

SH datasheet

Indices and tables