Rowing App for Waterrower

I think that a lot of people are serching for a witged / datafield / app to record her training on garmin connect.

This was not possible because the Rower had no bluetooth module. But now there is such a module and it would be a phantastic thing if there would be a IQ App to record the rowing activity on the Watch. I think this could be a good Idea for a developer to make such app to get some money because there is nothing in this direction on the market.

What do you think?

  • Thank you so much for your work on this project! I got it installed easily the other night and it just works after pairing to my Fenix 6 via ant+ to the pi and using the indoor row profile on the watch.  I get speed, distance, power and stroke rate right in my Garmin connect fit file recorded on the watch, and it’s visible in Connect Mobile and on the web.

    I used to use waterrower-ble from Olympum ( ) but my sdcard got corrupted and when trying to reinstall I just couldn’t get all of the node libraries to install correctly for ant+. I found a fork that had an easy to install docker container but it had the same missing ant+ issues. But the BLE signal it exposed worked with zwift. (And when the ant+ signal worked, I had to record as a bike ride to get the power signal but then it wouldn’t have distance in the uploaded file and I’d have to edit it on garmin connect and the file synced to strava wouldn’t show the correct distance or allow your project is way more functional for my purposes of tracking rowing on Garmin!)

    One issue though- with pirowflo, I couldn’t get the waterrower app to connect on my pixel 3 android phone (looks like that is a known issue with android?) and Zwift (iOS iPad) sees and connects to the PiRowFlo as a trainer and power meter on the pairing screen but it doesn’t seem to recognize the power (stays at 0 watts) and start my bike riding, even though my watch reads the power data via ant+ at the same time.  After disconnecting from zwift I was able to connect to and see the Fitness profile transmitting the updated power/speed/distance data using the nRF app. So I suspect it’s an issue with Zwift not seeing data or profiles it expects? Any chance of duplicating the data in a profile that Zwift recognizes like the BLE power meter?  If not, I think I might be able to use a North Pole Engineering CABLE device to rebroadcast the power signal from the ant+ (FE-C?) profile as a Bluetooth power meter signal, for Zwift to work but I haven’t tried that yet because I’d have to unpair an ant+ bike power meter first...

    I didn’t want to create an issue on your GitHub page because maybe this is more of a feature request than an issue.

    Anyway, thanks so much because even in the current iteration this is amazing and really has breathed new life into my Waterrower!

  • Hey many thanks for your feedback !

    First point: I now know why Waterrower connect or other apps are not working with PiRowFlo. This is due to PiRowFlo ! Or better say that bluez the linux bluetooth implementation start the bluetooth with Bluetooth classic and bluetooth low energy. This makes apps crazy which can't handle both at the same time. I will update PiRowFlo in order to only use bluetooth le. In my test setting it all now works.

    Second point: please do an issue report on Github. So I can see and plan this so other devs working on the project could pick up if they also want that feature. Is Zwift intending to develop the rowing function.
    As I don't have Zwift, I haven't look into it for the moment.

    best regards

  • Thank you for your Great work. I’ve tried it out and it works perfectly with my Fenix 6 + ant (no smartrow)

    best regards from austria Muscle tone2

  • Great work!!  Also I have a case I am finishing designing (doing a test print right now) for the stack of Pi Zero W, Ethernet/USB hat,OLED hat.  This forum doesnt let me upload images but when I get it test fitted I'll post a link to it. 

  • So with the default garmin indoor rowing app you are getting speed/power/strokes and distance via Ant+?  When I fired up the on-watch app I tested with the watch off my arm so it didnt record the strokes from the movement and it was showing zero info coming from the device even though it looked like it was connected.   I am getting a different Ant+ dongle to test (an actual Garmin one) because I am not sure if that is th eissue.  The software shows it is broadcasting and see the Ant+ dongle... 

  • Yes, I'm using a Fenix 6 with the default indoor rowing app, connected via ANT+ to the Raspberry Pi 3B with a Garmin ANT+ stick (it's identified as dynastream in the logs).

    I was wearing the watch during recording, and here are some screenshots from the file that uploaded to Garmin during a test. Partially through this test, you can see where I stopped and the power dropped to zero and I set it to auto-lap every 500m, which is why the 2nd lap is exactly 500m. 

    Now that I look at it, it's also doing a Distance per Stroke graph/calculation.  The respiratory rate stuff is added by the Fenix 6 (based on heart rate variability measurements from the chest HRM strap i have paired to the watch, I think?). 


     Lap splits data

  • Cool to hear that you may have figured out the BLE to apps issue.  I'll keep an eye on Github to see when it's time to do an update with the fixes. I'll test that with Zwift (they don't support indoor rowing at this time, but have been rumored to be coming out with it for years, and some people already use their Concept2 and Waterrowers to "row" their bike for the scenery - and if it doesn't work with the BLE fix, I'll create an issue on Github. 

    The bad news is that last night one of the seat wheels cracked and I ordered new ones but it looks like the shipping will be delayed because I decided to get one of the waterrower tablet mounting arms at the same time. I'll still be able to test connectivity but just won't be able to do any workouts until the new seat wheel comes in. 

  • Awesome, I have a Forerunner 945 and it uses the same chipset and app as the Fenix 6 in this instance.   I have the actual garmin USB stick on its way to try out. 

  • so I made a nifty little case: 

    II'll share the designs on Thingiverse in a few days. 

  • Yes, I pair the PiRowFlo ant+ signal as a trainer on the Fenix 6 and the data just shows up in the Fenix 6 app. There must be something about your ant+ stick or the 945 vs. 6

    Some Samsung phones have ant+ and you could try to read the signal with one of those or with an ant+ stick plugged into your pc running the ant+ development software (which allows you to read or transmit sample ant+ signals).