🌊 Slight dispatch delays possible as we catch up with sale orders, please bear with us 🐨
🌊 Slight dispatch delays possible as we catch up with sale orders, please bear with us 🐨

PAA5100JE Near Optical Flow SPI Breakout

by Pimoroni

Detect motion of close-up surfaces with this Breakout Garden compatible optical navigation breakout - great for floor tracking for ground dwelling robots!

The PAA5100JE sensor is used in robot vacuum cleaners and uses a low-resolution camera and some clever algorithms to detect motion of surfaces. This sensor has a super close range of 15-35mm so it's suitable for use with a variety of different surfaces. If you're looking for a similar sensor with a bigger range (for attaching to something like a drone) check out our PMW3901 breakout.

You can use this breakout completely solder-free with any Breakout Garden with an SPI slot, for ease of prototyping.

Features

  • PAA5100JE-Q optical tracking sensor (datasheet)
  • Two white LEDs on-board for illumination
  • Frame rate: 242 FPS (frames per second)
  • Range: 15-35mm
  • Field of view: 42°
  • Maximum speed: 1.14 metres per second (with sensor 25mm away from surface)
  • 6mA typical current draw
  • SPI interface
  • 3.3V or 5V compatible
  • Reverse polarity protection
  • Compatible with Raspberry Pi (Python library)
  • Compatible with Raspberry Pi Pico (C++/MicroPython libraries)
  • Mechanical drawing
  • Schematic

Software

We've adapted our PWM3901 Python library to work with this sensor as well. It makes reading the x/y motion values and their magnitude really straightforward. Use the following line at the beginning of your code to make sure it's set up correctly:

from pmw3901 import PAA5100

Connecting to your Raspberry Pi

If you're not using a Breakout Garden, this is how to connect your Near Optical Flow Sensor Breakout up to your Raspberry Pi.

Our library is set up to use the front SPI slot by default: BCM 7 for CS, BCM 11 for SCK, BCM 10 for MOSI, BCM 9 for MISO, and BCM 19 for the INT pin.

Here's which pins to connect between your Near 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 7
  • SCK to BCM 11
  • MOSI to BCM 10
  • MISO to BCM 9
  • INT to BCM 19
  • GND to any ground pin

You can of course use other pins but you'll have to change them accordingly when you instantiate the sensor in your code.

Notes

  • Measurements: approx 24mm x 24.5mm x 5mm (L x W x H, including components)

32 customer reviews

a year ago
A really neat and easy to use sensor package. Shouldnt take more than an hour to familiarise yourself with it as the library for it is pretty robust and easy to use. Added it to a project of mine (circuit python) and it works just as expected. I really like it!
by Sony about BME280 Breakout - Temperature, Pressure, Humidity Sensor via REVIEWS.io
2 years ago
A great little sensor that is almost 'plug and play'. Just plug it into a board like the Pico Breakout Garden and download the example program to get it going. You really don't need to do much yourself. That said, more accessible, improved documentation, detailing the methods used to set up the device and access data would help deepen understanding of the device and how to develop and modify applications using it.
by Robert about BME280 Breakout - Temperature, Pressure, Humidity Sensor via REVIEWS.io
2 years ago
Useful sensor with a choice of connectors for soldering. Worked seamlessly with a Pico W. Found the literature and information on the Pimoroni website somewhat arcane and less than straightforward to access, but plenty of help available on YouTube
by Robert about BME280 Breakout - Temperature, Pressure, Humidity Sensor via REVIEWS.io
2 years ago
Bought the BME280 breakout as a replacement for the BME280 sensor on an Enviro+ board that had gone awry. After checking with the excellent Pimoroni forum for help, I soldered the board to the GPIO header on the Enviro+ with the supplied header pins. I made use of the address selection trace on the back BME280 breakout board. All now works and is up and running the Luftdaten python script with a small change to the code to allow for the address change to 0x77. Great service from Pimoroni, ordered on Tuesday and arrived on Thursday.
by Mike about BME280 Breakout - Temperature, Pressure, Humidity Sensor via REVIEWS.io
3 years ago
Instructions on how to use it and set up are good. Got it all working without hassle and used it as a project to team my kids to solder, which went well. Readings seem to be accurate and correspond with other local weather stations in the year.
by John about BME280 Breakout - Temperature, Pressure, Humidity Sensor via REVIEWS.io
4 years ago
These sensors work as they should, I couldn't find how to access specific addresses using the pimoroni python library examples but a search led me to install the RPi.bme280 libràry (sudo pip install RPi.bme280) and I was able to read from two dme280 sensors connected in parallel using addresses 0x76 and 0x77.
by Anonymous about BME280 Breakout - Temperature, Pressure, Humidity Sensor via REVIEWS.io
4 years ago
Handy little sensor.. I am using this to provide a data feed to the magic mirror smart dashboard I have at home to keep an eye on indoor conditions. Fantastic. Try to keep the unit few cms away from the pi..it is quite sensitive to any heat.
by Badrinath about BME280 Breakout - Temperature, Pressure, Humidity Sensor via REVIEWS.io

User photos