PMW3901 Optical Flow Sensor
Breakout
PIM453
This fancy optical flow sensor detects motion of surfaces in
front of it, from ~80mm to infinity! It's great for DIY drone
builds, and it's compatible with our new Breakout Garden HAT
with SPI.
The PMW3901 is a crafty little sensor that uses a low-resolution camera and some
clever algorithms to detect motion of surfaces. A great use for it is detecting and
correcting for drift of a drone by looking for x/y motion of the ground below.
You can use this breakout completely solder-free with our new Breakout Garden HAT
with SPI!
Features
PMW3901 optical flow sensor
Two white LEDs on-board for illumination
Frame rate: 121 FPS (frames per second)
Speed: 7.4 rad/s (radians per second)
Field of view: 42°
Range: ~80mm to infinity
6mA typical current draw
SPI interface
3.3V or 5V compatible
Reverse polarity protection
Compatible with all models of Raspberry Pi and Arduino
Python library
Software
We've put together a Python library to use with your Optical Flow Sensor Breakout.
It makes reading the x/y motion values and their magnitude really straightforward.
Connecting to your Raspberry Pi
If you're not using our Breakout Garden HAT with SPI, then this is how to connect your
Optical Flow Sensor Breakout up to your Raspberry Pi.
Our library is set up to use SPI 0 on the Pi: BCM 8 for CS, BCM 11 for SCK, BCM 10 for
MOSI, BCM 9 for MISO, and BCM 18 for the INT pin.
Here's which pins to connect between your Optical Flow Sensor Breakout and your Pi's
GPIO (note
that it's BCM pin numbering):
3-5V to any 5V or 3V pin
CS to BCM 8
SCK to BCM 11
MOSI to BCM 10
MISO to BCM 9
INT to BCM 18
GND to any ground pin
You can of course use other pins with your MISO to BCM 9, but you'll have to change
them accordingly when you instantiate the sensor in your code.
Notes
Dimensions: 24x24x5mm
https://shop.pimoroni.com/products/pmw3901‐optical‐flow‐sensor‐breakout
/6‐13‐19