OpenIQ Devices
← Back

Swimming VO2max Test

· v0.27.2
★★★★★ (12) ↓ 1,000 downloads 4 Free

About

This datafield provides an estimate of your VO2max from an 800m (or 400m in the full version), front crawl swim test, performed ideally in a 50 meter pool. This is useful if you are predominately training as a swimmer or unable to run or cycle to obtain a VO2max measurement. It is also useful if your Garmin watch does not have a built-in VO2max measurement feature. # Features * Displays estimated VO2max at the end of the test * Optional guided warm up step (configurable to fixed 5 minutes or until HR reaches zone 3) # Instructions: 1. Select the pool swim activity. 2. If you have not already done so, add the datafield to your pool swim activity. Ensure the correct pool length is selected in the settings. 3. Do a warm up swim for 5 minutes; Your HR should be in or close to zone 3 at the end of the warm up. If not, continue warming up. 4. Swim to one end of the pool. Stay in the water. 5. Press the Start button on your watch and immediately start swimming using a front crawl stroke. The swim must be started in the water. Swim as quickly as possible, stopping only if necessary. Flip turns are allowed. 6. After 800m, the VO2max estimate will be shown. You can stop the activity. Full instructions with pictures: https://ko-fi.com/Post/Using-the-Swimming-VO2max-Test-without-the-guided-J3J3Q1PP1 NOTES: a) If less than 80% of your swim was in HR zone 3 (aerobic), an (*) will appear after the VO2max result, indicating questionable validity of the result. b) You must complete the 800m in less than 25 minutes for a VO2max estimate to be possible. A "?" will appear after the VO2max result for completion times over 20min, indicating a less accurate result. c) If you want to use the guided warm up step, see instructions here: https://ko-fi.com/post/Using-the-Swimming-VO2max-Test-data-field-with-the-L4L6PV7WE d) Garmin measures distance by detecting turns. If distance is not being recorded see this page for hints: https://support.garmin.com/en-US/?faq=oxpDS1HWGf1HtWitgrdTy6 Alternatively you can enable the "Use STOP button to indicate completion" setting and indicate when 800m has been completed using the STOP button. e) The most accurate results will be for experienced, trained swimmers. Results may not be as good for untrained swimmers, but results should be comparable for the same person. f) For open water swimming, results may not be as accurate. In this case, distance is measured using GPS, therefore GPS must be ready before starting the activity timer. g) Your HR zones and weight need to be entered properly in your Garmin user profile settings for this app. # FULL Version Features * Option to display [% test completion], during the test * VO2max results will be saved for viewing with the activity in Garmin Connect (including heart rate and time at the test end, and average HR during the test) * Option to perform a 400m test (results will be less accurate than 800m) * METs trend graph and average METs will be written to the FIT file for viewing with the activity in Garmin Connect. The degree of physical exertion can be judged from this. A vigorous effort should be around 9 - 12METs. * Vibration alert at the end of the test when the required distance is reached. * Option to send results to the FitRate app for plotting on a historical trend graph. Instructions: https://ko-fi.com/post/How-to-Save-and-Graph-Swimming-VO2max-Results-in-F-F1F3QEZ6W (For Garmin models with Connect IQ version 3.3.0 or higher) * Option to measure heart rate recovery (HRR) at the end of the test. Instructions for this option: https://ko-fi.com/post/Measuring-HR-Recovery-with-the-Swimming-VO2max-dat-N4N8PV7CX # Payment For the FULL version, use this link to pay US$1.60 via Stripe (no account required; credit card, Google Pay, Apple Pay accepted). https://buy.stripe.com/28o5lZh2IcN7cQUbO2 Alternative payment via Paypal: https://www.paypal.com/paypalme/trudelta/1.60USD To get your unlock code quickly: https://ko-fi.com/post/Payments-via-PayPal-Z8Z6AIK78

What's new

NOTE: If your watch does not have the Garmin native Pool Swim activity, then you can still use this datafield by enabling the "Use STOP button to indicate completion" setting, and manually stopping the activity to indicate the end of the required distance. If you want to use this app in open water swimming and your watch does not have the Garmin native Open Water Swim activity, then you can use a custom activity copied from an outdoor activity, like Walk or Run. Distance tracking should work using GPS. Version 0.27.2 Added support for the Forerunner 70 and 170 models. Version 0.27.1 Added support for the D2 Mach 2 Pro. Version 0.27.0 Stopped communications on exit. Version 0.26.4 Added support for the D2 Mach 2 and D2 Air X15. Version 0.26.3 Expanded language support. Version 0.26.2 Added support for Venu 4 models. Version 0.26.1 Added support for the Fenix 8 Pro. Version 0.26.0 Communication protocol change. This is a required update. Version 0.25.8 Added support for the Venu X1. Version 0.25.7 Added support for Forerunner 570/970 models. Version 0.25.6 Added support for the Vivoactive 6. Version 0.25.5 Added support for the Decent G2. Version 0.25.4 Added support for Approach S50/S44. Version 0.25.3 Added support for Instinct 3 models. Version 0.25.1, 0.25.2 Added support for the Enduro 3 and Fenix 8 series. Version 0.25.0 Full Version only change: Prevented possible crash if User ID setting is blank. Version 0.24.0 Corrected crash which occurs in rare circumstances. Version 0.23.1 Added support for Forerunner 165 series. Version 0.23.0 Changed to use swimming profile heart rate zones if available. Version 0.21.0 Full Version only changes: Added option to enable/disable save of MET data. Added option to save average (sensor) temperature in the activity record. This is useful because water temperature can significantly affect performance. Note, this may not work if you use Garmin's pool swim activity because the temperature sensor may be disabled when this activity is running due to reliability reasons. The temperature sensor should still be enbabled for the open water swim activity. See: https://www.dcrainmaker.com/2021/10/fascinating-reason-temperature.html Version 0.20.0 Full Version only changes: Corrected crash when trying to save invalid data. Version 0.19.1 Added support for the Descent Mk3 43mm models. Version 0.19.0 Full Version only changes: Corrected crash problems. Corrected missing alert for when data has been sent to FitRate. Version 0.18.3 Added support for the Fenix 7 Pro Solar. Version 0.18.2 Added support for the Descent Mk3 model. Version 0.18.1 Added support for the Fenix 7X Pro Solar. Version 0.18.0 FULL Version only change: Prevent trying to communicate to FitRate when there is no Bluetooth connection. Version 0.17.0 FULL version only change: Corrected crash on startup. Version 0.16.0 FULL Version only change: Added option to send results to the FitRate app for plotting on a historical trend graph. Instructions for using this feature are here: https://ko-fi.com/post/How-to-Save-and-Graph-Swimming-VO2max-Results-in-F-F1F3QEZ6W Version 0.15.0 Added ! to flag VO2max result if a manual STOP was used to end the test but the measured distance is very different from the required distance. FULL Version only change: Added option for a 400m test. The 800m test is still more accurate and preferrable. The 400m test assumes that you would have been able to swim at the same pace for an additional 400m. Version 0.14.1 Removed unnecessary "Push [Back]" text on the end of warm up alert screen. Version 0.14.0 Fixed error where the distance covered in the warm up step was erroneously included in the official 800m test distance, if the guided warm up step was included.

Permissions

DataFieldAlertBackgroundSensorHistoryUserProfileCommunicationsFitContributor

Details

Compatible with 248 devices
Updated May 15, 2026
Open on apps.garmin.com ↗