Warning | Text=Always remember NOT to change values with the configurator while the main LiPo is connected to your AeroQuad! It may result in unexpected behaviour and serious injuries!

What is it?

The purpose of this tool is to allow the user to setup the AeroQuad before its first flight and to quickly adjust settings for desired flight characteristics. The user will be able to graphically observe correct operation of the sensors, transmitter commands and motor control of the quadrocopter. Additionally there are user programmable values such as PID control loop values and the Transmitter Factor that can be adjusted and stored to the AeroQuad's EEPROM.

It is highly recommended to first checkout the AeroQuad without motors connected (or powered on) with the Configurator.

Download the Configurator Here

The latest version can be found at our Downloads page.

Alternative Configuration Method

An alternative way to configure the AeroQuad is to use the Arduino IDE's Serial Monitor. To do this, simply connect the Arduino to your serial port and click the Serial Monitor button on the toolbar. In the lower left hand side of the IDE, you will see a pull down to allow you to set the serial link's baud rate. Select 115200 for the baud rate. The AeroQuad responds to single character commands which can be entered into the text field in the lower right hand side of the IDE. When ready, press the Send button to transmit the command to the AeroQuad. Follow this link for a complete description of the AeroQuad serial commands.

Connect to the AeroQuad

The general layout of the Configurator is that the left hand side of the screen will show you telemetry (or status updates) from the AeroQuad while the right hand side will allow you to send commands for user configuration of the AeroQuad.

Use this screen to connect to the AeroQuad by either using a USB connection or through a wireless connection such as XBee or Bluetooth. Select the COM port to use. If you don't see the COM port of the connection method you'd like to use, select "Refresh" in the Communication Port pull down control. Click on the Connection Type button to choose between USB and a wireless connection. There are some Arduino Duemilanove 328's that have an approximate bootup time of 5 seconds when connected via USB, while an Arduino Mega takes about a second. Select a USB Bootup Delay that works for your setup.

Note | Text=If you are using Flight Software version 2.5 or newer, the default baud rate is 115200. If you want to know how to change it, take a look here.

After connecting to the AeroQuad, you will see flight data being updated and displayed on the indicators on the left hand side of the screen. The large blue indicators show the response from the AeroQuad's gyros. When you move the AeroQuad, the angular rate of change will be displayed on this screen. Also you can view the motor output from this screen, by arming the motors and moving the transmitter sticks around.


Initial Setup

If this is the first time connecting to the AeroQuad with the Configurator, you will need to go to the Initial Setup screen that can be found on the right hand side pull down menu. Be sure to go through all initialization buttons before your first flight. These initialization steps can be done in any order.

When performing the Initial Setup, the first step is to hit the Initialize EEPROM button. This will store the default values in the AeroQuad's on-board memory. Things like transmitter control won't work until this is done.

Transmitter Calibration

The next step is to perform a transmitter calibration. By hitting the Calibrate Transmitter button, you will be taken to the Transmitter Adjustment screen where you can see what the AeroQuad sees when the sticks are moved. It is important to follow all on-screen directions, in particular to set all settings to its default state. If any channels appear reversed, use your transmitter's channel reversing function to correct it. After completing the calibration, verify that all sticks and switches move between 1000 - 2000 microseconds. The transmitter calibration can be re-run as many times as required, all calibration data gets stored to the AeroQuad automatically.

Sensor Calibration

When performing the Calibrate Sensors step, you will be taken to the Sensor Calibration screen. Here you can set the analog voltage reference used for your microcontroller. In the majority of cases, the default values will work fine, but since the user has the flexibility to modify the code and hardware to their own requirements, this screen can be used to customize this aspect. This value is important to optimize the microcontroller's on-board analog input measurements as best as possible. If you are using an AeroQuad shield, just select the shield used and the correct AREF value will be selected for you. Now insure that the AeroQuad is on a flat level surface (you may need to separately verify that the sensors are mounted level in your frame|none) and that it is kept still (no motion during calibration). When ready, hit the Calibrate Level button to perform both the gyro and accelerometer calibrations. The user also has the option to calibrate these sensors separately by hitting the appropriate buttons on the left hand side of the screen as desired. On the right hand side of the screen the user can also modify the AeroQuad parameters related to the sensors. The Gyro and Acc Smooth Factors remove noise measured by these sensors. The lower the number, the more noise will be removed, but at a cost of slower response from the sensors. The default values are good starting points and can be modified depending on the vibration experienced with your frame|none setup. Choose a Smooth Factor that is high enough to remove noise and that gives you the fastest response from the sensors as possible. The Raw Sensor Data telemetry screen helps you to see the smoothing effect of the Smooth Factors. The Complementary Filter setting filters the noise as seen on the Artificial Horizon. The higher the number, the less filtering occurs but the response is faster.

Manual Motor Command

Performing the Calibrate ESC's step will setup the Electronic Speed Controller to utilize the full throttle range available. It will also insure that all motors produce an even amount of output power for each ESC command sent to it. If this step is done improperly, it is possible to make all the motors go full throttle. To prevent this, follow each calibration step exactly. Most importantly insure that there is no battery power applied to the motors/ESC's at the start of calibration. After the calibration has been performed, you will be taken to the Motor Commands screen. Use this to individually spin up each motor to make sure they are working properly. Also when they are all set to the same output level, verify that they all spin up at the same rate. Be sure to check that the front and rear motors spin clockwise, while the left and right motors spin counter-clockwise, assuming the AeroQuad is configured for "+" flight (this is done by setting the right #define statement in the source code file AeroQuad.pde). If you are configured for "X" flight, then the front motor is now the front/left motor, the right motor is now the front/right motor, the left motor is now the rear/right motor and the rear motor is the rear/left motor.

Flight Configuration Screen

The Flight Configuration screen allows the user to see basic telemetry coming from the AeroQuad. There are pull downs that allow the user to see a real-time plot of the PID responses and Gyro sensor output. Or you can view the large gyro indicators for a quick check that everything is working OK. When the transmitter controls and ESC's are calibrated, you can also verify correct operation of the motor output by using the pull down menus to see a graph or bar plot for motor responses. These are great tools to use to make sure the AeroQuad is flight ready when performing the Pre-flight Checkout. In the right hand side pull down menu of the Configurator, the user can select Acrobatic Mode or Stable Mode. Theses show the screens used to configure the PID values for each mode. Acrobatic Mode uses gyros only to stabilize the AeroQuad. Stable Mode uses both the gyros and the accelerometers to stabilize the AeroQuad. Please note that Stable Mode is still being improved and is considered experimental for now. When initially setting up your AeroQuad, please make sure it flies well with Acrobatic Mode before experimenting with Stable Mode.

Artificial Horizon

The Artificial Horizon screen will use the gyro and accelerometer data to calculate the attitude of the AeroQuad using a Complementary Filter. This indicator is similar to what a pilot would see in an aircraft. This screen will add heading and altitude information as well as the flight software and hardware improves and matures.

Raw Sensor Data

The Raw Sensor Data screen shows most of the sensor data centered around zero, but with no filtering applied. Plots can be hidden by unselecting each check mark. The look of each plot can be modified by left clicking on the plot line that represents the signal of interest in the legend found in the upper right hand side of this screen. If the user would like to change the scale of this plot, simply left click the number and type in the desired value. This capability is available with all plots in the Configurator. For more information about sensor orientation and the corresponding raw sensor data visit our dedicated page.

Heading Hold / Yaw Configuration

The Heading Hold screen will allow the user to view the performance of this feature when it is enabled with the correct #define statement in the source code file AeroQuad.pde. You will need to arm the motors and apply at least 1/3 throttle to see the heading hold feature in action. Once the user applies any yaw commands, the heading hold will reset itself so that when the new heading is achieved, the heading hold function will resume operation. The threshold of when the heading hold is turned on/off can be viewed with the Transmitter Yaw Command indicator. The user can also configure yaw/heading hold settings by selecting the Yaw pull down menu item on the left hand side of the Configurator. The PID values used to control yaw can be changed here as well as the PID values used to maintain heading hold.

Serial Monitor

The Serial Monitor screen is similar to the serial monitor found in the Arduino IDE. It is provided here for those users who have setup custom commands and telemetry in the source code files (SerialCommand.pde and SerialTelemetry.pde). This screen will provide the capability to send direct serial commands to the AeroQuad and view the raw ASCII string responses. A description of the serial commands and telemetry can be found here.

Data Storage

The Data Storage screen is only available for the Windows version for the moment. It is used to store raw data at a rate of 100ms. There is also a viewer that can be used to plot the data. There is a plug in tool to convert this data (stored in TDM format) in Excel for further manipulation.

Additional information

AeroQuad Configurator