

The PX4 FLOW is a vision-based sensor designed for drone and robotic applications. It provides accurate position estimation and velocity measurement using advanced optical flow technology. By integrating a camera and a processing unit, the PX4 FLOW analyzes the movement of the ground below, enabling stable flight and precise navigation. This makes it an essential component for autonomous systems requiring reliable motion tracking and control.








| Parameter | Specification |
|---|---|
| Sensor Type | Optical Flow |
| Camera Resolution | 752 x 480 pixels (VGA) |
| Lens Field of View (FOV) | 16 mm focal length, ~45° FOV |
| Frame Rate | 120 frames per second (fps) |
| Processor | STM32F407 (168 MHz, Cortex-M4) |
| Communication Interfaces | I2C, UART |
| Input Voltage | 5V DC |
| Power Consumption | ~115 mA |
| Dimensions | 45 mm x 45 mm |
| Weight | ~12.5 g |
| Pin Name | Type | Description |
|---|---|---|
| VCC | Power | 5V DC input to power the PX4 FLOW |
| GND | Ground | Ground connection |
| SCL | I2C Clock | Serial clock line for I2C communication |
| SDA | I2C Data | Serial data line for I2C communication |
| TX | UART TX | Transmit pin for UART communication |
| RX | UART RX | Receive pin for UART communication |
Below is an example of how to interface the PX4 FLOW with an Arduino UNO using I2C:
#include <Wire.h>
// PX4 FLOW I2C address
#define PX4_FLOW_ADDRESS 0x42
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Initialize serial communication for debugging
Serial.println("Initializing PX4 FLOW...");
}
void loop() {
Wire.beginTransmission(PX4_FLOW_ADDRESS); // Start communication with PX4 FLOW
Wire.write(0x00); // Request data (register 0x00 is an example)
Wire.endTransmission();
Wire.requestFrom(PX4_FLOW_ADDRESS, 2); // Request 2 bytes of data
if (Wire.available() == 2) {
int16_t flow = Wire.read() | (Wire.read() << 8); // Combine two bytes
Serial.print("Optical Flow: ");
Serial.println(flow); // Print the flow data
}
delay(100); // Wait 100 ms before the next reading
}
0x00 with the appropriate register address based on your application.No Data from the Sensor
Inaccurate Measurements
High Vibration Interference
Communication Errors
0x42) and ensure the baud rate matches the sensor's configuration.Q: Can the PX4 FLOW be used outdoors?
Q: What is the maximum altitude for accurate measurements?
Q: Is the PX4 FLOW compatible with other flight controllers?
Q: How do I update the PX4 FLOW firmware?
By following this documentation, users can effectively integrate and utilize the PX4 FLOW sensor in their projects.