Testing Landing Gear

I search and was surprised to not find an answer to this. How do I got about testing the function of the landing gear? Essentially I want to test that it retracts and extends when commanded, the RC out/channel is setup correctly, and the PWM output is sufficient to control the landing gear.

How can I test this without flying the vehicle?

The vehicle doesn’t have to be in flight to test the landing gear. Just activate whatever switch on your transmitter you’ve mapped to the appropriate channel and it should Just Work. But note that (from the docs):

If the APM:Copter system is booted up and the landing gear control switch is in the retract position, the landing gear will not retract. This is done to prevent damage to the landing gear or airframe should the switch be accidentally left in the retract position on start-up. In this case, the landing gear will not retract until the switch is first moved to the deploy position, and then the retract position.

Obviously, make sure you have appropriately supported your vehicle to avoid damaging anything when you activate the landing gear retract.

Hi Lars,

Thanks for the reply. I figured there was a minimum relative altitude required for the gear to come up. Good to hear that’s not the case.

So I tried what you suggested and can’t seem to get the gear to work. I hooked the gear servos to a PWM servo tester; it retracts above 1750 and deploys below 1300, roughly. I selected Landing Gear for Channel 10 in QGroundControl, mapped a switch on my transmitter to Channel 10, and then made sure that the switch goes above 1750 and below 1300 when in the high and low positions, respectively. I hooked the gear servos to the AUX2 (RC10) output on the Pixhawk.

Needless to say, nothing happens when I flip the switch. Not sure where to go from here.

That is just about identical to my configuration. On my pixhawk (running Copter 3.4) I have:

  • CH12_OPT = Landing Gear
  • RC12_Function = LandingGear

On my transmitter, I’ve mapped the GEAR switch to channel 12. I have the landing gear controller attached to AUX4.

With power applied and the pixhawk armed (this is critical; if you haven’t armed it won’t deliver signals), I can flip the GEAR switch to activate the landing gear.

An obvious check is to remove the pixhawk from the equation. If you connect your landing gear controller directly to a PWM output on your receiver, do they behave as expected?

Hi Lars,

In the Flight Modes section of QGroundControl I simply set Channel 10 to be Landing Gear. Is that not enough to enable the gear in the flight controller? I see you have set RC12_OPT and RC12_Function. I did not go into the parameters list to make any changes link this.

I don’t think you necessarily need to make any changes in the parameters list, but that is by far the easiest way to describe your current settings. Whenever you make configuration changes (in the flight mode screen or elsewhere) you’re just using a fancy UI for setting parameters.

In your case, you would expect to find both CH10_OPT and RC10_Function set correctly. If RC10_Function is not set to LandingGear, try changing it and see if that helps.

Hi Lars,

I got it to work with your suggestion as follows…

CH10_OPT = Landing Gear
RC10_Function = LandingGear

Both need to be set in order for the landing gear to function. I also had to reverse channel 10 on my transmitter so it functions as expected; I mixed up the retract and deploy PWM values in my first post.

Thanks for your help!


I have upgraded my FC to PH2.1 and upgraded to copter V3.5. Now my landing gear does not work anymore.
In the Copter docs the switch mapping is set to: RC9_Function = LandingGear. But this function is no more there in the full parameter list.

What is the way to fix this?

Just spitballing here… is there still CH9_OPTION = LandingGear?

What if you set RC9_FUNCTION to RC pass through?

Problem solved!

I had lgr-servo-deploy set to high. All is working now as expected.

Thank you for your thoughts Mike.

FYI. I had the same issue above with landing gear from Banggood. I set LGR_SERVO_DEPLOY = 1050 and LGR_SERVO_RTRACT = 1950 and it started working! Just thought I’d share.