Blog
February 19, 2026Maker5 min

My Rower Doesn't Speak Garmin

Reverse engineering, BLE bridging, and a Connect IQ app — because no manufacturer thought of it

Garmin Connect IQ · Monkey C · BLE · ANT+

I row. Not on water — on a Sportstech WRX1000 Waterrower. Solid machine with one problem: it speaks Bluetooth Low Energy. My Garmin Epix 2 Pro speaks ANT+. They don't talk to each other.

Why Imported Activities Aren't Enough

FIT Import

  • Garmin ignores imported data
  • No Training Effect
  • No VO2max update
  • No Training Load
  • Rowing = invisible

Live Pairing via Bridge

  • Watch sees real-time data
  • Aerobic/Anaerobic Training Effect
  • VO2max gets updated
  • Training Load is counted
  • Rowing = fully tracked

Firstbeat algorithms run on-device. If the watch doesn't see heart rate live during the activity, there's no calculation. No Body Battery drain, no Intensity Minutes, no Recovery Time.

The Bridge: BLE In, ANT+ Out

1
WRX1000BLE FTMS
2
BridgeChrome/Android
3
ANT+ FE-CUSB Dongle
4
Garmin WatchIndoor Rowing
45€ hardware costANT+ USB dongle (€35) + USB-OTG adapter (€10)

Software that receives BLE FTMS data from the WRX1000 and forwards it as ANT+ FE-C to the Garmin watch. Runs on an Android phone in Chrome. And suddenly: Training Effect. VO2max. Everything.

The Garmin App: WRX1000-IQ

The standard Indoor Rowing display is generic. So: Connect IQ data field in Monkey C. Zone-based pace display with color coding, four core metrics: pace, power, stroke rate, distance. AMOLED-optimized.

WRX1000-IQ App
WRX1000-IQ in simulator: Pace, watts, SPM, distance and heart rate — all live on Garmin

Connect IQ: Every API call can crash. Bluetooth drops. Fields vanish. Blue square = your code is broken. Solution: Every call in try-catch, null checks everywhere, tag-and-rollback workflow.

What an Engineer Does

Would it have been easier to buy a rower with native Garmin support? Of course. But the WRX1000 is a water rower — the rowing feel is unbeatable. And I'm a mechanical engineer.

Full Garmin integration for a device the manufacturer never intended for it. Training metrics that were previously invisible. And a deploy script that pushes directly to the watch via MTP.

— Philipp

More maker stories? The book has fourteen of them.

About the book