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, will compare with my Powertap (that I don't use every time) and get back.


    Rather erratic and inconsistent power display now, i.e although pedaling steadily, the power goes from say 300w down to 0 and back to 200w, ...

    Would it be possible to have a look into the source code ? Happy to help.
  • This latest version 1,3 is inaccurate and nonsense shows
  • Great Job !

    I am using Zwift ( simulator ) that calculates power based on cadence & speed. The power is very much the same. Congratulations !
    The online thing I miss is writing the power to the fit file so I can see it after my ride. Do you plan to do it in the future ?
  • Any chance you could make this compatible for the FR630?
  • Trainer Version

    It would be great if you could make an indoor trainer version of this. User would input coefficients for a 3rd order polynomial speed to power conversion for use on fluid trainers. For instance for my (cops fluid2) trainer, P=9.0175*S+0.0028*S^2+.0114*S^3

    Would use ant+ speed (due to gps not moving).
  • is the cadence input necessary?

    Thx for creating the data field. Can you advise if the cadence input is really required? Current implementation rules out use if you don't own a cadence sensor. Would be nice if it worked regardless.
  • It would be great if you could make an indoor trainer version of this. User would input coefficients for a 3rd order polynomial speed to power conversion for use on fluid trainers. For instance for my (cops fluid2) trainer, P=9.0175*S+0.0028*S^2+.0114*S^3

    Would use ant+ speed (due to gps not moving).


    Trainers are now supported through the configuration. Enjoy!
  • Thx for creating the data field. Can you advise if the cadence input is really required? Current implementation rules out use if you don't own a cadence sensor. Would be nice if it worked regardless.


    Hey Rod, better late than never. :)

    I made a lot of changes to vPower during the holidays to support all devices, support for trainers and specifically for you, removed the need for cadence. Let me know if this works for you now.

    Cheers
    Shane
  • Please advice: how to best set up for mountain bike?

    Default Ride Position: hoods ???
    Bike weight: 11kg
    Tyre rolling resistance coefficient: 0,005100 ??
    Default Ride Position? generic fluid ???

    I can not speak English well, thank you for helping with setting!
  • Please advice: how to best set up for mountain bike?

    Default Ride Position: hoods ???
    Bike weight: 11kg
    Tyre rolling resistance coefficient: 0,005100 ??
    Default Ride Position? generic fluid ???

    I can not speak English well, thank you for helping with setting!


    Unfortunately I have not setup for mountain bike. Sorry mate, may be something I will include in a later version.