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!

  • Great app ... although I have a couple of issues that once fixed would make it so much better (I am sure others have mentioned but don't seem to be fixed yet):

    1. Final results seem to be full of crazy high spikes (easily visible when reviewing power in Garmin Connect) ... I have peaks at ~65000 Watts ... all other more realistic wattage estimates are thus barely visible on the Garmin connect graphs ... and I guess any average power info will be blown to pieces by this

    2. I also regularly get negative power figures on my Edge 520 as I ride, esp on descents ... surely zero should be the minimum value, and I often see this despite pedaling ... so unless cadence = zero then logically I should be generating some kind of wattage shouldn't I?

  • This is an awesome app. You should try to get garmin to lease it from you and put it on all of their devices as a standard app. I have tested it against Zwift virtual power and the graphs are nearly 100% accurate each time (the numbers don't match though). If you are improving it and looking for suggestions, here are mine:

    1. Ability to change the numbers to better match zwift, TR, another power meter etc. Mine are usually about 30% higher in vpower. Graphs are the same so just the ability to turn down the power a % would make them exact. So instead of it reading 300watts for what I was doing it would read 225watts or whatever.
    2. Power shows up by default in garmin fields. As of now its only garmin IQ and need to manually enter it. This would also allow it to export in fit files.
    3. Show 20 min average and other data fields garmin allows.
  • Former Member
    Former Member over 6 years ago
    Has anyone successful modified the CRR / weight and still be able to use this? I bumped the CRR up to 0.018 for my 5" Surly Bud/Lou fat tires with 5psi, and put the bike weight to 18kg. The power then would only read about 1 to 25 watts (although the power graph itself seemed to line up correctly in the post ride results). I put the settings back to default and still have the issue. I can only fix it by uninstalling and re-installing the data field, which leaves me stuck with roadbike tire settings (crr of .005).
  • hi Scoetser
    is good app but on the road...on climb i have values of power too low...
    i don't know if i must configure something

    thanks
  • Please add elite arion rollers power curve. I cannot upload but it is in here https://www.elite-it.com/en/products/home-trainers/rollers/arion you have to scroll down to the pictures then the curve is the 3rd picture to the right.
  • Deployed a new version with some updates since my last post. Will try and keep the thread going again, so post your changes and feedback here.

  • I have just installed vPower on my Edge 530.  I recognize this data field  is based on math and not measurements and I'm totally OK with that.  But I need some setup help!  I nearly always ride a mountain bike, sometimes a gravel bike.  So far my wattage readings when doing steady uphill efforts are in the single digits.  This doesn't seem right.  Can you offer any setup tips to help me get good data out of this app?  Thanks.

  • This may be the same behaviour I am seeing.  The power shown is directly related with speed.  So, higher speed gives higher power.  That's irrespective of the incline.  So, my highest power readings are going fast downhill, although I am barely pushing on the pedals.  Once the incline goes the other way (uphill), as the speed drops, the power drops, although I could be pushing very hard.  Is this a bug or do I have something misconfigured?

  • To setup outdoors, check a few things:

    1. You have your bike weight specified.
    2. Ensure your own weight is accurate in your Garmin profile and that is in sync with device, before you go for a ride.
    3. You have correctly calibrated you device altitude (GPS or barometer).

    I can only use what the device tells me. You are correct, speed is the primary factor, but then I also consider slope as part of the calculation. You should see higher watts going uphill. If you have cadence sensor, you should see 0 watts if you stop pedaling. If no cadence, then unfortunately I always calculate power as I do not know when you are working and when not.

    I hope this helps? You can always send me your fit file where I can validate my calculation based on the stored slope and speed data in the file.

  • See my response to MON269 as it may help. Also, my rolling resistance for tire is based on a road tire setup, not a mountain bike. So that is something additional you want to change. Also set the riding position to tops as this most likely is your riding position on the MTB.