» S

AutoQuad PPM Support


There have been reports about PPM converters producing voltage spikes which might lead to a fried AQ MCU. So please measure the voltage output of your PPM units to avoid spikes >5V! Read more about it in a recent  forum discussion .

Always power your transmitter first!

Background info

Initially AQ used Spektrum satellite receivers as the only Rx option available. For 11-bit Spektrum satellite all channel values will be in the range 0-2048. That’s what satellite is sending to AQ. To further facilitate programming, all channels except throttle are translated to the range from -1024 to +1023 with 0 being center stick position. Throttle channel is translated into the range -338 to +1709. These values are then used internally throughout AQ code. Actually due to endpoints set at 100% instead of 150% on most Tx, you get ranges like -680 to + 680 for everything except throttle and 0 to 1370 for throttle.

Later on, support for other types of receivers was added. Instead of making a lot of changes all over the code it seemed more logical to translate values from those “new” receivers into the same ranges listed above. For example, for normal PWM receiver, value range would be roughly +950 to +2100. (It will vary depending on both receiver and transmitter – hence the need for calibration on most flight controllers. Currently AQ does not have calibration support and in case you get values totally out of range, you may need to adjust your radio outputs or tune AQ parameters.

Here are the approximate values one should see in the radio output section of the AQ ground station software Radio Values screen:

 Throttle (Ch1) => approx 0/+1400
 Roll     (Ch2) => approx -700/+700
 Pitch    (Ch3) => approx -700/+700
 Yaw      (Ch4) => approx -700/+700
 GEAR     (Ch5, 2-position switch, e.g. cam-trigger or landing gear) => any high/low position
 FLAPS    (Ch6, 3-position switch, flight modes) => approx -350/0/+350
 AUX2     (Ch7, 3-position switch, home action) =>  approx -350/0/+350
 AUX3     (Ch8, dial knob, e.g. for gimbal tilt passthrough) => any position

As of AQ version r22 , further improvements have been made along with a PPM_SCALER parameter. This eliminates the need to edit the code and recompile. The default PPM_SCALER value of 3 works fine with FrSky and Graupner HoTT systems. The parameter value can be changed in the PID parameters section of the QGCS application.

If needed, first try some minor adjustments of your radio channel endpoints to get close to the numbers above. They don’t have to be exact. If they are really far off, then try a different  integer  PPM_SCALER value and adjust endpoints again.


Connect the PPM output from your RC receiver to connector M14 on the AQ board. You can supply +5V to power the receiver if the board’s solder pads are bridged on that connector.  Conversely, if you are powering the receiver separately from a BEC, ensure that you are not backfeeding positive voltage into the AQ.


Various manufacturers implement PPM differently from the specifications initially proposed by Phil Kraft back in the 1970’s.

You will have to ensure that your transmitter/receiver sends a PPM frame that has the correct number of channels with a valid frame gap (guard pulse) length (at least 2700ms). If you need to remap channel assignments, you can either do it in your transmitter; or modify the mapping in the ground station software radio setup screen.

Signal quality is inferred from the duration of lost frames.  It is not a true RSSI number.

Stage 1 signal loss will enable Position Hold.  Stage 2 Loss function can be configured in the ground station setup, under Special Settigns.

If your receiver supports it, you can set an explicit failsafe condition upon signal loss.  For example: enable RTH (AUX2 @ low position), center Roll, Pitch, Rudder and Throttle. If you are unsure about what you are doing, do not attempt this as it can result in unintended and possibly catastrophic consequences.

Please remember to set a Home position to ensure proper failsafe recovery!

This page was created on 31-Aug-12 by menno. Last modified on 17-Oct-14 by Christof Schmid.