I'm still very new to flying a Tarot PRO Hexacopter and APM 3.2.1 and its been fine up to now, I have about 4 hours of flying experience with out incident. I added my FPV components and was about 11 minutes into a perfect flight in Loiter mode and low wind and good weather conditions. While hovering my machine at approx 30 meters altitude it suddenly started a shallow Toilet Bowel effect and got progressive more severe, and then also lost complete control. I tried to activate RTL with no effect. I then switched to Stabilize but because I had pulled the throttle to zero for RTL my machine inverted and was heading for the ground at a rapid rate.  After applying full throttle I saved my machine from complete destruction with about half a meter above ground level.

My question is what causes Toilet Bowel effect and what should I do to fix it. Can antbody help please.

Views: 10054

Reply to This

Replies to This Discussion

Toilet bowl effect is a compass calibration issue. Any time you adjust, change, add or take things away from your Drone you should recalibrate your compass. This ensures the offsets are appropriate for the machines current state, particularly if your adding or removing metallic components.

Thanks for the rapid reply.

I already have an external compass but will redo Compass calibration as well as Compassmoto calibration. I was a bit unsure as to the cause because my machine had flown perfectly for 10 minutes and then suddenly started the Toilet bowel effect.

Its a simple calibration setup so its worth redoing to ensure my machine stays in one piece.

I fail to understand how a compass, calibrated or not plays any role in hovering, other than assisting Yaw control, even then it would seem gyros would be better used for maintaining a constant heading,

It seems you should be able to have a decent auto hover without using a compass at all.

It's not the hovering that is causing the toilet bowling.  It's trying to stay in one place and it needs the Compass to tell it what direction to move to to get it back to that place.  If the compass is off it flies to far left or right of target and continues until the bowl is too big to correct.


No compass can give guidance in hover, you can use a compass only to stay on a heading when moving, it can only tell you on which magnetic heading the compass is on, You can be left anywhere in the world and it can give the same heading.

Hi Clarence

What area of my machine should I be looking at the fix my original Toilet bowel effect. While my machine had been flying and hovering for 10 minutes without any issues while in hover the toilet bowel effect started and became so bad that I could no longer control my machine while in Loiter. Only after entering Stabilize did I have control again.

Thank you for your input.

I really don't know, because I didn't write the code, however I suspect there is too much reliance on GPS input over gyro/accelerometer input. I have done static tests on the LEA 6 module and saw short term variations exceeding 10meters, with an M8 module I saw mostly variations within 2.5 meters.

So that's what you can expect from a typical GPS module in real world conditions, so visualize that size toilet bowl.

If you use only gyro/accelerometer data in a no wind condition you should expect to be better. GPS data should only make compensation for wind better.

So to make gyro/accelerometer data better it is essential to keep vibrations from motors/props from reaching the controller.

And/or perhaps by better filtering of the g/a data, and less reliance on GPS data for positioning, which of course we users have no control over.

I do recommend the M8 GPS module as being superior.

I disagree, If you use Alt Hold mode the copter will float in the direction of the wind and will never toilet bowl.  The Compass is used to correct for GPS error.  If your position is 10 meters off to the north of your position and the copter is facing north it will pitch the copter up to get it back to that position.  If in fact the copter is 10 degrees off of north when it pitches the copter up it will end up going in the wrong direction.  So now it will start to pitch the copter in different directions each time mission the location it's try to get too.

Gyro/Accelerometer is only used to level the aircraft and correcting for height.  Not for guidance.


Sorry, you are talking nonsense. A compass cannot give position error. It can only give heading information relative to the magnetic N-S poles. GPS gives you position information, it can give heading information if you are moving, i.e., not in loiter or hover, it is not very accurate in altitude, a pressure sensor gives altitude information, relative to takeoff, sonar will give you altitude above ground or other hard obstacles. In a hover you rely on gyro/accel sensors with GPS used to correct for wind drift, with the caveat that GPS in only accurate to 2.5 meters horizontaly, and vertically probably 30 meters at best. 

You can disagree, but you argue against the laws of physics. The on board magnometer will be better at measuring motor power, than it ever will be at measuring position error in 3D or even 2d space. Don't take my word as a retired electrical engineer, licensed pilot for 40 years or saiboat owner accustomed to navigating using mag compass, gyro compass, GPS and autopilots, research the facts, study the science, then express a valid opinion.

In order to get home you need to know what direction to head in to get there.  The compass provides this function.  If your compass is off you will never get home.

It's like sailing a ship.  All you see is water.  now if your a mile from land and it's 30 degrees north of your position which direction would you head in.  The Flight controller needs the same information to control the copter.

Your right the compass can not give you position information. I never said it did but without it your not going to correct for position error.


I had an issue with my I2C splitter board. When calibrating make sure you get two sets of results, one for the external, and one for the internal compass. My splitter board had stopped passing signal on one of the tracks and the Pixhawk could no longer see or calibrate the external. Took me ages to figure out why I couldn't reduce my mag offsets to acceptable levels - I was only calibrating the internal. I bypassed the splitter board and went straight from compass to Pixhawk I2C port and my external compass started working again. Just something to watch out for.

Still talking nonsense, if you are in a ship and all you see is water, you have no idea where land is unless:

1) You have a chart.

2) You know where you are located on the chart.

However this thread is about Loiter Issues, not navigation techniques, RTH, etc..

In Loiter, the copter can drift in any direction, NSEW and the compass can still be kept aligned with any heading. It can not be used to correct for drift in loiter, and therefore cannot be a cause of "toilet bowling" during loiter.

Show me in the code where the magnometer outputs are used to control position during Loiter.

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service