opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

A Zwift bridge for treadmills, bikes, ellipticals, and rowers
GitHub RepoImpressions4

Project Description

View on GitHub

Making Your Dumb Treadmill Smart Enough for Zwift

So you've got a treadmill, bike, elliptical, or rower collecting dust in the corner, and you'd like to actually use it with Zwift or your favorite training app—but the manufacturer never built that bridge. Maybe your equipment speaks some proprietary protocol and the apps only understand standard fitness signals. That's the gap qdomyos-zwift (or "QZ") is trying to close.

What It Does

QZ is a bridge app that sits between your exercise equipment and the training apps you actually want to use. It translates the data coming off your treadmill, bike, elliptical, or rower into a format that Zwift, Wahoo RGT, VzFit, Rouvy, and others can understand. It's available on both Google Play and the App Store, so it runs on your phone rather than requiring a dedicated computer or dongle.

The README lays out a feature matrix across all four equipment types, and the breadth is the point. Beyond basic Zwift compatibility, QZ handles auto resistance on bikes and ellipticals, auto inclination and speed on treadmills and ellipticals, and Wahoo Dircon support so you can send data to Zwift or RGT over WiFi only. There's also heart rate support for Apple Watch, ANT+ devices, and Bluetooth devices, plus customizable heart rate zones. If your bike lacks a power sensor, QZ can even calculate wattage from heart rate and cadence.

Why It's Cool

  • It covers equipment categories most bridges ignore. Plenty of projects target bikes. QZ explicitly supports treadmills, ellipticals, and rowers too, with equipment-specific features like auto speed and auto inclination on the treadmill side. If you're a runner rather than a cyclist, that matters.

  • The Peloton features are unusually specific. The README details bike metrics on the Peloton app, power zones with auto resistance, real-time resistance conversion, and real-time auto resistance—each with the option to customize the conversion. That level of granularity suggests someone actually thought about how Peloton's resistance scale differs from whatever your hardware reports.

  • Dircon support is a genuinely useful touch. Sending data to Zwift or RGT over WiFi only means one less thing to troubleshoot when Bluetooth gets flaky mid-ride.

  • Profiles and tile customization make it livable. You can maintain different profiles for different users or different fitness devices, and reorder or hide UI tiles. Small quality-of-life features, but the kind that separate a tool you tolerate from one you keep installed.

  • It's honest about what it isn't. The README states plainly that QZ isn't affiliated with or endorsed by any subscription service or equipment maker. That's the right disclaimer for a project operating in the gaps between vendors, and it sets expectations correctly.

How to Try It

Getting started is straightforward since it ships as a mobile app:

  1. Install QZ from Google Play or the App Store.
  2. Pair your fitness equipment and, if you're using one, your heart rate device.
  3. Configure your app of choice—Zwift, RGT, VzFit, or Rouvy—to connect.
  4. If something doesn't work, start with the QZ FAQ and troubleshooting guides in the repo before diving into issues.

The project lives at github.com/cagnulein/qdomyos-zwift, where you'll also find the full feature tables and screenshots. If you want to support development, there's a Buy Me a Coffee link, and translations are handled through Weblate if you'd like to contribute in that way.

Final Thoughts

QZ isn't trying to be a polished commercial product—it's a pragmatic bridge for people whose equipment doesn't officially talk to their training apps, built by someone who clearly uses it themselves. If you've got a treadmill or bike that's been locked out of the Zwift ecosystem, this is worth an afternoon of setup. Check the FAQ first, temper your expectations around the roughest edges, and you'll likely find it does exactly the one job you needed done.

Back to Projects
Project ID: f9839aba-14f3-4d08-9f9c-e74e0c2a4e8dLast updated: October 22, 2026 at 02:53 AM