Optical flow/mouse sensor

I would like to know how does a optical flow/mouse sensor go about stabilizing or controlling the position of a flying machine? Any useful links on optical flow/mouse sensor are also welcome.

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

Join diydrones

Email me when people reply –


  • So, I looked at the AP2 code, and looks like support for optical flow sensor (ADNS3080) is in the code.  Optical flow position is being blended with gps.  Is it safe to enable it and how well does it work right now?  What kind of range can the optical flow sensor work at, and what other conditions can I look out for?


    Looks like Avnet has the ADNS3080 in stock pretty cheap @ $2.90 each, but shipping is $22, which is not too bad compared other sensors.  Maybe if enough people are interested, we can do a group buy to reduce the unit cost.

    Is it worthwhile to get the sensor at this point?  Is there a tutorial for integrating this?  Can it share the same I2C as the magnetometer.


    Sorry for all the questions.

  • I have tested the library provided on the sparkfun product page. I face problem reading the value from the X and Y coordinate of the mouse sensor. The only value that I read from the serial terminal of X and Y is purely FF. And I try moving the sensor around and the value remain the same. I am using Ardupilot board and have connected the data pin from the Mouse sensor to analog pin 4 and clock pin to analog pin 5. Anyone manage to read the X and Y coordinate using the provided library? 

  • Developer

    I've done a blog post several months ago on this.



    Here are two decent papers I've read on the subject:




    The trick is that you need to compensate for the roll/pitch and also the values returning from the sensor will depend upon your altitude.  If you're high up, you'll see less movement, if you're very close to the ground, you'll see more.

This reply was deleted.


Shivchand Jaysaval liked Shivchand Jaysaval's profile
Aug 25