Hello and welcome to our community! Is this your first visit?

AeroQuad32 Connections v1

If you are looking for information about the AeroQuad32 v2 board, please head over to this page.

Connecting your ESCs, receiver, and other peripheral devices to the AeroQuad32 v1 flight control board (aka. Baloo v1 or AQ32 v1) is simple but will take some slight modifications of the traditional 3-pin cables. The small amount of extra work is worth it as it keeps the connections clean and allows for a lot of customization. This article details how to connect everything AeroQuad software supports. If you want to connect something the software does not directly support, post in the forums if you cannot figure the connection out and the community will be happy to help you!

Powering AeroQuad32 v1 boards

There are a number of ways to power your AeroQuad32 v1 board. The board requires at least 3.3V to operate, but if you plan to use AeroQuad32 v1 to power 5V devices such as a receiver or XBee, you need to provide at least 5V. The easiest way to power your AeroQuad32 v1 is to directly connect your 2S or 3S battery as shown below.

It is recommended to power up your AeroQuad32 v1 for the first time with nothing else connected, this will minimize damage in case something goes wrong. Once you've powered the board for the first time from your power distribution, start adding other things one at a time to ensure you connect everything right. Accidentally supplying voltage to the wrong pins can damage your board, ensure you are plugging things in correctly every time you add something new!

Powering AeroQuad32 v1 using a LiPo

The recommended method for powering your AeroQuad32 v1 is to connect your power distribution directly to the RAW input. The AeroQuad32 v1 can safely run on a fully charged 3S LiPo, 12.6V. If you're building a small craft and using a 2S LiPo, this will work as well. It should be noted that higher voltages cause the 5V and 3V3 regulators to heat up quite a bit, especially if powering several externals with the regulators (XBee, receiver, sonar, etc.).
So if you are planning to use a 4s LiPo, it's highly recommended to use an external regulator to reduce the voltage supplied to the AeroQuad32 v1 board. Otherwise the 3.3V and 5V regulators may over-heat and be damaged!

Your AeroQuad32 v1 likely came with headers already installed. If this is the case, simply use a servo or JST connector directly from your power distribution and plug it into RAW and ground on the bottom left corner of the board:

If your AeroQuad32 v1 did not come with headers, it is recommended to solder a male servo or JST connector to the RAW/GND pins to ensure the polarity cannot be accidentally inverted. You can do this with the headers already installed, too, it will just be slightly harder to solder.

Powering AeroQuad32 v1 with an external 5V regulator

For advanced users, the AeroQuad32 v1 can be powered using an external 5V regulator, such as a UBEC. The only benefits from doing this are increased protection against reversed polarity (most UBECs have protection against this) and the onboard voltage regulators will not heat up as much compared to using a 3S battery. To do this, connect your 5V regulator to RAW/GND and the 5V pins. If you do this and intend to use the Battery Monitor feature, you will need to use an external voltage divider on the analog pin of your choice and define a BattCustomConfig (see the Battery Monitor wiki page for more info on using an external voltage divider).

Connecting a receiver to AeroQuad32 v1

Traditional Receivers (PWM)

The standard receiver outputs its channels one channel per wire in a PWM format (pulse width modulated). The receiver pins on AeroQuad32 v1 are located on the front of the board - pins 1-4 are on the top and pins 5-8 are on the bottom. Up to 8 channels can be used in normal (PWM) mode, if your receiver has fewer channels than 8, simply leave the excess channels unconnected.

The channels map out to:
1 - Aileron or Roll
2 - Elevator or Pitch
3 - Rudder or Yaw
4 - Throttle (also, PPM)
5 - Mode (Rate/Attitude)
6 - AUX1
7 - AUX2
8 - AUX3

Your receiver likely runs on 5V. There are two 5V outputs next to the receiver pins, which supplies ~500mA. This is enough to power a receiver and another small 5V device or two, but not enough to control a servo (do NOT try to power servos using the AeroQuad32 5V output, it may overheat the 5V regulator and cause damage to your AeroQuad32). Simply connect the 5V and ground lines to one of the 5V/ground inputs on your receiver (no need to connect it to more than one channel) to provide power to the receiver.
Connect the signal cable of each channel from your receiver to the corresponding input pin on the AeroQuad32 v1 board.

PPM Receivers

A PPM (pulse position modulated) compatible receiver is handy because all of the channels are on one wire as opposed to one channel per wire, reducing clutter. If your receiver supports PPM, connect the PPM signal cable from your receiver to input 4 on the board.

Your receiver likely runs on 5V. There are two 5V outputs next to the receiver pins, which supplies ~500mA. This is enough to power a receiver and another small 5V device or two, but not enough to control a servo (do NOT try to power servos using the AeroQuad32 5V output, it may overheat the 5V regulator and cause damage to your AeroQuad32). Simply connect the 5V and ground lines to one of the 5V/ground inputs on your receiver to provide power to the receiver.

sBUS Receivers

sBUS is a serial data stream used mainly in certain Futaba receivers (FrSky also has an sBUS compatible receiver). sBUS is capable of more than 14 channels. Unfortunately, it uses inverted serial logic and the signal must first pass through an inverter before going to a Serial RX port. The AeroQuad32 boards have an inverter built in to Serial3 that is enabled automatically when compiling code for AeroQuad32 with sBUS enabled. Just connect the sBUS signal cable from your receiver to the pin marked below (RX3).

Your receiver likely runs on 5V. There is one 5V output next to the receiver pins, which supplies ~500mA. This is enough to power a receiver and another small 5V device or two, but not enough to control a servo (do NOT try to power servos using the AeroQuad32 5V output, it may overheat the 5V regulator and cause damage to your AeroQuad32). Simply connect the 5V and ground lines to one of the 5V/ground inputs on your receiver to provide power to the receiver.

If you use a beta board (and only then) an external inverter is needed. There are a number of ways to do this - passing the signal through an inverter is the easiest method, but in a pinch, a NAND gate array can be used (see pictures below)

If using the online web compiler, sBUS defaults to Serial3.


RSSI stands for "Received Signal Strength Indicator" and is used to determine how well your copter is receiving commands from your transmitter. The lower the RSSI, the closer you are to losing control. This is most useful when flying via FPV at increased distances from yourself. RSSI can also be helpful when flying via line-of-sight (LOS) as it can indicate some interference in the area not previously known about, but it isn't totally necessary for LOS flying.

Most receivers do not have an RSSI output, and when they do it is generally a PWM output. To be read by a microcontroller, RSSI must be read as PWM or converted to an analog voltage using an RC filter (67KOhm resistor, 100nF cap). To connect this to AeroQuad32 v1, pass the signal through the RC filter into A6 marked "ADC6" (right side, near the reset button) and enable it in the software. The analog pin can be changed in "/Libraries/AQ_RSSI/AnalogRSSIReader.h" if desired but you must compile the code yourself.

Connecting ESCs to AeroQuad32 v1

This information can also be found in the manual: Connecting the ESCs to your flight controller

For more information about the possible flight configurations (quadX, quad+, hexaX, etc.) and the corresponding pin assignments on the AeroQuad32 v1 flight control board visit this page!

Connecting your ESCs to the AeroQuad32 v1 board is pretty easy - there is one set of 3 wires with a black connector on the end. The three wires are either white, red, and black, or yellow, red, and brown. White and yellow are always the signal line, the ESC is controlled with this. Red is always the 5V output from the ESCs onboard BEC (battery eliminating circuit), and black/brown are always ground. There are many different ways to connect your ESC cables to AeroQuad32 v1, but only a few of them are detailed here.

The pins for ESCs on AeroQuad32 v1 are on the rear edge of the board, labeled "PWM Motors" with the numbers 1-8 underneath (the number corresponds to the pin to the left when viewed with the front facing forward). Underneath each one of these pins is a ground connection.

  1. To connect your ESCs to AeroQuad32 v1, you need to swap the +5V and signal lines on the black connector. To do this, carefully pull up on the black tab shown in the picture below and gently pull the wire out. If it is not coming out easily, lift the black tab a little further, but do not lift it too far, it is easy to snap them off. Do this to the red and white/yellow wires and swap their positions - white/yellow should now be in the center.

    This is how it should look when done (swapped lines on left, normal on right):

  2. Alternatively, if your AeroQuad32 v1 board shares a common ground with the battery powering the ESCs, you can cut the red and black/brown wires off near the connector and attach a JST connector to them. This can only be done if the AeroQuad32 v1 ground is already connected to the same ground as the ESCs, which it likely is. I prefer this method for a couple of reasons: first, only the signal wire connects to the board, cleaning things up a bit. Secondly, connecting the ground line creates a "ground loop" and can create a bit of noise on the ground plane. This is not a big deal as the board has protection against it and will run fine anyway, but avoiding ground loops is good practice. Attaching a JST connector to the BEC wires allows you to easily use the ESCs to power 5V devices like your RX, OSD, sonar, etc.

  3. As a slight variation you can also extract just the signal pins from the servo connector housing and use an empty housing for them. You can use 1x1 housing (recoverable from old PC chassises) or 4x1(for quad)/6x1(for hex) to get all motor outputs on single connector. Leaving the GND and +5V lines on the original 3x1 connector allows using servo extension wires for tapping power from them.

Connecting GPS to AeroQuad32 v1

The GPS module is connected to Serial2 (RX2/TX2).

Option 1:
You can build a cable and connect using the bottom connector with this pinout:
X1 - TX (also goes to the edge header TX2)
X2 - RX (also goes to the edge header RX2)
X3 - Ground
X4 - 3.3V
X5 - SDA1_LV (only for I2C GPS, need to populate R59)
X6 - SCL1_LV (only for I2C GPS, need to populate R63)

Option 2:
You can use the edge connectors TX2 and RX2.

Connecting XBee to AeroQuad32 v1

See this page.

Connecting OSD to AeroQuad32 v1

See this page.

Connecting current sensors to AeroQuad32 v1

Current sensing is done on one of the analog ports. See the Battery Monitor page for configuring the software for the various current sensors. Simply connect the current output to the analog pin you choose in the software, connecting ground is not necessary, as the AeroQuad32 v1 should share a common ground with the current sensor through your power distribution already. Analog pins 1 and 6 are already used by rangefinder and RSSI by default, so choose one of the remaining four ports.

Connecting rangefinders to AeroQuad32 v1

AeroQuad flight software is compatible with the MaxBotix line of ultrasonic rangefinders (particularly the LV EZ-0) using their analog output. Simply provide 5V and ground to the sonar and connect the sonars analog output to A1 on the AeroQuad32 v1, near the RX pins.

Connecting camera stabilization servos to AeroQuad32 v1

AeroQuad32’s servo control pins are located on the right side, above the reset button:

Servo connectors are identical to ESC connectors - white/yellow is signal, red is 5V, black/brown is ground. However, servos do not provide 5V, they require it be provided to them. It is not recommended to power a servo using the AeroQuad32 5V output, instead, use the 5V output from an ESC.

Connecting LEDs to AeroQuad32 v1

When connecting LEDs to your multicopter you can power them depending on the allowed input voltage of your LEDs:
  • Directly from your battery
  • From the 5V output from your ESC
  • From an adjustable Power Step-down Module (e.g. LM2596)
  • The RAW edge pins on your AeroQuad32 v1. These pins will have the same voltage as the input power to your AeroQuad32 v1.

The AeroQuad32 v1 has 4 separate channels to control LED's. On the v1 board these are on the bottom of the board next to the PWM ESC connections underneath the RAW pins. They are labeled LED1, LED2, LED3 and LED4 on the board but the characters are mirrored.

These pins are connected to transistors which are controlled by the AeroQuad32's processor and ground. This means you can edit the AeroQuad32 software to turn the LEDs on and off as you desire. The transistor connects and disconnects the pin from ground. You can add to the AeroQuad32 code to set them so they flash at some regular interval, flash or signal some event, or you can hook them up to auxiliary switches on your transmitter.

The negative/ground/low side of the LEDs should be connected to the LED pins on the AeroQuad32 v1 so you can control them. The positive side of the LEDs should be connected to an appropriate power source (considering allowed input voltage), e.g. directly to your battery. The LED pins are conveniently below the RAW pins so you can create one connector which powers them from the RAW pins (if desired) and has the ground side of the LED's connected to the LED pins.

The transistors should handle 500mA, maybe up to 1A. If you are pulling more than 500mA, check that the transistors are not overheating. They are the 4 little black components on top of the board next to the raw pins.

In the AeroQuad32 code, you can turn on and off the LED pins using “digitalWrite()”. Each pin is addressed as PLED1, PLED2, PLED3, and PLED4.

// turn on LED3
digitalWrite(PLED3, HIGH);

// turn off LED3
digitalWrite(PLED3, LOW);
Some convenient places to create a flashing pattern or change the behavior of a pattern is in AeroQuad/LedStatusProcessor.h. This function is called at 10Hz and also shows some tricks to creating patterns.

There is no hardware/timer based PWM available to control LED's with.

This page has been seen 15,594 times.

    • Created by on
      Last updated by on