Mouse Sensor Board Build (3/3/2012)

What: Build up some optical mouse sensor boards using the ADNS-2620 sensor described in this previous blog entry.
This will involve some hot-plate reflow soldering using stencils and solder paste, some through-hole soldering, and testing.
There are only 9 surface mount parts and 3 through-hole parts, so this is a relatively simple build.

When: During the normal March PARTS meeting (3/3/2012)
Meeting starts at 10:30am; we’ll probably start building at 11 or 11:30am after a short presentation and show-n-tell

Who: You!  But, we’re limited to only 12 boards + a couple extra.  First come first serve.

Cost: $7


  • A small desk lamp is very helpful
  • Magnification is very helpful (the smallest parts are 0603)
  • We could use a couple more soldering iron stations, power cords, and power strips
  • An Ardunio, if you have one, for testing out your sensor.  We’ll have an Arduino or two set up for testing as well.
  • A 4-pin 0.1″ jumper cable to connect the female 4-pin 0.1″ spaced square-pin header on the OptiMouse board to your Arduino


Schematic, layout and BOM here:

Eagle files:
ADNS_26XX_Breakout_A_2 (zip)

See you there!


PARTS Indoor Challenge and mouse sensors

After this morning’s PARTS meeting and Indoor Challenge, a few of us were talking about using optical mouse sensors for tracking robot position rather than wheel-based encoders.  Optical mouse sensors use optical-flow techniques to determine X & Y motion based on differences between successive snapshots of the underlying surface texture.  These sensors contain very-low resolution (18×18) cameras and all the necessary DSP to distill the information down to a delta-X and a delta-Y value.  It’s possible to read the raw image data out as well.

I’ve been wanting to play around with optical mouse sensors for a while, and the PARTS Indoor Challenge seemed like a good target application, so I threw some Avago ADNS-2620 sensors into the last DorkBot group order.  Unfortunately I didn’t have time this last week to do anything with them.  I figured I would need two sensors to track X, Y, and rotation since the mouse sensor doesn’t do rotation.  This certainly isn’t a new idea — mouse sensors have been used for robotics for quite a while, but I hadn’t done much research on it until now.  Here are some good links:

Precise Dead-Reckoning for Mobile Robots Using Multiple Optical Mouse Sensors (PDF)
Evaluates accuracy of two vs four mouse sensors compared to encoder-based dead reckoning.
Two sensors are significantly better than encoder-based DR if the robot speed is less than the max rate of the mouse sensors; four sensors are even bettter.
Four sensors are still significantly better than encoder-based DR even when the robot speed is greater than the max rate of the mouse sensors.
Testing was done on a felt surface, however, so the variability of the floor we’ve been running the PARTS Indoor Challenge on may require more than two sensors for robust positioning, even at slower speeds.

Cody’s Robot Optical Motion Sensor #1 (CROMS-1)
Nice writeup on hacking an optical mouse sensor, including creating a custom lens assembly for increased range.

Implementation Of An On-Chip Insect-Inspired Optic Flow Based  Navigation Sensor
NASA Tech Brief referenced by Cody’s above writeup.  Using optical mouse sensors with custom lens assemblies for flying robots (at low altitudes).  Overviews the optical design methodology and presents data from actual flight testing.  Concludes that optical mouse sensors are usable for terrain-following behavior on a robotic-flier.  Free registration is required to access the report.

Required components for optical mouse sensor (if you want to start from scratch rather than hack a mouse):
(These aren’t necessarily the best mouse sensor for robot navigation, but they are readily available.)

Avago ADNS-2620 optical mouse sensor
Data Sheet
Purchase:  Mouser 630-ADNS-2620 ($1.58, qty 1)

Avago HDNS-2100-001 lens
Data Sheet
Purchase: Mouser 630-HDNS-2100-001 ($0.18, qty 1)

Avago HDNS-2200 LED alignment clip
Data Sheet
Purchase: Mouser 630-HDNS-2200 (Non-stocked/Not available in small quantities! Grrr.  I think I can do without it.)

Avago HLMP-ED80-K0T0 LED
Data Sheet
Purchase: Mouser 630-HLMP-ED80-K0T00 ($0.39, qty 10)

More to come!