Does anyone know how to reverse the output from APM to the servo (tricopter)? I
think that I can fix this by rotating the servo, but it might be easier to just
change something in the code, since the DIP switches are not used anymore.


**The APM is mounted correctly; it's only the output to the yaw servo that is reversed
i.e. stabilize corrections are reversed, but manual input from the transmitter is correct.**

Views: 4681

Reply to This

Replies to This Discussion

I just tried it with 2.0.38 (from the downloads) and I think that you are now right. The direction seemed to change in the earlier versions - but it doesn't now. Anyone know how to fix this?

You can either modify your build to accommodate this or you can do this in code easily. I patched my AC2 code as described here:




Its only one line change, works well.


OK. Just for completeness, and to make it easier for others coming across this. This is the code fix:


// servo Yaw

if(g.rc_4.get_reverse() == true)
APM_RC.OutputCh(CH_7, ( (-1 * (g.rc_4.radio_out - g.rc_4.radio_trim) ) + g.rc_4.radio_trim ) );

APM_RC.OutputCh(CH_7, g.rc_4.radio_out);


At line 831 in 2.0.38 in the ArduCopterMega.pde tab

This should let you reverse channel 4 in the planner by putting in a '-1' which will reverse the way the copter compensates with the yaw gyro.

Thank you Don for the fix!

You will want to check for channel 7 reverse not channel 4 (as the other respondent did the other thread did).


If channel 4 is reversed now only the servo travel is reversed, the gyro commands are not. The above code would reverse the gyro properly but re-reverse the servo travel.




if(g.rc_4.get_reverse() == true)




if(g.rc_7.get_reverse() == true)


and reversing channel 7 instead of 4 would work fine.

Hey, yes you can reverse the yaw. Did you come right?

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service