I'm confused and a bit frustrated, would appreciate any help as I'm not sure how to proceed.

Setup: I have a pixhawk autopilot running Arduplane 2.77, using Mission Planner 1.2.95

I've been following this guide to get my CHDK enabled camera working with my pixhawk. I'm interested in getting the camera triggering based on distance traveled.

Obviously the guide was written with APM in mind, so it needs to be adapted a bit for pixhawk; specifically the setting for RELAY_PIN. I've kept the rest of the settings the same as in the tutorial.

Pixhawk has 6 AUX ports according to the quick start guide, I am assuming that the numbers above the pins correspond to the AUX port numbering. When you mouse over the RELAY_PIN parameter, it says that pin 54 corresponds to Pixhawk FMU AUX1.

Tried setting RELAY_PIN to 54, no joy. Did a bit more looking, discovered in the release notes for 2.77: 

"Improved relay code
The relay and servo set code has had a major overhaul, with up to 4 relays now supported for MAVLink control and much better support for the DO_SET_SERVO, DO_SET_RELAY, DO_REPEAT_SERVO and DO_REPEAT_RELAY MAVLink commands. Along with these changes is a new parameter BRD_PWM_COUNT which allows you to specify how many auxillary PWM outputs to enable, with the remaining outputs being available as digital relays. This allows you to re-assign some of the aux servo outputs on Pixhawk for use as relays, by setting the RELAY_PIN, RELAY_PIN2, RELAY_PIN3 and RELAY_PIN4 parameters. The pin numbers for these pins start at 50 for the first aux servo pin, and go to 55 on Pixhawk."

Additionally,I found this github issue about this same problem that states that the Pixhawk can't trigger CHDK because its relay pins operate at 3.3V instead of 5V.

So i suppose my specific questions are:

1) Is AUX1 pin 50 or 54?

2) Can anyone confirm that the relays, when working properly, won't be able to trigger CHDK?

Views: 68409

Reply to This

Replies to This Discussion

Man this is a mess. I can't get this to work with the current version of apm plane. I have a proper cable made with the sparkfun voltage converter.

I need clarification here, or I'll go insane!

Will this work using the sparkfun converter and "relay" mode on a pixhawk? OR Do I need to build Marco's circuit. I don't want to use a PWM switch.

How did this get so messed up? Any help will be very much appreciated!


I feel your pain.

I haven't read the rest of this thread, but have you established that you are getting a voltage at the pins? i.e., when you activate the switch on your TX, do you get 3.3V at the desired pin?

There  are a number of things that need to be set such as the relationship between the input channel and the output channel (aux pin).

My settings are;

CAM_TRIGG_TYPE  is set to Servo

CH7_Opt is set to camera trigger

RC10_FUNCTION is set to Camera Trigger

CAM_DURATION is set to 1 second

CAM_SSERVO_OFF is set to 968

CAM_SERVO_ON is set to 2070

If you can see 3.3V at the pin when you want to trigger, then the issue is with the cable.

I have just received the Sparkfun step ups, so I will let you know how I go with them.


The short answer is no. The Pixhawk has the right voltage but cannot supply enough current to power the sparkfun voltage converter. You need to build Marco's circuit.

Hi Reuben

Iam interested in looking at your schematic

Do wish some one would just make a pixhawk ChDk Cable with circuitry built in

Any one know if 3D robotics is going to make & sell one or any other premade

was thinking 3DR must have solution that there using on the X8-M it uses pixhawk with a canon Sx260


Hi Zoom 

Yes its pretty easy, just use an RC switch and if you need to short the two pins on a camera, do as the picture shows , or you can send 5v to the camera such as CHDK requires just follow the other picture (by adding a 5v line from the pixhawk to one side of the fet) Red line in the picture. Remember to set in MP to use the aux out set as "servo"..easy as that.

Cheers Reubenn

What a mess indeed.  The wikis and forums are littered with false and misleading information on this topic.  I wasted the better part of a weekend trying to get the Sparkfun voltage converter and/or a Turnigy relay switch to work.  Even *with* good clean 5v being supplied to the rails, I could not get either device to work.  Marco's circuit worked great and *that* should be the solution on all of the wikis.  In particular, the APM wiki has the following misleading statement:

"For Pixhawk, connect the CHDK cable to aux out pin 5. However, this pin outputs only 3.3V, and 5V are required to trigger CHDK. To convert to 5V, you’ll need to integrate a step-up converter (like the one here from Sparkfun) in-line with the cable to trigger CHDK."

There is a tutorial video on flightriot.com showing the use of LED light controllers with the Sparkfun voltage converter.  This arrangement seems to work, but I don't understand why/how and it doesn't seem like a good solution.

Does anyone know how to get the APM wiki fixed?


Gary, the wiki is correct.  Either the sparkfun converter or Marco's circuit work fine.


I have to agree with Gary. I, too, purchased the SparkFun converter and found that it would not work with a PixHawk. The PixHawk has 3.3 volts alright, but cannot supply the current to drive the SparkFun converter to deliver the 5v output while Marco's circuit worked just fine. 

It works on all the vehicles we have here.

I'm going to guess what your trouble is.  The Pixhawk does not supply 5V to the converter.  You have to supply it from a separate source. i.e. a second power module or BEC.

I see the problem, there must be multiple types of SparkFun converters, the one I received does not have a place to provide 5V from the servo rail. See photo below.

Any chance you could post a photo please Reuben? This is technically challenging for some of us, LOL.

The picture shows the same one I have.  Is there another one?  I thought that supplying 5v to the servo rails via BEC (which is what I'm doing) would boost the current on the 3.3V Pixhawk output signal enough to make this device (Sparkfun) put out a clean 5v signal on the output (middle "5V OUT" connection).  Not true?

I'm simply connecting:

  1. Pixhawk 3.3v (AUX OUT #5) "signal" output to the "1-4V IN" on the Sparkfun
  2. "5V OUT" on Sparkfun to positive USB (Canon camera)
  3. Pixhawk 3.3v negative to "GND" on Sparkfun and negative USB Canon (common gnd)

Is this not correct?

With a multimeter on #2 and #3 above, I am *not* seeing a 5v signal.

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service