Not sure what you mean by "calibration goes off"...
There are some things you should know:
- It's important that the trims be where they were when you did the transmitter wizard part of setup. With battery plugged in, USB plugged in, transmitter on; in GCS go to Input page. Make sure that your transmitter roll/pitch/yaw trims are set so that the sliders that show the stick positions are sitting on the neutral number (maybe bouncing a little above and below). Leave the trims there. Period.
- After that, it should be perfect in Rate mode.
- After that, yaw should be perfect in Attitude mode since it should be set to Rate or AxisLock.
- If it drifts in Attitude mode (no wind) you need to adjust Attitude ->RotateVirtual. If it is drifting forward you subtract from pitch. If it is drifting left you subtract from roll.
- You should set it on the ground when plugging the battery in. You must set it on the ground when arming it. Gyro biases are calibrated at these times and a human cannot hold it perfectly still enough for a good calibration.