PX4Flow is an optical flow smart camera. It has a native resolution of 752×480 pixels and calculates optical flow on a 4x binned and cropped area at 250 Hz (bright, outdoors), giving it a very high light sensitivy. Unlike many mouse sensors, it also works indoors and in low outdoor light conditions without the need for an illumination LED at 120 Hz (dark, indoors). It can be freely reprogrammed to do any other basic, efficient low-level computer vision task.
-
168 MHz Cortex M4F CPU (128 + 64 KB RAM)
-
752×480 MT9V034 image sensor, L3GD20 3D Gyro
-
16 mm M12 lens (IR block filter)
-
Size 45.5 mm x 35mm
-
Power consumption 115mA / 5V
-
Source code will be available shortly, comes with planar flow for position hold programmed
- Available from 3D Robotics Store
Main Features
-
MT9V034 machine vision CMOS sensor with global shutter
-
Optical flow processing at 4×4 binned image at 120 (indoor) to 250 Hz (outdoor)
-
Superior light sensitivity with 24×24 μm super-pixels
-
Onboard 16bit gyroscope up to 2000°/s and 780 Hz update rate, default high precision-mode at 500°/s
-
Onboard sonar input and mount for Maxbotix sonar sensors. (HRLV-EZ4 recommended, SparkFun Product Link)
-
USB bootloader
-
USB serial up to 921600 baud (including live camera view with QGroundControl)
-
USB power option
-
Does fit the MatrixVision Bluefox MV mounting holes (camera center off-centered)
Accuracy
The ortho photo below shows that a flight on the park roads is accurately measured. This was done with a PX4FMU on a 7” quad flying at about 1.6 m altitude in manual flight. No GPS, only PX4FLOW integration of position.
Connectors
-
USART2 (J2): Hirose DF13 6 pos (Digi-Key Link: DF13A-6P-1.25H(20))
-
Mates: Hirose DF13 6 pos housing (Digi-Key Link: Hirose DF13-6S-1.25C)
-
-
USART3 (J1): Hirose DF13 6 pos (Digi-Key Link: DF13A-6P-1.25H(20))
-
Mates: Hirose DF13 6 pos housing (Digi-Key Link: Hirose DF13-6S-1.25C)
-
-
I2C1 (J3): not active in software Hirose DF13 4 pos (Digi-Key Link: DF13A-4P-1.25H(20))
-
Mates: Hirose DF13 4 pos housing (Digi-Key Link: Hirose DF13-4S-1.25C)
-
-
USB (J5): Micro USB-B
-
Mates: Cell phone data / charger cables, e.g. Digi-Key Link: ASSMANN AK67421-0.5-R
-
-
ARM MINI JTAG (J6, not populated per default): 1.25 mm 10pos header (SHROUDED, for Black Magic Probe: Samtec FTSH-105-01-F-DV-K or (untested) Digi-Key Link: S9121-NDTML-110-01-L-D-RA, UNSHROUDED, for other probes: Digi-Key Link: Sullins GRPB052MWCN-RC, Digi-Key Link: Harwin M50-3900542)
-
JTAG Adapter Option #1: BlackMagic Probe, comes without cables, needs the Samtec FFSD-05-D-06.00-01-N cable (Samtec smple service or Digi-Key Link: SAM8218-ND) and a Mini-USB cable
-
JTAG Adapter Option #2: Digi-Key Link: ST-LINK/V2 / ST USER MANUAL, needs an ARM Mini JTAG to 20pos adapter: Digi-Key Link: 726-1193-ND
-
JTAG Adapter Option #2: SparkFun Link: Olimex ARM-TINY or any other OpenOCD-compatible ARM Cortex JTAG adapter, needs an ARM Mini JTAG to 20pos adapter: Digi-Key Link: 726-1193-ND
-
Related Tutorials
USB Driver
-
Windows: PX4FMU and PX4FLOW Windows driver: ZIP file, unpack and point the installation wizard at the directory.
-
Mac OS: Comes with in-built drivers, no additional driver needed
-
Linux: Comes with in-built drivers, no additional driver needed
Code
To maximize efficiency PX4FLOW does use a bare-metal code design and exploits all accelerating features of the STM32F4xx series: DMA transfers for all data, flow calculations using the M4 SIMD extensions and floating point calculations in the hardware FPU of the chip. The software is based on the ST Micro F4 library.
Directory Structure
-
px4_flow https://github.com/cvg/px4_flow – limited access until next publication deadline
-
main.c – main function
-
flow.c – flow processing
-
cdcacm.c – usb serial
-
dcmi.c – camera interface
-
spi_l3gd20.c – gyro interface
-
sonar.c – sonar interface
-
Optics
The correct optics are delivered by 3D Robotics already mounted and focused.
-
16 mm M12 (S-mount) lens (with IR-cut filter)