Servers by jDrones

Different Helicopter control system configuration

Hi everyone, I’m building a Single Rotor Helicopter with a different control system and am trying to figure out if I can use Ardupilot to control it, and if so, which configuration to use. Could someone point me in the right direction?

I do not use a swashplate, so it is:
• Fixed Pitch (No CCPM)
• Flybarless
• No Cyclic
• No Collective

All servos are independent of each other
Servo #1: Aileron
Servo #2: Elevator
Servo #3: Rudder
Servo #4: Throttle (Z axis Ascend/Descend)

I read in the Swashplate setup wiki that there is an H1 option that seems close to what I want,
“H1 non-CCPM - Servo1 is aileron, Servo 2 is elevator and Servo 3 is collective”
I was unclear what “Servo-3 Collective” meant in this case as I thought non-CCPM implies no collective pitch


Hi Charles,

H1 does not mean no collective pitch. H1 relies on mechanical mixing of cyclic and collective pitch to move the swash properly. In CCPM, the mixing is done in the code and then sent to the servos.

If you are doing a fixed pitch heli. Then I think you need to use a multicopter configuration. I think it would be singlecopter

Thanks for the response Bill. So confirmed that a swashplate configuration will not work.
I did look at the SingleCopter you recommended, That would almost work. The problem is the Yaw, which uses a compound movement of both the Aileron and Elevator Servos.
I need the Yaw to be a separate servo that goes to the rudder
I think you are correct that it needs to be the configuration that “Fixed Pitched” Helicopters use, but I’ve not been able to find any information on how to setup Ardupilot for a fixed pitch helicopter.

My configuration uses all the same controls as a regular plane, the only difference is that it VTOLs and hovers. And Ascending/descending is done exclusively with throttle. So wondering if I could use arduplane, but will the fact that it hovers confuse the controller software?


Sounds like a quad plane config. I think plane supports quad planes

Thanks again Bill, I looked at the Quad plane, but don’t think that will work as I don’t actually have any motors.
I think the best fit for my configuration would be a Fixed Pitch Helicopter.
Would anyone here know how to setup Ardupilot for a Fixed Pitch Helicopter. I don’t see it mentioned anywhere in the documentation

Well if you don’t have cyclic then how are you controlling pitch and roll?

I suppose you could use a helicopter setup with the H1 swash. Then servo 1 would be aileron and servo 2 would be elevator. Then you could use the throttle curve in the Rotor speed controller. That way collective would be directly linked with throttle. You don’t have a collective servo but that would link your collective stick with the throttle output servo. You are definitely tricking the system but it should work.

I don’t think there is a configuration specifically for a fixed pitch heli. At least not that I know of and I’m the heli maintainer.

Thanks Bill, I think that using the H1 the way you are suggesting would work. It would be simple as it matches my controls. So I’m assuming there is a separate servo that controls the tail rotor pitch?
Can I use that tail rotor servo to control a rudder instead?

And to answer your question, I’m controlling Pitch and Roll by moving CofG.

Thanks for all your help. appreciated

Yes, just keep the default tail rotor setting. It is designed to control the tail rotor servo which controls tail rotor pitch but you can use it for the rudder.

By the way the default settings for helicopter with H1 swashplate is
Servo #1: Aileron
Servo #2: Elevator
Servo #3: Collective (which you’ll connect to throttle via the throttle curve)
Servo #4: Tailrotor (Rudder)
Servo #8: HeliRSC (throttle) This is controlled by the throttle curve.

1 Like

That servo configuration should work for me.

Thanks again for your help Bill.
I have some work to do now :slight_smile:


1 Like

I agree with Bill, H1 should work fine. I assume you are tilting the rotor fore and aft, and side to side, for directional control. Your throttle to vary the speed of the rotor to change thrust for vertical control will be on SERVO8 and just adjust the throttle curve (probably a linear 0-25-50-75-100 curve to start with). There will be no servo connected to SERVO3 - it won’t be used.

The autopilot will adjust the rotor speed by changing the collective on SERVO3 for altitude control, which is tied directly to the throttle on SERVO8 thru the throttle curve. Getting the throttle curve adjusted properly will be the “trick”, otherwise it should work fine.

I assume you are using a little motor on the tail for rudder, since changing the rotor speed with a transmission-driven tail will also change tail rotor speed and vary the yaw thrust. The Direct Drive Fixed-Pitch tail option in ArduPilot will work for that. DDFP changes the speed of the tail motor independent of the main rotor. I have flown DDFP on sizes up to 500 with good success. I tried it on 600 and it didn’t work due to a DDFP tail motor not having fast enough response for bigger helicopters.

If the helicopter is coaxial (two rotors turning in opposite directions) then you do not need a tail motor and yaw control is achieved by varying the differential speed, or collective pitch, of the two rotors. ArduPilot can only do this with coaxial helicopters by mechanical mixer that changes the collective pitch independently on the two rotors. It cannot handle a full fixed-pitch coaxial system that has two motors driving the rotors in opposite directions at independent speeds, as it has no mixer for that.

Thanks for the additional insight and confirmation Chris. Your assumptions are correct. Your feedback will save me some time in trial an error. appreciated.


Servers by jDrones