Data Field: vPower - Bike Virtual Power

Welcome to
vPower
Version 1.9.3



The vPower data field app has been developed for those who are not fortunate enough to own an expensive power meter. Firstly, this is not 100% accurate. As you can imagine, there is a lot of variables at play to calculate power on the pedals accurately. This is my best attempt to take all these variables into consideration and developed the app with the following key features:

Configurable
- Now supports the following options to be set to improve calculation accuracy:
o Bike weight
o Tyre rolling resistance coefficient (default set for Michelin ProRace 3)
o Default ride position (Tops, Hoods, Drops or Triathlon)
o Trainer mode (default is off). Set this mode if you want to get training power for the supported trainer.
o Trainer - I only have a few at the moment, but will add as I get my hands on other trainer power curve formulas. If you have this, please send to me and I can add for you.
o Calculation - Display calculation as watt, or w/kg.

General
- Data is saved to FIT file and can be viewed in GC.
- Power is calculated if you are moving (cadence must also be over 40).
- Power consists of adding Vertical Power, Rolling Resistance, Drag & Air Resistance together to give total watts at a specific point in time (all explained below).

User Profile
- The rider weight is used from the User Profile.

Vertical Power
- The effort to elevate total mass (bike + body) up an incline.
- Incline is calculated based on the difference in altitude over a set period (based on the logging intervals).
- Gravity has been factored in at 9.81 kg m/s.

Rolling Resistance
- The force needed to counter rolling drag.
- Used normal road surface.

Drag
- The force needed to counter drag generated by the bike & wheels at specific speed.
- Used a set of Fulcrum R5 wheels to calculate drag.

Air Resistance
- The power needed to propel through the air at a specific speed.
- Rider calculated to be in the triathlon position (on tri bars).
- Air density calculated for sea level at 20 degrees Celsius.

----------------- Planned Updates------------------
- None at this stage, so please leave feedback.

----------------- Version History ------------------
1.0 - Initial release.

1.1 - Correct cadence value check; introduced value smoothing over last 3 results.

1.2 - Stability updates. Increased smoothing to 5 samples. Auto adjust size for different layouts.

1.2.2 - Stability updates. Crash should now be resolved.

1.3 - Updated for 1.1.3 SDK. Improved vertical power accuracy.

1.4 - Configurable options, Trainer support, Remove need for cadence.

1.5 – Calculation updates for improved accuracy.

1.6 - Option to calculate w/kg, updated firmware for better device support.

1.7 - Cadence over 40 for power to calculate. Save field to FIT file. Power max and avg in summary.

1.7.1 - Minor changes to fix FIT save & Strava upload issue (I hope)!

1.7.2 - Minor updates. Acceleration now part of formula.

1.8.0 - Support more devices. Averaging settings. Decimal fix for w/kg. Added a bunch of additional trainer support.

1.8.1 - Update issue with power spikes, and compiled for 2.4.2.

1.8.2 - Will now record power even when no cadence meter attached.

1.8.3 - Small fix to text for negative reading to avoid spike in FIT file (thanks Jan!).

1.9 - Re-look at all calculation to address power spikes.

1.9.1 - Improve power calculations (trying to base on actual power meter results). Added Feedback Omnium Over-Drive trainer support.

1.9.2 - Update for new Edge 830, 530, Forerunner 945 and MARQ.



Happy training!

  • Yes it does. I also have a FR965. Edit an activity and add data field listed under ConnectIQ. vPower is listed there. 

    cheers

  • Ah yes, I've found it in the custom data screens menu. Thanks for your help I'm still learning to navigate the garmin UI. Looks good so far after a few rides Grinning

  • Hi is there anything I can change to get more accurate values for a MTB? Because rolling Résistance is much Higher snd we ride more in Natural ground

  • A suggestion: it should be useful to have a multiplier in the setup to have a percentage (plus or minus in percentage) to adapt the power output. In this way having a power meter on the main bike should be possible to calibrate the power output of the app also for other bikes that haven’t the power meter.

    thank you 

    my best Fabio

  • @scoetser76 thanks for this data field, it's quite effective.

    Are you able to add a "custom" trainer to the list where we can specify power curve variables in Settings?

    I have an older Jetblack Dynameter Fluid Trainer that the power display has died, it appears to require 150% of the JetBlack Z1 profile in vPower for the same speed, however I need to plot and fit more data.

    Instead of requesting a one off addition for a 10+ year old Trainer I figured it might be more beneficial for all users to add a dummy trainer with a power curve that can be varied via polynomial coefficients or another curve fitting method.

    Alternatively do you have a list of the curves used in the Data field so I can choose one that is closer to the data I have plotted?