Breakout board for PMW3901 optical flow sensor

I would like to report this breakout board for PMW3901 sensor.


I see that in the Ardupilot source (libraries/AP_OpticalFlow) there is a driver to use the PMW3901 on SPI.
I would like to know if it will suffice to connect the breakout board to the SPI of an Ardupilot supported Flight Controller to use it or I am missing something.

1 Like

Cool, Its on my notify list :wink: Nice finding @anbello
I looks like an autodiscover with standard FC (PixHawk) https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_OpticalFlow/OpticalFlow.cpp#L92

@tridge do you confirm we can use this ( I assume we need a range finder setup like the others OF) ?

In ArduCopter/ReleaseNotes.txt i see a new flight mode:
“FlowHold (position hold with optical flow without lidar)”
Does this means that it is possible to use without range finder?

Seems to be the case

Good to know

Also this is interesting

Is a spare part for cheerson cx of toy drone and is based on the same sensor only with a serial interface, there is a driver for this on inav repo

Ciao
Andrea

Yes , I have one of these, just need to write driver :smile:

1 Like

Well Andrea , you got me, I just ordered a Matek F405 … I will upgrade one of my CleanFlight Naze Quad to Inav

Will try the Chibios on this one as well

Any idea what lens mount this package uses?

Curious about their claim regarding distances from “80mm to infinity”. I’d need a longer focal length lens, hence the mount question.

It is a pinhole, so the distances are ok.
You could probably fit a M12 type adapter and lens but in that case I would go with a Px4flow

@ppoirier I don’t know if the use of optical flow is in master or in some dev branches of inav, is been a long time since I used inav, I thought the important thing is the presence of driver in inav repo to understand the protocol of the CX OF module.
Anyway with the Matek F405 you will be able to test both inav and Arducopter: http://firmware.ardupilot.org/Copter/beta/MatekF405/

Hello, I am interested in trying this optical flow sensor (CJMCU-3901)because it is low cost and light weight. Has anyone tried it with a Pixhawk or a ChiBios board yet, did you have any good results? I have a Matek F405 so would like to try it, Thank you

Hello again, just a thought… not sure if any of the newly supported ChiBios F4 Boards have accessible SPI inputs, does anyone know? If not I’ll have to dig out my old Pixhawk. Or if the cheerson CX-OF is supported then could I use that over UART on a Matek F405? Thanks

Is this sensor supported? https://www.aliexpress.com/i/32979605707.html

It’s the chip as found on supported boards (PMW3901). That particular one
may or may not work - do let us know if you confirm it does work :slight_smile:

Our partners have boards that are supported.

Peter

1 Like

To say something more we should have the pinout of the board.

Anyway form the few english words I see on aliexpress page the VL53LXX out is on I2C so once connected to I2C on Flight Controller it should work with this config:
https://ardupilot.org/copter/docs/common-vl53l0x-lidar.html

The PMW3901 out is on SPI and so this should be the driver:


but I don’t see a way to say to FC that the OF module is on SPI here:
https://ardupilot.org/copter/docs/common-optical-flow-sensors-landingpage.html

The other listed modules that use the same PMW3901 have an MCU on board connected to PMW on SPI (I think) that send OF data via serial port.