I have a similar problem. I increased the RATE_YAW_P to 0.32 from 0.2, and I am currently experimenting with RATE_YAW_I. I can get it to hold, but not very tight, if you know what I mean.
If your copter won’t stop yawing, then likely cause is your motors being tilted slightly. You really should fix the problem at the source.
However, you should also have a look at your Rate_Yaw_Imax value. It’s probably set at the default of 500 or 1000. I normally use much more than that. Try increasing it to 2000. However, be aware that, again, the root cause of this is probably mechanical, and you should fix the problem at the source. Imax is a band-aid, particularly on Yaw, and really should not be required.
When I looked at the Rate Yaw I valkue it was zero! I increased mine to 0.1415 (your value may be different). I noted also that the Rate Yaw IMAX value was 10. I increased this to 100. The tricopter holds heading well now!
What rob said! Have aligned motors is key to the performance of multi copters. You will have more lift, better battery life and it will fly nicer.
Yes having the yaw tuned properly is required. But don’t mask mechanical issues with I. Use rcout to determine if clockwise motors are at the same level as anticlockwise in hover.
Seen a few people have unexpected landings that wouldn’t have happened with a correct torque balanced setup. As the battery dies the motors working harder to fight any torque ran out of head room and the copter starts spinning harder and the other motors need to reduce to keep it level.