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!

  • graph vPower & garmin connect

    @scoetser75Hello, Will it be possible in the future that the "vPower" graph you should visit the Garmin Connect?
  • @scoetser75

    Thank you for this great app !

    I also tried on my side to write a small piece of software in order to obtain some approximative power information (avg power over a ride, maximum avg power over 20min ...) without power meter, but only as post-processing of an activity. My wish was also to design a Connect IQ app to have these information directly on the watch, but I haven't worked yet on it since I found your app ;)

    Do you plan to add (or do you think it's possible) the averaged power over the whole ride ? I think you can't export the data, but you can perform the average all along the ride, and at the end of the ride before ending the activity we will have an estimation of this averaged value ...
    Also perhaps more complicated, but it will be great to have the maximum avg power on 20min as an additional data field ... the first estimation is obtained after 20min of the ride, and after the average over 20min is sliding with the time, and if the value of average increases, the estimation of the maximum avg power is updated ...

    What do you think about that ?

    Thanks
  • Strange behavior when climbing or descending. Just pedaled lightly today when descending and had a more than 500w power. Idem when going up. Only less than 100w when climbing a more than 10% ascent.


    I recently uploaded a change to improve the vertical power calculation accuracy. Give it a try.
  • @scoetser75Hello, Will it be possible in the future that the "vPower" graph you should visit the Garmin Connect?


    Unfortunately not at this point, but will be great to report on custom field sin Connect!
  • @scoetser75

    Thank you for this great app !

    I also tried on my side to write a small piece of software in order to obtain some approximative power information (avg power over a ride, maximum avg power over 20min ...) without power meter, but only as post-processing of an activity. My wish was also to design a Connect IQ app to have these information directly on the watch, but I haven't worked yet on it since I found your app ;)

    Do you plan to add (or do you think it's possible) the averaged power over the whole ride ? I think you can't export the data, but you can perform the average all along the ride, and at the end of the ride before ending the activity we will have an estimation of this averaged value ...
    Also perhaps more complicated, but it will be great to have the maximum avg power on 20min as an additional data field ... the first estimation is obtained after 20min of the ride, and after the average over 20min is sliding with the time, and if the value of average increases, the estimation of the maximum avg power is updated ...

    What do you think about that ?

    Thanks


    Sounds like a great idea! I will look into displaying the average power for the whole ride on the same field. This will require a big change to the layout. Alternatively I may just look at building an average data fields using my same calculations.
  • vPower - average data field

    Sounds like a great idea! I will look into displaying the average power for the whole ride on the same field. This will require a big change to the layout. Alternatively I may just look at building an average data fields using my same calculations.


    average data field should be just great...
  • average data field should be just great...


    I think the same, works on Epix?
  • works on Epix?


    I answered myself, yes!!!!
  • I recently uploaded a change to improve the vertical power calculation accuracy. Give it a try.

    Great, will compare with my Powertap (that I don't use every time) and get back.
  • Unfortunately not at this point, but will be great to report on custom field sin Connect!

    What own sin connect ??: EEK:: zmatený: