Problem: Quad copter spins around itself

Dear all,

My name is Anh

I am assembling a new quadcopter using 3DR PX4 micro controller,on this morning I have tested my Drone and I saw that it flied and spins around itself, so I have to turn it off and, my quadcopter crashed


This is log info I get from Mission planner:

Size (kb) 10070.0341796875
No of lines 136430
Duration 2 days, 1:09:52
Vehicletype ArduCopter
Firmware Version V3.2.1
Firmware Hash 36b405fb
Hardware Type
Free Mem 0
Skipped Lines 0

Test: Autotune = UNKNOWN - No ATUN log data
Test: Balance/Twist = GOOD -
Test: Brownout = GOOD -
Test: Compass = FAIL - Large change in mag_field (429.15%)
Max mag field length (1346.02) > recommended (550.00)

Test: Dupe Log Data = GOOD -
Test: Empty = GOOD -
Test: Event/Failsafe = FAIL - ERRs found: CRASH FLT_MODE GPS FENCE
Test: GPS = FAIL - Min satellites: 0, Max HDop: 99.99
Test: IMU Mismatch = WARN - Check vibration or accelerometer calibration. (Mismatch: 1.16, WARN: 0.75, FAIL: 1.50)
Test: Parameters = GOOD -
Test: PM = FAIL - 55 slow loop lines found, max 9.98% on line 85540
Test: Pitch/Roll = FAIL - Roll (165.26, line 135281) > maximum lean angle (45.00)
Test: Thrust = GOOD -
Test: VCC = GOOD -

And, I also attached kmz log, if anyone know about my problem, please explain what happened with my drone and give me some advice

Thank you very much,


2015-09-01 11-02-00 113.bin.kmz

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • As Philip says, looks like poor compass calibration...

    Also look at performing a Compass MOT - and ensure compass is well away from sources of interference..

    • Thank you very much

      Could you explain the affect of a bad compass value to the rotation of a quadcopter and how to improve Compass MOT


      • If you're wondering why a bad compass calibration causes the copter to spin, the compass could think it's not pointing in the correct direction, so will try to spin the copter so that it is pointing in the correct direction.  But the compass is always wrong, so the copter keeps trying to compensate by continuing to spin.

        The manual has instructions for running a compass motor calibration:

        • Dear Scott W,

          Thank you for your help, I read this website you gave me, I see the compass heading information:

          "Accurately setting up the compass is critical because it is the primary source of heading information. Without an accurate heading the vehicle will not move in the correct direction in autopilot modes (i.e. AUTO, LOITER, PosHold, RTL, etc). This can lead to circling (aka “toiletbowling”) or fly-aways."

          I check inside Ardupilot source code, the compass heading information is used for performing yaw drift correction, but I don't understand how it can affect the movement of my quadcopter

          So, can you explain this for me

          Thank you very much


          • If I remember well the heading is done reading quite often gyros and compared to compass each second .

            So if you have wrong compass reading you have wrong heading, the copter try to correct it and moves accordingly.

            Disable compass , and test it in  alt hold mode, it should stop spinning .

  • Calibrate you magnetometer.

    • Is your compass / gps unit mounted on a rod to keep it as far as possible away from the power circuits? It sounds very much like it's too near some sources of interference. Consider relocating it
      • Thank you for support me to find out this problem, I tried to keep the compass avoid any circuit:

        - This is my previous design:

        3702718081?profile=originalMy compass is put on a frame with an ESC module is under


        - After that, I changed the position of this ESC, and calibrate compass again, I did it in my room

        3702718098?profile=original But the result unlikely does not change


        Do you have any comment for me to solve this problem?

        Thank you,


        • Your compass / gps unit is too near the electronics... you simply need to put it on a post like I have done on my quadcopter. You can buy these on ebay - the best ones fold flat for transport:

          Here's my quad..


          • Developer
            And you don't even need it that far above the electronics. Even a spacer using foam of 5cms will probably solve the issue. Note the problem is only noticeable due to proximity to cables and electronics carry high amps to the magnetometer. Having the unit right on top of the cable from the battery to the ESC means the compass will be effected by the magnetic field of the wire proportionally to level of throttle applied. i.e. current flowing through it.

            It rotates due to the mag field from the wire pulling the compass heading a few degrees, say, CW. Then when the current drops, the field compass heading rotates back, this rotates the quad by a small amount. This small rotation will just keep adding up over time to make the quad fulling rotate. Think it of like some body that keeps pulling a goal post to th elect as you try and shoot the ball at it, you have toe keep moving your aim right to hit it.
This reply was deleted.