How adjust collective pitch in MODES

Not explained in WiKi. The position of collective pitch in stabilized mode, should blade pitch be at ZERO? Or at Position Hold? I would expect ZERO in Position hold since the firmware is adjusting collective pitch in flight.
How adjust collective pitch at these positions? Right now have large difference in collective pitch and the cyclic settings change too. Not suppose to do this! Can collective and can cyclic be set to be different in stabilized and position hold modes? The servos have only one connected position, no splines for different positions.

Hi Ed, I’m sorry but I don’t understand what you’re asking here. You’ll have to add some more details because I’m not sure what you mean by zero in this case. The collective pitch curve is different in stabilized mode than it is in any of the other modes. The collective pitch curve and stabilize mode is governed by the IM_STB_COL Parameters. All other modes use the full range of collective defined by H_COL_MAX and H_COL_MIN. For all modes that use the altitude hold functionality for the vertical axis, the lower limit of the collective while the aircraft is landed is defined by H_COL_LAND_MIN.

The cyclic and collective pitch can be very different between modes and that is by design. Some modes have direct control over collective and cyclic pitch and other modes do not because your stick actually commands other things. For example, when you have altitude hold set your collective actually commands vertical rate and when you center your collective it will hold the altitude. So you’re collective is not directly linked to your collective stick. The only way you can look at the collective in cyclic movement without having any other inputs modifying it is using the H_SV_MAN setting

Thank you. I understand the methodology. What I meant by ZERO is 0 pitch.
When powered up, get flashing red, then blue and red, then set power button, goes solid red. But, get flashing yellow. I moved the GPS to the rear boom by soldering in longer wires. I now have compass calibration correct and GPS acquires 3D fix. Got a green light!!!
MiniPix pointed to left GPS faces forward.
However, it now is working. Test flight soon.
MiniPix_Innovator_Param.param (13.4 KB)

Test flight. No crash. Helicopter jumps up and down about 8 inches in flight. It is as though some hand is pumping the collective. I think it may be because the helicopter was a Raptor mechanical mix system. It is a much modified ThunderTiger Innovator to 3 servo eCCPM. See pictures. I repositioned the ball links for servo 1 and 2 to equalize travel to the swashplate. There is a slightly greater movement in sero1 (left side) so collective slightly changes the tilt at lowest collective. Changing max or MIN does not seem to help. Is this adjustable in MP. Changing end point in TX did not work.

t the rear servo linkage makes too much movement and that the side servos movement may be non linear.

Got a log? What flight mode were you in?

I reduced the jumping it by shortening linkage travel. I think the grey belcranks need to be changed to 90 degrees types. The rear servo drive is all 90 degrees linkages. I suspect uneven drive from servos to swashplate.

I was in PosHold. I found the .bin here.
2022-07-06 09-01-50.bin (480.0 KB)

Tried 90 degrees belcranks. No improvement in flight but better swashplate movement in collective positions. Here is new .bin. The flights are less than a minute. Still jumps, but much less.
2022-07-06 09-01-50.bin (480.0 KB)

Hi Ed,

This is most likely due to your swashplate setup being more sensitive to collective movements. In most cases the ACCEL_Z_P parameter set to 0.3 will not cause this collective pumping in an flight mode that used the althold controller in the vertical axis which in this case you were using Poshold.

BTW, you should really upgrade to 4.1.5 or the most recent stable version of 4.2. This firmware you have loaded is more than 5 years old.

What is your collective blade pitch range in deg? i.e. -2 deg to 10 deg?

Your swashplate servo arrangement is very non-uniform. It is very important that all of the swashplate linkages to the three swashplate ball links are similar and the throw of each swashplate servo is the same. If they are not, then there is a lot of mechanical coupling caused by the swashplate servo and linkage setup. I know on a model like this (450?) that space is not all that plentiful and reworking the control linkages and servos is difficult but it is very important to get the servo throw between the three servos to result in the same vertical movement of the swashplate ball link. That being said, even if you get the travel to be the same, there is also non-linear throw that could occur due the arc of the servo arm travel and relationships to the bellcrank. That is probably why in most cases you’ll see the bell crank arm length and the servo arm length to be the same and the axis about which they rotate is parallel. It transfers the rotation and doesn’t create non linear throw. for instance in your picture that shows the left side of the heli, the bell crank and servo axis of rotation are parallel but the arm lengths are different but in the picture of the right side, you have a servo with the axis of rotation being vertical and the bellcrank being horizontal. That is going to cause problems. also it appears that the linkage is at an angle. this can cause a lot of coupling in the swashplate.

Hope this helps.


Thank you, Bill. Very helpful.
Pitch range is +14 max, -2 min and about +8 at stick middle in stab Mode. I will correct.
As advised, updated helicopter firmware to V4.1.
Servos follow TX fine. But, swashplate movement when tilting helicopter is way off.
MiniPix is at 270 degrees and GPS/Compass is 0 degrees. When performing compass calibration, MiniPix is 0. GPS/Compass is 180 degrees. Both are wrong. I parameters, I reset them. AHRS internal compass to 270 and GPS/Compass to 0.Now the swashplate moves as it should. Am I finding an error in V4.1?
New firmware not show accel_z_p??
Regarding swashplate and levers. I now have 90 degree levers. New pictures.
How change battery cell count?

This is better. but you really need to fix the setup of the servo on the right side of the heli. I think you should use the servo that is currently being used for the tailrotor. You can mount the tailrotor servo somewhere else and redo the control rod. Its critical that the swashplate servos be set up as close as possible to each other. with what is currently the tailrotor servo, you can either turn that servo arm 180 deg and connect to the swashplate servo bellcrank or turn the bell crank 90 deg counter clockwise so the arm is pointing down. You might consider putting the tailrotor servo back on the plate behind the motor. Just a thought.

I loaded the V4.2.1 firmware. Then I loaded my previous parameters. The new firmware anticipates a lot of new values that I do not have. Controller blinks red many times. Then works. Red blinking suggests something is wrong. Heli won’t arm, but there are no errors reported.

If you look in the mission planner messages tab, you should see the prearm error. I suspect it is the new Params I added for collective setup. You will see two new parameters in the full parameter tree under the H_ group. Please follow the wiki to set them up. It is basically telling the autopilot what you min and max collective blade pitch is in deg.

Just a word of warning. There is a bug in that version that is in the autotune feature. So be sure to upgrade to 4.2.2 when it comes out before you run autotune.

Meanwhile. I did the corrections. Thank you. Bill, I am trying this heli with the MiniPIx because two previous flybarless controller the same collective jumping. I assumed it was a linkage issue. I have reworked the linkages many times. Thunder Tiger came out with their upgrade of the Innovator to flybarless. I have one of them. It jumps too, but minimally. They used conventional digital servos and double pushrods to each linkage. Absolutely no slop and ball bearings. But there is one component that is common to my version and TT’s version,. See picture. Both use only one side. The black arm goes up to the swashplate. The shaft is inside. This is typical TT Raptor flybar mechanical CCPM. The demand on the servos and linkages for eCCPM is much greater. Maybe this grey piece flexes??

Unexpected problem. When on the ground in PosHold, I have cyclic. Should not do this. What parameter is this?


Yes the load on the linkages is greater in CCPM setup. It is possible that there is some flexing in the control linkages. Have you tried flying in stabilize to see if this is still happening. If it doesn’t happen in stabilize then it is the althold controller gains. Like I said, maybe the setup is more sensitive.

From what I know of poshold, it is effectively stabilize in pitch and roll when the pilot is moving the cyclic stick and then when it is centered the autopilot will hold position. So the fact that the cyclic stick causes the swashplate to tilt in poshold does not surprise me. But I have never used poshold

The operation of cyclic in PosHold mode in V4.2.1 on the ground is with collective control from TX.
I used QGC and re loaded helicopter firmware. It showed choice of PX4 or ??. I choose ???. Got new firmware loaded. All the errors I reported disappeared.
I flew it. While there is some jumping, it was only an inch. GPS PosHold was weak and swashplate needs slight pushrod adjustments.
The 90 degree belcranks did help a lot. I think I need a less aggressive altitude hold setting.
My remaining change is to lower head speed. It is way to high for this helicopter. Do I adjust the % of throttle, or reduce PWM at TX or in firmware when hovering.

That makes no sense.

Not sure what to say here. Can you post a log? I haven’t used QGC in a while so I’m not sure why you got ??? for arducopter.

Well don’t do anything to the althold gains. Fix the rotor speed issue. A high rotor speed can also cause jumping in althold or poshold. I was going to mention this earlier but thought you were running an appropriate rotor speed. If it is as high as you say it is then lowering it may fix the jumping issue.

I see in the log you posted on Wednesday that you have RSC_MODE set to passthrough. So that means it is looking at the setting from your TX on the channel you have set for motor interlock. This is not the recommended way to set up the RSC. Since it is electric then you could set it to mode 2 which is a setpoint and would work well if your ESC had an internal governor. Or you could use mode 3 and set up a throttle curve.

The choice was Px4 or Arducopter. I chose Arducopter. Ignore any old logs or .bins.
Parameters now exactly as Helicopter V4.2.1 download.
How lower RPMs? Do I lower the percentage of throttle? Firmware has it at 70%. I’ll try 60% and then lower if needed. Should be only 2000 rpm.

What is the RSC mode set to? I really can’t say what the setting should be. You will have to do it through trial and error unless you have an internal governor in your esc that you can use.

Yes you change the throttle percentage by using the H_RSC_SETPOINT param if you are using the setpoint rsc mode which is H_RSC_MODE set to 2

Bill, Just had best flight. Installed new blades. Adjusted P for roll and pitch down to 4.2 and 4.1. No jumping. Some wobble. It tried to hold position. Need al ight roll adjustment in linkages.
MiniPix_Innovator_July120.param (15.7 KB)
My .BIN for this flight is too large to download. How reduce?