ADNS3080 Optical flow sensor now available in the DIYDrones store!

In case you're looking for an optical flow sensor, there is now one available in the DIYDrones store for a penny under $40.


This sensor is based on the ADNS3080 mouse sensor which is a good choice for optical flow because:
   high resolution: 30 x 30 pixel frames meaning it can see features that lesser mice cannot
   high speed: 2000 to 6400 frames per second update rate which contributes to better low light performance than other mouse sensors
   SPI interface meaning it can be interfaced to many micro controllers and co-exist with other sensors


Other features:

  • Intended to interface with a 5v microcontroller.
  • 8mm lens with 11 deg FOV
  • Standard M12x0.5 lens mount meaning you can replace the lense easily  if required


Instructions for connecting the sensor to your APM/Oilpan are here.


Things to be careful of:

  • Performs best outdoors in well lit environments
  • Does not play well with Fluorescent lights (the blinking throws off the sensor)
  • Needs a somewhat varied surface to see movement (plain carpets are not it's friend)


Uses including odometry and obstacle avoidance but I've used it mostly for horizontal position hold.


Note: integration with ACM and the existing GPS pos hold is a work-in-progress but should hopefully be completed in a few weeks.  Here is a video of a slightly modified version of the ACM code using only optical flow (and sonar for altitude hold).


Inspiration and some technical help especially early on came from Marko Klein Berkenbusch and his blog on position hold with mouse sensor.


Hope you like it, all comments welcome!

Views: 38805

Comment by Gareth Rens on November 22, 2011 at 10:28am

Thats awesome! The parrotAR can now suck it!


Comment by Gareth Rens on November 22, 2011 at 10:33am

@Andrew. Everything works better with multiple sensors. Take the human body for example. We have a middle ear that is extremely sensitive to pressure changes, they regulate balance (IMU) Then all is assisted with visual compensation for that full 3D / Spacial perception, there are many more....


Comment by Ben Carson on November 22, 2011 at 6:45pm

Awesome, saw it in the store first and was gonna PM you (Randy) about your experience with such things ^_^

Comment by Denny Rowland on November 24, 2011 at 3:12am

Could the sensors not be used to view the camera LCD screen and then stabilise the mount.

Comment by Denny Rowland on November 24, 2011 at 4:01am

Once the human vestibulary system stops working there is a technique that uses an implant of  very small gyros and Acc. to give the sufferer some form of restored balance. Pioneered at Nicosia Uni.

Comment by Randy on November 24, 2011 at 6:01am


     Not sure about usingit for stabilisation.  I've never heard of optical flow being used for that so I wouldn't want to give any false hope.


@Gomes, ThomasB, EllisonChan,

     The eagle files are available now from the link on the diydrones store page (or you can get them directly here).


@Ryan C Smith,

     I haven't implemented obstacle avoidance using optical flow although others have.

     It's possible to connect more than one sensor although the wiring and the library would need to be modified.  For the wiring, a separate wire would need to be connected from each sensor's NCS (chip select) pin to a a separate pin on the APM (or whatever micro you're using). I've only used the sensor for horizontal position hold (not altitude hold!) so haven't found any need for more than one.

Comment by ThomasB on November 24, 2011 at 6:21am


Thank you Randy. I had a look, and there is a true 3.3V Input which 'goes around' the 5V regulator.

So it will be easy to use for both:  5V and 3.3V solutions  :)

Comment by Randy on November 24, 2011 at 6:29am


    Yes, that was the intention but I was nervous about claiming it would work for 3.3V without ever actually trying it :-).  Looking forward to hearing back from you when you've given it a try and then we will update the product listing.  thanks!

Comment by Ammar Husain on November 29, 2011 at 6:59am

Hi Randy, 

My OFS is on its way, and am very excited about it. Though I wanted to see what the general feedback has been about the sensor. Also what and what not to expect from it? In terms of position hold accuracy, GPS etc? 


Comment by Randy on November 29, 2011 at 7:38am


     Thanks for your support.

     You are in the first batch of people to get the sensor so you're quite close to the bleeding edge :-).  I'm hopeful that once we get all the integration into the arducopter code complete (it's well under way, just needs a little more merging and testing) that you should be able to reproduce the performance in the videos.  It should be far better than GPS at position hold at least at low altitudes.  I'm also working on an "auto-trim" feature for stabilise mode that I hope will make the copter mostly stop in it's tracks when you let go of the sticks.

     The weakness of the sensor is it's low light performance, flourescent lights and plain carpets so it won't be much good indoors.

     There are other uses too though..I've seen examples of people using it on cars (and a skateboard!) for odometry so I imagine some people entering the sparkfun avc in april could use one (with a shorter-focus lens).


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2017   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service