External Signaling – LED/Beeper
In this section external signaling is introduced. The AutoQuad 6 has 14 PWM outputs (9 on the AQ M4), but some are often not needed (who has 14 motors to control?). To have some visual/aural signaling about the status of the AutoQuad, some outputs can be used as normal digital/analog outputs to drive LEDs, buzzers/speakers, or other external devices.
What does it do?
- Drives an external LED for display the arming / disarming status (steady / flashing).
- Drives a 2nd external LED for autonomous status (position hold, mission, etc).
- Displays the 2 stages of battery low voltage, stage 1 slow flashing LED 1 & LED 2, stage 2 fast flashing LED 1 & 2.
- Drives either a piezo buzzer (self oscillating) or piezo speaker for audible warnings (eg. arming/disarming, low battery, etc).
- Outputs a PWM pulse corresponding to current flight mode/etc. This could be used with an external device which reads PWM pulse width and does things accordingly (for example a brushless ESC running custom firmware).
Each output type (LED1/LED2/buzzer/PWM) can be configured independently on any of the available AQ “motor” ports in the AQ QGroundControl GUI under Config -> Mixing & Output -> LED1 / LED2 / Beper / PWM.
Driving the LED’s
The AutoQuad signaling port is capable of driving a 5V output with max 25mA current. That can be used to direct drive an LED with a current limiting resistor, or use the output to drive relays or high voltage/current LED’s.
There are many way’s to drive a LED, but if you only want to drive one/two LED signal(s) (that can obvious contain a lot more LED strips) with 12V you can use a simple NPN transistor capable of driving your LED strips (BC337 for example).
Example, driving a (set of) 12V led strip(s) with max 250mAh per set from connector M7.
With an AQ M4 you can also drive some LEDs with the onboard brushed motor controllers (if not using them for motors, obviously). Here’s how to hook that up (use the negative/ground side of the M1-4 motor connectors).
Your buzzer/speaker needs to be a 5v type. Simply choose an available motor port on the AQ and connect the speaker/buzzer positive (+) wire to the AQ signal pin, and negative (-) to the AQ port ground pin. If using a piezo speaker (not self-oscillating buzzer), then be sure to check the “Use Speaker” checkbox when setting up the Beeper port in QGroundControl.
|Event||LED 1||LED 2||Buzzer||PWM|
|Disarmed – No GPS||200ms on, 200ms off||Off||Off||1025|
|Disarmed – GPS Fix||500ms on, 500ms off||Off||Off||1075|
|Heading-Free Active||800ms on, 200ms off||Off||Off||1575|
|Altitude Hold||On solid||100ms on, 400ms off||Off||1225|
|Position Hold||On solid||On solid||Off||1275|
|DVH||On solid||100ms on, 100ms off||Off||1375|
|Mission||On solid||100ms on, 900ms off||Off||1325|
|Low Battery Stage 1||200ms on, 800ms off||800ms off, 200ms on||2x 100ms beeps/sec||1425|
|Low Battery Stage 2
Radio Loss Stage 1
|100ms on, 200ms off||200ms off, 100ms on||2x 200ms beeps/sec||1475|
|Radio Loss Stage 2||200ms on, 800ms off||800ms off, 200ms on||2x 200ms + 1x 100ms b/s||1525|
|Armed||On solid||500ms flash||1x 100ms beep||1025|
|Disarmed||On solid||500ms flash||2x 100ms beep||1125|
|Heading-Free Reference Set||200ms on, 200ms off||200ms off, 200ms on||1x 1s beep||1525|
These patterns are defined at the top of the signaling.c file. There is currently no way to change them w/out re-compiling the firmware.