Maxi-Phyling Rowing
Maxi-Phyling Rowing
The Maxi-Phyling is the versatile GPS unit for collecting data in rowing. Validated by the International Rowing Federation (World Rowing), it can be used in training as well as in competition. It provides complete feedback on a crew's performance.

The Phyling Rowing app was developed in collaboration with the French Rowing Federation (FFAviron) and the Olympic French team to provide precise analysis of the markers and performance indicators specific to the sport. It gives coaches training feedback through an advanced analysis module to visualize, compare and process data. The app also lets you export data as a report or share it directly on training-tracking platforms such as Nolio.
Quick start
Mounting the unit on the boat
- Firmly attach the Maxi-Phyling to the hull of the boat using a 3M-type Velcro strap
- Make sure the Maxi-Phyling is placed in the boat's direction of travel
Tip
The Maxi-Phyling can be placed in a waterproof box (such as a food container) to protect it from the elements.

Starting and stopping a recording
- Turn on the Maxi-Phyling with the ON button (green LED).
- Press the REC button to start recording (blue LED).
- Press the REC button again to end the recording (green LED).
- The data is saved in the Maxi-Phyling and uploaded to the app via USB or Wifi.
Hub and real-time visualization
- Turn on the Hub; it connects automatically to the Maxi-Phyling.
- Access the app through the Hub's Wifi connection. On a PC, tablet or smartphone, enter the address http://192.168.1.42 in your browser.
- Log in with your username and password.
- Real-time data visualization is available in the Real time tab.
Data processing and export
- Find your recordings in the Data tab ("New data" button) to associate them.
- In the Associated data menu, view a recording, create selections and compare several recordings.
- Export your recordings and comparisons in different formats: PDF report, raw data, CSV format.
USB mode & data upload
Here is the procedure to retrieve data from a Maxi-Phyling using USB mode and upload it to the Phyling Cloud app.
1. Connecting to the PC
- Trigger USB mode by long-pressing the ON button. The LED turns yellow and the device appears on the computer as a USB drive.
- Plug the USB cable of the Maxi-Phyling into the computer.
2. Preparing the data for import
- Open the Maxi-Phyling folder named SD.
- Open the "data" folder. Files are sorted in chronological order, with a name like
157_1_20240125_161803where:
| 157 | 1 | 20240125 | 161803 |
|---|---|---|---|
| Maxi-Phyling number | Recording number | Recording date (25/01/2024) | Recording time (16:18:03) |
- Copy the desired .txt file to the computer desktop or to the folder of your choice.
3. Importing the data into the Phyling app
- Open a web browser and go to the Phyling app with your username and password: https://app.phyling.fr.
- Import the file:
- Click the cloud icon in the "Data" tab.
- Look for your file in the "data" folder of your Maxi-Phyling or in the folder on the computer where it is stored. Identify the recording by its start date and time.
- Fill in the file's association parameters (Group, Athlete(s), Sport = Rowing, Exercise, Boat type, etc.) and click the "Import" button.

4. Completing the import
- The file appears at the top of the data list.
- A "…" icon indicates that the file is being imported.
- If a "!" icon appears, check the association parameters before restarting the analysis.
5. Data analysis
- Creating a selection:
- Make a precise selection using the zoom tools and the indicators of your choice (stroke rate, acceleration, instantaneous speed, etc.). Hover over the curve to find the time or distance shown at the start of the selection. Enter this value in the selection tool below the graph, in "x0". Then enter the distance or duration of the selection in "dx". When you check this selection, an automatic zoom on your race appears.
- Save the selection by clicking the "+" button.
- Export a PDF report of this selection with the download icon at the top right of your graph. Select the "PDF report" format and the number of your selection.
- Visualization in the Phyling app:
- Use the automatic template located above your graph. By default, you will find the
Speed-Stroke rate,Speed-Acceleration,Accelerations,Catch check indexandAnglesgraphs. - Use the
Alltemplate to create your own graph. Use the graphical tools to add other indicators on a second y-axis and across several graphs.
- Use the automatic template located above your graph. By default, you will find the
- Comparing several selections:
- Make several selections.
- In the Data tab, tick the box to the left of your recording to select it and click the comparison icon at the top right. You can compare several recordings and selections from different recordings.
- In the comparison interface, tick the selections to compare and choose the indicators to display.
Data
The data recorded and calculated by the Maxi-Phyling in rowing configuration provides complete information on the rowing cycle, speed and boat stability. To make the most of this data, Phyling makes the raw data of each sensor available. Phyling has also developed specific analyses to calculate certain indicators.
Sampling frequencies
| Sensor | Frequency |
|---|---|
| IMU | 100Hz |
| GPS | 10Hz |
The tables below describe the calculated variables and indicators, as well as how they were obtained.
CSV file data
This data is included in the csv file that can be downloaded from the app. It is time-series data sampled at 100Hz, including both raw and calculated data. This is also the data displayed as graphs in the app.
| Variable | Description | Unit | Calculation |
|---|---|---|---|
| T | Time since the start of the recording | s | |
| D | Distance traveled | m | Calculated using the Vincenty method |
| T_norm | Time normalized per stroke | stroke | |
| gyro_x | Angular velocity around the x axis (boat axis) | deg/s | High-pass filter (fc=0.2Hz, order=5) |
| gyro_y | Angular velocity around the y axis (lateral axis) | deg/s | High-pass filter (fc=0.2Hz, order=5) |
| gyro_z | Angular velocity around the z axis (vertical axis) | deg/s | High-pass filter (fc=0.2Hz, order=5) |
| acc_x | Acceleration along the x axis (boat axis) | m/s² | Raw data |
| acc_y | Acceleration along the y axis (lateral axis) | m/s² | Raw data |
| acc_z | Acceleration along the z axis (vertical axis) | m/s² | Raw data |
| roll | Roll | deg | Obtained by integrating the gyro data (positive when the boat leans to port and negative when it leans to starboard) |
| pitch | Pitch | deg | Obtained by integrating the gyro data (positive when the bow rises and negative when the stern rises) |
| yaw | Yaw | deg | Obtained by integrating the gyro data (positive when the boat turns to port and negative when it turns to starboard) |
| heave | Heave (vertical oscillation distance of the boat) | cm | Obtained by double integration of acc_z (Richter et al. 2014) |
| acc_z_ | Acceleration along the z axis without gravity | m/s² | acc_z - g |
| gpsTimeUs | GPS timestamp in microseconds since 1970 | microsecond | Raw data |
| gpsTimeAccuracyNs | GPS time accuracy | nanosecond | Raw data |
| longitude | Longitude | deg | Raw data |
| latitude | Latitude | deg | Raw data |
| speed_gps | Speed | m/s | Raw data |
| altitude | Altitude | m | Raw data |
| heading | Heading | deg | Raw data |
| nSat | Number of satellites | Raw data | |
| PDOP | Position (3D) dilution of precision | Raw data | |
| speed | Filtered speed | m/s | Obtained from the GPS coordinates (latitude, longitude). Low-pass filter (fc=0.1Hz, order=2) |
| speed_i | Instantaneous speed | m/s | Fusion algorithm combining the GPS speed speed and the acceleration acc_x |
| speed_rel | Relative speed defined against the target speed (depending on the category) | % | speed / prog_speed |
| speed_rel_i | Relative instantaneous speed defined against the target speed (depending on the category) | % | speed_i / prog_speed |
| motif_id | Unique identifier for each stroke | Stroke detection from the acc_x acceleration signal | |
| cadence | Stroke rate in strokes/min | spm | 1/T_cycle where T_cycle is the duration of one rowing stroke |
| pic_acc | Acceleration peak | m/s² | max(acc_x) for each rowing stroke |
| pic_down | Deceleration peak | m/s² | min(acc_x) for each rowing stroke |
| t_acc | Duration of the acceleration phase | s | T[acc_x > 0] for each rowing stroke |
| t_down | Duration of the deceleration phase | s | T[acc_x < 0] for each rowing stroke |
| t_check | Catch check index (deceleration duration at the catch) | s | |
| ratio_down | Total deceleration ratio | % | t_down/T_cycle |
| ratio_check | Deceleration ratio at the catch | % | t_check/T_cycle |
| amp_roll | Roll amplitude | deg | max(roll) - min(roll) for each rowing stroke |
| amp_pitch | Pitch amplitude | deg | max(pitch) - min(pitch) for each rowing stroke |
| amp_heave | Heave amplitude | cm | max(heave) - min(heave) for each rowing stroke |
| d_stroke | Distance per stroke | m | Calculated from speed and stroke rate |
| timestamp | Timestamp since 1970 | s | If GPS is available, simple conversion of gpsTimeUs; otherwise the Maxi-Phyling time is used |
Indicators
Indicators are statistics that characterize a whole selection. In the app, they appear in the "Indicators" table and also on the first page of the pdf reports.
| Variable | Description | Unit | Calculation |
|---|---|---|---|
| D_true | True distance | m | Information provided by the user |
| D_MP | Maxi-Phyling distance | m | D[-1] - D[0] over the selection |
| T_chrono | Chrono time | Information provided by the user | |
| T_MP | Maxi-Phyling time | T[-1] - T[0] over the selection | |
| T_500m | Average time per 500m | 500m / v_moy | |
| v_moy | Average speed | m/s | D_true/T_chrono if this data is provided, otherwise D_MP/T_MP |
| v_moy_rel | Average relative speed | % | v_moy / prog_speed |
| v_max | Maximum speed | m/s | max(v) |
| n_strokes | Number of strokes taken during the selection | From cad_moy and T_MP | |
| d_stroke | Average distance per stroke | m | (Total distance) / n_strokes |
| cad_moy | Average stroke rate | spm | moy(cadence) |
| cad_min | Min stroke rate | spm | min(cadence) |
| cad_max | Max stroke rate | spm | max(cadence) |
| ratio_down_moy | Average total deceleration ratio | % | moy(ratio_down) |
| ratio_check_moy | Average deceleration ratio at the catch | % | moy(ratio_check) |
PDF report
The rowing analysis report gives coaches a wealth of information to analyze the performance of their boats in training or in competition. It provides indicators as values and graphs, including the stroke rate-speed profile over the whole race, the boat's acceleration map and a breakdown of the race into segments.

This valuable tool allows coaches to make informed decisions to optimize training and maximize results in upcoming races.