MechFlow V1 Datasheet

MechFlow V1

Optical Flow & ToF Rangefinder Module for Flight Controllers
Doc. DS-MFV1-01 Rev 1.0
Issued 2026-08-05
01

Overview

MechFlow V1 is a combined optical-flow and laser time-of-flight module that reports ground-relative velocity and altitude to a flight controller over a single UART, using the MSP v2 sensor protocol. It is intended for position-hold and altitude-hold augmentation on multirotors flying below the reliable range of GPS, indoors or under cover.

MechFlow V1 streams out the MSP/Mavlink packets through a single 4-wire UART connection — no host-side sensor drivers, calibration routines, or bus wiring required beyond power and serial.

MechFlow V1 sensor module
MechFlow V1 module
  • Single UART interface — plus, SPI/I2C exposed
  • Native MSP v2 output, no companion computer needed
  • Optical flow + laser rangefinder, factory-fused on one PCB
  • 100 Hz combined telemetry stream
  • Long-range ToF mode — full altitude-hold envelope
  • Drop-in for Betaflight / INAV / ArduPilot optical-flow position hold
02

Sensors

Two independent sensing elements feed the onboard MCU; both are fixed, non-user-configurable at the hardware level. Ranges below are the sensor manufacturers' published figures, not flight-tested figures for every environment.

Optical Flow

PixArt PMW3901

optical correlation flow sensor
Sample rate
up to 121 fps (internal)
Usable height
~80 mm and up
Output
raw Δx / Δy pixel counts
Requires
textured surface, adequate light
ToF Range

ST VL53L1X

940 nm invisible-laser time-of-flight
Range (this config)
up to ~4 m
Distance mode
Long
Native update rate
~18.2 Hz
Laser safety
Class 1 (eye-safe)
Field note

Ranging accuracy on both sensors depends on target surface reflectance/texture and ambient IR (direct sunlight reduces usable ToF range). Best performance is over textured, matte, non-reflective surfaces indoors or in shade.

03

Electrical

Supply voltage
5V DC
Logic level
3.3V
UART baud rate
115200bps
UART framing
8N1
Flow control
None
Telemetry output
100Hz

Supply voltage is drawn directly from the flight controller's 5 V peripheral rail; there is no onboard wide-input regulation margin beyond the stated value — do not supply above the rated voltage.

04

Wiring

MechFlow V1 exposes a single 4-pin JST-SH 1.0 mm connector carrying power and one UART. Only TX (module → flight controller) needs to be connected for normal operation; RX is reserved for a future configuration/passthrough mode and can be left unconnected.

Confirm before publishing

Pin-to-signal order above must be verified against the physical board silkscreen/connector keying before this datasheet goes live — placeholder pending final confirmation.

05

Mechanical

Board dimensions
29x29mm
Mounting hole spacing
25x25mm
Mounting hole diameter
4mm
Weight
9gm
06

Communication Protocol

MechFlow V1 speaks MSP v2 (Multiwii Serial Protocol, version 2) exclusively, as a sensor source — it only transmits, it does not need to parse a request. It emits two message types every telemetry tick.

Payload — Optical Flow 0x1F02

Offset Field Type Description
0 quality u8 PMW3901 surface-quality register (SQUAL), raw 0–255
1 motionX i32 LE Raw accumulated Δx pixel count since last read — unscaled sensor counts, not mm or rad/s
5 motionY i32 LE Raw accumulated Δy pixel count since last read — unscaled

Motion counts are the PMW3901's native register values, passed through with no conversion applied on-board. A consumer must apply its own scale factor (a function of lens FOV and measured height above ground) to convert counts into a physical velocity.

Payload — Rangefinder 0x1F01

Offset Field Type Description
0 quality u8 255 = valid range status from sensor · 0 = invalid/no return
1 distance i32 LE Distance to target, millimetres
07

Update Timing & Data Freshness

Both messages are transmitted back-to-back, once per 10 ms scheduler tick (100 Hz), driven by a hardware timer with no software jitter on the send side. The two sensors do not refresh at the same underlying rate, however — this matters for anyone feeding this data into a filter.

MSP output cadence
100Hz, fixed
Optical flow refresh
~100Hz, matches output
ToF sensor refresh
~18.2Hz, native
Important for integrators

The rangefinder value is cached and re-sent unchanged for ~5 out of every 6 telemetry frames, because the VL53L1X only completes a new measurement every ~55 ms. The current protocol does not carry a separate "fresh vs. repeated" flag.

08

Flight Controller Compatibility

Firmware Protocol Status Notes
INAV MSP v2 Supported Native optical-flow + rangefinder fusion for position/altitude hold
ArduPilot MSP v2 Supported via AP_OpticalFlow_MSP / AP_RangeFinder_MSP drivers
Betaflight MSP v2 Protocol-compatible Parses the frames, but Betaflight has no position-hold flight mode that consumes them
PX4 MAVLink Supported PX4's sensor pipeline is MAVLink-based, this module is also usable on PX4 as it can be configured to output Mavlink Packets
09

Handling & Assembly Notes

  • Handle the board by its edges — avoid contact with the optical flow sensor's lens
  • ESD-sensitive: use grounded tools/mat when working near the module
  • Do not exceed the rated supply voltage — the input has no reverse-polarity or overvoltage protection margin beyond spec
  • Mount with the ToF/flow sensor window facing straight down, unobstructed by landing gear or props in frame
10

Revision History

Rev Date Change
1.0 2026-08-05 Initial public release