Getting Sensor Value



I want to make my own auto-follow feature.
Last time, I asked how to get gps values.
pilotingpositionstatechanged <- It works very well.
And now, Can I get compass value?
I want to know the heading direction of bebop.
Thank you.


Hi there Kwon!
I already tried making a follow me for bebop (don’t take this as a “I already tried before” argument), and used the decoder to get this value (I don’t remember the callback by heart, but this have already been discussed in the github here ).
The biggest issues I found (as I said in referred link, you should probably read it) is the unreliability of said value, as in my (easily reproduceable, explained in same link) experience I could easily get drifts of about 60 degrees, which effectively made navigation impracticable. If you are going forward with this (after re-reading it, maybe even I will) remember to manually set the magnetic declination of your location, because to navigate from on GPS fix to another one, you MUST use TRUE heading (and the value you are asking gives a unreliable magnetic one). I had a big issue with this as I live in 19W MD. Maybe with this new firmware things are different, I will give it a try and post back my new results!
Best of luck! If I can be of help in any way, I am just a reply away!


And anyways, Parrot should have their own AutoPilot with flightplan, follow me, and everything else that autopilots do very soon.


Thank you very much PatrickGoettert!
I read your test result. It was really helpful to me.
I compared mobile compass app and bebop’s yaw value.
It looks pretty accurate in static state(Two compasses pointed same direction).
I’ll keep testing in moving state.
Thank you. :smile:


I am glad I could be of help!
Try the experiments I did over the wooden table as I described, and try a small flight with big yaw variations, this is where I got the unreliability source. Like I said I got >60 degrees drifting in small duration flights or by slowly rotating the drone on the table.
I will try again this weekend, and I am looking forward to seeing the results of your next tests! Maybe something changed with this new firmware!

Are you developing for which platform, Unix, Android, iOS?

Best Regards from across the world (I am in Brazil, which country are you in?)


I am developing for Android App and I am a Korean software engineer.
Do you have any plan for implementing obstacle avoidance feature?
Best Regards from Korea.


I am also working on Android and struggeling with the yaw value of ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSTATE_ATTITUDECHANGED.

I tested it with on Bebop for a few days and the values seemed reliable. Even after restarts it seemed 0° was still north and +/- 180° was still south. But after changing to another Bebop it doesn’t seem to work anymore.
The orientation is of by around 140° and it seems to be delayed. So wen i turn it by 90° it reacts but takes some time to “figure out” the last 10-20°.

The pitch and roll values although seem to be pretty accurate and reliable.

Did you guys make any progress with that issue so far?



This post can help you I think.

Best regards,


Isn’t that the said value or the equivalent of AndroidSDK:

Make drone turn to certain direction

A few additions:
I tried a few things out

1. resetting the Drone
=> Yaw values deliverd where accurate (no big changes when drone wasn’t moving) but 0° was where it pointed when it was startet.
2. resetting the Drone and calibrating it
=> 0° still wasn’t pointing north, really weird yaw behavior: big changes even when the drone hasn’t been moved + delay.
3. resetting the Drone, waiting for it to get GPS outside (only went orange but still) and calibrated it outside
=> 0° seems to be north :tada: but yaw value still isn’t as accurate as pitch and roll.

Maybe someone can confirm my results and we find a good way to calibrate our drones to deliver reliable yaw values cause they are the key to navigation :heart_eyes:



Are you making these tests when drone is flying ? When it is flying, it is using more sensors, so accuracy can be improved.

Best regards,


I will test that in flying state today and tell you about the outcome :thumbsup:


After a few tests I still didn’t find a good solution.
Sometimes the drones attitudechanged_yaw value seems to “turn on its own” after turning the drone via controls.
For example I’m doing a 180° turn to my 0° (north) but the drone keeps on turning afterwards because its yaw value is still changing and it tries to stay on 0°. Same with the FF3 App.
After calibrating it, it worked normal again and as a result my methods to turn the drone north/east/west worked, too.

Also it seems like it has problems with extreme sunlight or temperature changes. When I fly into a shady area or cast a shadow over the drone its altitudechanged_altitude value drops and it jumps 2-3 meters into the sky. Maybe the Barometer is sensitive to these changes.

Both these problems don’t make me trust in the values I receive from my drone.

Hopefully next week I’ll get back two other drones I sent back because of rotor problems so I can check if they behave similar.


Hi HansWurst90,
You said : “Also it seems like it has problems with extreme sunlight or temperature changes. When I fly into a shady area or cast a shadow over the drone its altitudechanged_altitude value drops and it jumps 2-3 meters into the sky. Maybe the Barometer is sensitive to these changes.”

You are right : see my answer about that on my first post and the solution to avoid this changes with the barometer. It’s a long story from our french “Communauté” about the Bebop. You are programming and we are flying :laughing:


Guys, I get trouble to find parameters of sensors in bebop 2 drone I wanna know height and width of any three sensors present in such drone ultrasound sensor, altimeter sensor, and optical flow camera sensor…plz any help I have mission to fly drone on large area soon