WaterRower Link+ is a bluetooth module designed for any WaterRower with the S4 monitor. It provides all the functionality of the official WaterRower ComModule as well as many additional features.
- Replaces WaterRower ComModule and External ANT+ Module
- External ANT+ connection Works on M1 when using recommended cable (unlike the official ANT+ Plugin-In module!)
- Bluetooth
- Bluetooth Fitness Machine Profile
- Rower Data
- Indoor Bike Data
- Supports BLE HRMs
- Bluetooth Fitness Machine Profile
- ANT+
- Fitness Equipment Profile
- Supports ANT+ HRMs
- S4 monitor heart rate provider
- Sends captured ANT+/BLE HR data for display on S4 monitor
- ANT+ to BLE HRM bridge
- WRL+ will broadcast ANT+ HR data over BLE for use in apps that only support BLE. e.g. SuperNatural
- WaterRower Connect
- Holofit
- VZFit
- ZWift
- Garmin Fenix 6
- SuperNatural (HR only)
Hardware design is available in the KiCad projects in this repo. There are two versions, breadboard and PCB. With the breadboard version, everything can be assembled using dev boards and jumper wires. 1 Both solderless and soldered breadboards were tested and work. The PCB version requires the design be sent to a PCB manufacturer.
Qty | Reference | Part | Foot Print | Supplier |
---|---|---|---|---|
1 | C1 | 1uF | THT | |
1 | C2 | 0.1uF | THT | |
1 | J1 | AudioPlug3 | 2.54mm | Amazon |
1 | J4 | USB_A | 2.54mm | Amazon |
2 | R1, R2 | 10k | THT | Amazon |
1 | SW2 | Button | 12mm | Amazon |
1 | U1 | ESP32-S3-DevKitC-1 | DIP | Amazon |
1 | U2 | LM3525M-H | SOIC-8 | Mouser |
1 | U2 | SOIC-8 TO DIP | Amazon | |
1 | U3 | D52QD2M6IA2 | 2x10_2.54mm | Digi-Key |
1 | PCB Breadboard | 50x100 | Amazon | |
1 | Project Box | B07W78LN1V | 100 x 60 x 25 | Amazon |
1 | TRS Cable | CC0377 | 3.5mm | Amazon |
1 | USB Cable | 3896 | Mini USB | Monoprice |
Qty | Reference | Part | Foot Print | Supplier |
---|---|---|---|---|
2 | C1, C3 | 1uF cap | 0603 | Amazon |
8 | C2, C4, C5, C6, C9, C10, C14, C16 | 0.1uF cap | 0603 | (See above) |
2 | C7, C11 | C 10uF cap | 0603 | (See above) |
4 | C8, C12, C13, C15 | 4.7uF cap | 0603 | (See above) |
1 | D1 | SK6812 | 5x5mm | Digi-Key |
1 | D2 | 1N5819 | SOD-323 | Digi-Key |
1 | D3 | RED LED | 0603 | Amazon |
1 | J1 | Molex_67643 | USB-A | Mouser |
1 | J2 | CUI_SJ-3523 | 3.5mm | Mouser |
1 | J3 | Molex-105017-0001 | Micro USB | Mouser |
1 | Q1 | BSS138 | SOT-23 | Mouser |
2 | Q2, Q3 | S8050 | SOT-23 | Amazon |
7 | R1, R3, R4, R5, R6, R8, R11 | 10K res | 0603 | Amazon |
2 | R2, R7 | 1K res | 0603 | (See above) |
1 | R9 | 47K res | 0603 | (See above) |
1 | R10 | 22K res | 0603 | (See above) |
1 | R12 | 5.1K res | 0603 | (See above) |
1 | SW2 | Header | 2x2.54mm | Amazon |
1 | SW2 | Button | 12mm | Amazon |
1 | SW4 | RESET | 2x2.54mm | (See above) |
1 | SW1 | RESET | 6x6mm | Amazon |
1 | SW3 | BOOT | 6x6mm | (See RESET) |
1 | U1 | ESP32-S3-WROOM-1 | ESP32-S3-WROOM-1 | Mouser |
1 | U2 | LM3525M-H | SOIC-8 | Mouser |
1 | U3 | D52Q | D52QD2M4IA | Digi-Key |
1 | U4 | CP2102N-Axx-xQFN24 | QFN-24 | Digi-Key |
1 | U5 | AP7361C-33E | SOT-223 | Digi-Key |
1 | U6 | SP0506BAATG | MSOP-8 | Mouser |
1 | Project Box | B07W78LN1V | 100 x 60 x 25 | Amazon |
1 | TRS Cable | CC0377 | 3.5mm | Amazon |
1 | USB Cable | 3896 | Mini USB | Monoprice |
1 | Light Pipe | RA | Digi-Key |
- Attach mini USB cable to S4 monitor and WaterRower Link+
- Attach 3.5mm cable to S4 monitor and WaterRower Link+. The recommended cable will fit in the narrow gap of an M1 rower and the monitor.
- Attach micro USB cable to USB power supply
- Visual Studio Code
- Visual Studio Code Espressif IDF extension
- ESP-IDF Built using commit 0132079fa51f2c130513dd634e97ef9726f00e85
- Soldering Iron: YIHUA 995D+
- PCB Hot Plate: MINIWARE MHP30M Mini Hot Plate
- PCB Holder: Stickvise
- Microscope: AMScope SM745NTP-B + DAB
Once power is provided, a red LED will illuminate on the board and should be detectable in apps. Press the button connected to SW2 turn on the S4 monitor. The NeoPixel will illuminate green when it detects it over the USB connection. It will power off automatically after 30 minutes of inactivity. When WRL+ is receiving data from the S4, the LED will turn cyan. When it detects a heart rate over BLE or ANT+, it will beat red. Note the software only supports one HRM. If multiple are detected, only the first one seen will be connected.
- The last update to VZfit displays HR in the HUD however the value does not appear correct. It may be a bug with WRL+ or VZfit.
This project was inspired by PiRowFlow