Loosing altitude while flying

4 1-1-2000 5-50-24 AM.zip (3.8 MB)


I’m using Arducoptor firmware version 3.4.6 for my quadrotor of X frame. I always face altitude instability issue while flying in stabilize mode, where drone reaches some height when I throttle up, looses the altitude and comes down by 6 to 7 feets and goes up a little and it continues.

I have attached the log for the same. From the log, everything looks good except the following line.

Test: Compass = FAIL - Large change in mag_field (1277.03%)
Min mag field length (104.98) < recommended (120.00)
Max mag field length (1445.62) > recommended (550.00)

I performed a gps compass interference test and have made sure that there is not interference.
Please note that the logs are captured while flying indoor, but same issue is faced while flying outdoor with gps lock.

I’m new to ardupilot, any help would be really helpful.


Did you calibrate the compass?

David, Yes I have calibrated the compass.

When flying in stablilize it’s the pilot controlling altitude.You are using less than 20% throttle.

Jagger, with the 20% throttle it flies to some 8-9 feets and without any change in the throttle, altitude reduces by 5-6 feets and the drone almost touches the ground.

Yes.It needs constant pilot input to maintain altitude in stabilize mode.All I see in that log is a loss of altitude due to lowering of the throttle.It takes some skill to fly indoors and some practice to fly in stabilize.Your copter is on stock PIDs and may well need a thorough tune to handle how you want it to.

Yes, it has stock PIDs. Thanks a lot for the input Jagger, I will try to play with the PIDs and see if it improves.

This behavior is due to ground effect, where you get more lift when you’re close to the ground, and less after you get past a certain height. The copter will often oscillate in altitude a bit here without pilot input.

Until you get used to the controls of the copter, you may want to fly in Alt Hold or Loiter mode so the autopilot controls your altitude.