PX4Flow Smart Camera UART Issue


When I connect with the USB, I am able to decode the Mavlink messages correctly.

However, when I connect to the UART3, I’m unable to decode any messages at all. Most bytes are 0xFF.

I thought the output data for both USB and UART3 are the same. Anyone knows how to solve this issue?

UART port on px4flow is used for daisy chaining multiple flow boards, it is not functioning the same as USB.

From the website https://pixhawk.org/modules/px4flow under “Data Output” section, it states:

Data Output
The PX4FLOW module outputs MAVLink packets on USB and serial port. Use QGroundControl to read data from the module. An I2C interface for sensor data reading is offered as well. Third party libraries are available to connect and integrate PX4FLOW data in your projects.

USART3: MAVLink at 115200, 8N1 baud: OPTICAL_FLOW message, OPTICAL_FLOW_RAD message, HEARTBEAT message
USB: Baud rate is not relevant (USB ignores it): OPTICAL_FLOW message, OPTICAL_FLOW_RAD message, HEARTBEAT message, image.
I2C1: latest Flow value (i2c_frame) and accumulated Flow (i2c_integral_frame) values since last I2C readout available for readout.

Therefore, isn’t the USART3 also giving out the same Mavlink packets as the USB?

I think you better check source code to verify the statements. There are inconsistency on what USART should functioning in different PX4flow docs, probably due to partial implementation or lack of update.

So use USB and I2C instead, try to avoid using UART.