Roberto Viola

WaterRower USB support in QZ: direct rower data through Android USB serial

QZ has added a new WaterRower USB connection path on the master branch. Instead of depending only on Bluetooth or screen-based workarounds, the new implementation adds a direct USB serial bridge for WaterRower monitors on Android, with QZ reading rower data from the monitor and exposing it to the rest of the QZ workout pipeline.

The public evidence is the merged GitHub change PR #3068, linked to issue #3059. The code adds Android USB detection, a WaterRower bridge, a new waterrowerusb QZ device, and fixes for stroke rate, workout time, distance, watts, ANT distance and rower broadcast data.

What changed for WaterRower owners

Compatibility summary

EquipmentWaterRower monitors connected by USB
QZ featureDirect WaterRower USB / serial connection path
Platform evidenced by codeAndroid USB host / USB serial path
Metrics evidenced in codeWatts, distance, stroke count, stroke rate, calories, velocity/pace-style values and heart-rate fields where available from the monitor
ControlThis change is about reading and bridging WaterRower monitor data; do not assume powered resistance control for a non-motorized rower
Zwift / MyWhoosh / RouvyQZ can bridge rower metrics through its virtual-device and app-integration workflow where the target app supports the relevant rower/cycling data path
Garmin / Strava / HealthQZ can record workouts and use integrations such as Garmin Connect workflows, Strava upload, Apple Health / HealthKit, and Android health-platform support such as Google Health / Health Connect where configured
ConfidenceHigh that the capability is merged in QZ master; users should still verify their exact WaterRower monitor and Android USB adapter/cable combination

How to try the WaterRower USB path

The exact release channel depends on the QZ build you are using, but the code-level setup path is clear: use an Android device that supports USB host mode, connect the WaterRower monitor through the appropriate USB cable or adapter, grant Android’s USB permission when prompted, and enable the WaterRower USB option in QZ if it is not already selected in your build.

Once connected, confirm that QZ is receiving rower values before starting the target training app. This matters because USB enumeration can take a moment on Android; the merged implementation includes retry logic specifically because a single startup scan could miss a just-attached USB device.

Why this is useful

For WaterRower users, a direct USB path can be more explicit than trying to infer workout data from another app or display. For QZ, it means WaterRower metrics can enter the same bridge used for other supported fitness equipment: live workout tiles, virtual-device output, activity recording, and downstream integrations.

As always with hardware support, the best result depends on the exact monitor generation, cable, Android device and app target. If something does not work as expected, send an email to Roberto.viola83@gmail.com and Roberto will help you check the setup.

Want to connect more fitness equipment to training apps? Download QZ and learn more at qzfitness.com.