125 milligram optical flow sensor "TinyTam"

As an exercise in size reduction, we have prototyped a complete optical flow sensor in a 125 milligram and 7mm x 7mm package. This mass includes optics, image sensing, and all processing. Below is a video and two close-up photographs. In the video, note the green vector indicating measured optical flow as a result of image motion.

Image sensor: Centeye Tamalpais 16x16 pixel image sensor (only an 8x8 block is being used), 1.3mm x 4.1mm, focal plane about 0.3mm x 0.3mm.

Optics: Proprietary printed pinhole, about 25 microns wide

Processor: Atmel ATtiny84

Optical flow algorithm: Modified "Image Interplation" algorithm, originally developed by Prof. Mandyam Srinivasan (well known for his research on honey bee vision and navigation).

Frame rate: About 20Hz.

This work is being performed as part of Centeye's participation in the Harvard University Robobees project, an NSF-funded project to build a robotic bee. The final target mass for the complete vision system (including processing) will be on the order of between 10mg to 25mg, and will include omnidirectional sensing as well as algorithms to detect flowers. Obviously we still have some more work to do!

We documented the construction of this sensor, with lots of photographs, in case anyone is interested.

E-mail me when people leave their comments –

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

Join diydrones


  • Developer
    That looks really great, i definitely would like to have few of these to test on ArduCopters :)
  • If you want to test it on our DelFly II www.delfly.nl pleas contact me.
  • Excellent work. This will do for micro navigation what bugs did billions.yrs -- *a long time ago
    And I mean that in the best way.
  • @Ravi- Good question. I won't comment on flower detection though since this is not my part of the project, and that other work has not been published yet, so it would not be appropriate for me to discuss it.

    @Joe- Agreed. 20Hz is a bit slow, but 1200Hz is actually overkill for most MAV-based stuff. For this particular prototype we wrote the program in C and didn't put much effort into optimizing it, so there's definitely room for improvement.
  • Isn't 20Hz a pretty slow rate, I though the mouse sensors ran at something like 1200 Hz
  • Cool!

    I see the printed pinhole is working well!

    How is flower detection going to work with that? Or do you plan on a larger sensor.
This reply was deleted.