Optical flow sensing is an amazing technology that is utilized in all manner of moving systems but has found a more natural home in un-crewed aerial vehicle projects. This PMW3901MB Optical Flow Sensor breakout board aims to make it simple to incorporate optical flow sensing into your next project.
So what does it do? Well in simple terms it’s an image sensor connected to an onboard ASIC that compares the current image to the last image and calculates a difference between them in the X and Y axis. If you use an optical flow sensor like this in conjunction with a sensor that can sense the distance you are above the image surface you can then really accurately track positional changes of your vehicle. Its most common application is reducing lateral drift in multi-rotor systems in combination with a barometer to report and hold the vertical position. The successive changes in delta x and delta y can be processed and a correction can be applied by a flight-controlling MCU to maintain a fixed position.
This breakout board has some great features and it certainly wouldn’t be limited to just things that fly. The form factor not only allows it to be used on a breadboard but also is designed to be able to be mounted directly onto the pins of a Teensy board. There’s an API for Arduino with a well-written example sketch. Lastly, this is a shared project on OSHpark so if you want to build your own breakout it’s super easy to order the PCBs.