Tricopter based on ArduCopter, yaw-issues and solutions


I just build a Tri based on ArduCopter. I had some issues with yaw and did some changes in the code. In this post I want to share my experience and I would like the developers to take my changes into the official release, that it will be easier for others to build a Tricopter.

First of all, this is the result:

One of the most interesting mechanical parts, the Yaw-Servo:

Now my yaw-issues and solutions, starting from code release 2.1:

1) Yaw-Servo not in middle position on "power on"

2) Yaw-Servo reverse with Mavlink RC7_REV

1) Yaw-Servo not in middle position on "power on"

Issue: On "power on" the Yaw-Servo moved into mechanical limit (bad sound, high current consumtion and reduced lifetime for the servo). After a few seconds it returned to the middle position.


In file "radio.pde" in function "output_min()":


    APM_RC.OutputCh(CH_7,   g.rc_3.radio_min);

By this:
    APM_RC.OutputCh(CH_7,   g.rc_4.radio_trim); // Yaw servo middle position
    APM_RC.OutputCh(CH_7,   g.rc_3.radio_min);

2) Yaw-Servo reverse with Mavlink RC7_REV

Issue: Depending on how you mount your Yaw-Servo the stabilisation of yaw can run in the wron direction. Reversing yaw on the remote doesnt help. You need to reverse the servo or change it mechanically. To reverse the servo:


In file "ArduCopter.pde" in function "fifty_hz_loop()":

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

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

I got this change from this Link!  Now you can reverse the yaw-servo by putting "-1" to the parameter "RC7_REV" via Mavlink.

Regards, Igor

Views: 12009

Comment by Awni Hafedh on January 16, 2012 at 9:46pm

That is a nice looking Tricopter, here is a question, I wonder what kind of RC equipment are you using please as at antenna is very long?

Comment by Owly on January 17, 2012 at 4:58am

Thank you very much...

the fix for the servo movement is exactly what i need for my tricopter. Not because it is moving beyond its mechanical limit, rather because the sudden movement of the servo+motor puts my frame into oscilation which prevent the gyros from initializing properly.


Comment by FPVGenie on January 17, 2012 at 8:53am

I had been meaning to start a thread since a while. ArduCopter has Serious issues with Yaw on Tricopter. Yaw is very sluggish, when a Tri is usually very agile. I had used 2.0.47 i believe and then gave up. 

Comment by Tobias Krieger on January 17, 2012 at 8:53am

Have the same yaw issue with my in-the-loop tri. thanks for writting the info.

BTW: what the weight/configuration of your tri? 

Comment by Igor van Airde on January 17, 2012 at 9:33am

Hi all, thanx for the comments!

On the picture I use an old 35 MHz RC with long antenna, but I already switched to 2.4GHz.

Tech Data for my Tri:
Motors: Robbe Roxxy Bl Outrunner 2834/10, Robbe Nr. 4959, 880 rpm/V, 67g
ESCs: Robbe Roxxy 930 (30 A, a bit oversized)
Props: APC SlowFly 12 x 3.8 "
Battery: 3S Lipo 4800 mAh, 400 g
Dimensions: 80 cm from motor to motor
In flight weight: 1440 g
Frame: Selfmade with 10x10x1 mm aluminium (squared tubes ;)

WARNING: I don't recommend this motors or motor/propeller combination for a new design! They accelerate to slow! With 10x4.7 props you get the tri stabilized, but it has to less thrust. With the 12x3.8 props, you have to change the rate control loops from PI to PID to archive good stability. I will start a forum thread about the controller structure later.

Comment by wilson javier madrid sossa on January 25, 2012 at 11:28am

anyone can help me update the firmware to 2.2 b4. I have it in the arduino and a tail tricopter not work for me I have two teams and is the same ... that is going on?

Comment by Tobias Krieger on January 25, 2012 at 12:09pm


 Is your issue to update the firmware or that the tricopter does not work or both? What APM do you use (the latest hardware (V2 purple ) or the V1 (both with the 2560)? 

Can you please also specify which problem you have with the tricopter? (mechanical, software, electronic....)



Comment by wilson javier madrid sossa on January 25, 2012 at 1:11pm

The arduino is new. I have two and shelf are the same ... do not move the tail servo. I have the pilot arduino mega
not whether it be the firmware. or if I can install another firmware from the mission plans, the thing is already updated to 2.2b4and do not know how to install another firmware.

Comment by wilson javier madrid sossa on January 25, 2012 at 1:11pm

V1 (both with the 2560

Comment by Tobias Krieger on January 25, 2012 at 1:47pm

First download the appropriate relaxpatch of arduion (mac or windows)

Next, download the firmware you want to have

Copy the arducopter libraries into the arduino library

 Open Arduino

Open Arducopter.pde

Switch to APM config.h

Change and uncomment the line:  


Perform code-changes as required (see top post)

Connect APM to USB (Disconnect ESC first)

Verify in arduino your code changes (VERIFY....)

Select in arduino -> tools -> board -> 2560

Select in arduino -> tools -> serial port the correct serial port of your system

Check if the lights on the apm are flashing (=APM is powered through usb)

Upload your code firmware to the APM

Wait until upload is finished

Open the serial monitor

APM should send you a message...







You need to be a member of DIY Drones to add comments!

Join DIY Drones


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service