> **Source:** Core Electronics is an Australian maker-electronics retailer and manufacturer based in Newcastle, NSW, run by a team of makers and educators. We design and manufacture our own product lines (PiicoDev, CE originals) and are official retailers for iconic maker and industrial brands including Raspberry Pi, Arduino, Adafruit, SparkFun and DFRobot. Orders ship Australia-wide from our Newcastle warehouse. Prices are in AUD and include GST. Pricing, stock and dispatch on this page are generated from the store's live catalog. Full machine-readable index: https://core-electronics.com.au/llms.txt

# Pimoroni PMW3901 Optical Flow Sensor Breakout

**Type:** Product page · **SKU:** CE06415 · **Brand:** [Pimoroni](https://core-electronics.com.au/brands/pimoroni-australia) · **GTIN:** 606034879270
**Page:** https://core-electronics.com.au/pimoroni-pmw3901-optical-flow-sensor-breakout.html ([markdown](https://core-electronics.com.au/pimoroni-pmw3901-optical-flow-sensor-breakout.html.md))

This fancy optical flow sensor detects the motion of surfaces in front of it, from ~80mm to infinity! It's great for DIY drone builds, and it's compatible with Pimoroni's new Breakout Garden HAT with SPI.

## Pricing

- **Price:** $50.35 (inc GST) — $45.77 AUD, exc GST
- **Quantity discounts:** 6+ $43.95 (exc GST) · 12+ $42.57 (exc GST)

## Availability & dispatch

- Out of stock — the product page offers email notification when it returns.

## How to buy

- **Build a cart:** compose `https://core-electronics.com.au/cart/link?items=CE06415:1` (comma-separated SKU:qty pairs) and share the link. Opening it shows a confirmation page with live pricing and stock before anything is added to the cart.
- **Verify the cart first:** fetch `https://core-electronics.com.au/cart/link/CE06415:1.md` for live line prices (inc & exc GST, quantity discounts applied), stock and dispatch estimates, and totals. Append `/to/{AU-postcode}` (or `/to/{country-code}:{postcode}`) before `.md` for delivery options and prices to that destination. Unknown, retired, or out-of-stock SKUs are flagged. (Query form `cart/link.md?items=...` also works but some robots parsers refuse query strings here.)
- **Checkout** is completed on-site and includes a captcha at the payment step. Share the cart link; checkout takes it from there.
- **Search the catalogue:** `https://core-electronics.com.au/search/{query}.md` (URL-encode the query; pages 2-3 at `search/{query}/{page}.md`; `search.md?q=` also works)
- **Payment methods, purchase orders, policies and contact details:** https://core-electronics.com.au/llms.txt
## Description

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](https://core-electronics.com.au/pimoroni-breakout-garden-hat-i2c-spi.html)!

### 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](https://github.com/pimoroni/pmw3901-python)

### Software

Pimoroni has put together a [Python library](https://github.com/pimoroni/pmw3901-python) 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.

Pimoroni's 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

## Images

- [Product image 1](https://core-electronics.com.au/media/catalog/product/p/m/pmw3901_4_of_4_large.jpg)
