Turbo Vado 2 4.0 or 5.0 or 6.0?

A new trial, a little longer and with more rider effort to more clearly define Pm saturation values. I just did 40/40 and 40/100.

We clearly have the right guy on the field work. Thanks!

Q: Just to be careful, your cadences on these trials?


Again, strong confirmation that Pm really is linear in Pr before saturation and almost flat in Pr after. So that part of my simple Pm model holds fairly well. And that makes our reverse-engineering task much easier.

and my comparison plotting the functions together:
View attachment 206041
Excellent! Writing an assist mode as E/M, let
Pe = electrical motor power
Prs = rider power Pr at the saturation point where ramp meets flat
Pes = Pe at Prs
Pex = Pes at M = 100
S = ramp slope.

Took the S values below from the .FIT file linear regressions and visually estimated the Prs and Pes values from your summary graph.

For Ride 1 at 40/40, Prs1 ≈ 285W, Pes1 ≈ 210W, and S1 = 0.7

For Ride 2 at 40/100, Prs2 ≈ 245W, Pes2 = Pex ≈ 380W, and S2 = 1.51.

In principle, we should get S1 ≈ Pes1 / Prs1 = 210 / 285 = 0.74 and S2 ≈ Pes2 / Prs2 = 380 / 245 = 1.55. And in both cases, we get reasonable agreement. So far, so good!

But the empirical Pes values raise an issue. My simple Pm model uses

Pes = Pex (M / 100)

If that were true, we should have Pes1 / Pes2 = M1 / M2 = 40 / 100 = 0.40. But empirically, we get Pes1 / Pes2 = 210 / 380 = 0.55, a significant discrepancy.

So Pes must be more complicated than the simple model assumes. Efficiency variation via cadence could be involved.

Problem is, if you can't predict Pes from just M and Pex, it's gonna be hard to estimate Prs — which is my main goal in this reverse-engineering project.
 
Last edited:
Could you specify this data, just so we're all on the same page?



Could you show us exactly how you got that curve — presumably the one below?

...

from the "03 - Turbo Vado SL 2" page at https://support.specialized.com/kb/...-Vado-SL-2-Turbo-SL-System#MotorTuneEasePower

essentially we have 13 different values of required rider power for full motor support at 80rpm with varying ease xx/100. you could argue that one should use 295 mechanical watts here when computing the ratio, since the power chart only shows 295 watts at 80rpm. but i used 320.

curvePoints.jpg

the curve is just a fourth degree polynomial trendline. the r^2 is very good at .996
 
Jeremy, I eliminated all records with cadence < 60. The data at low power, low cadence is very noisy. Most of the records are in the 70s and 80s with relatively few 90s where I’m really pushing.
 
I did three more test rides this afternoon. 5 minutes at 100/40, 20/100 and 30 minutes ar 20/20. Unfortunately I could not download any of these 3 .fit files. As soon as I click “download” in the app I get an error message saying ”Sorry, can’t download. Try again later”. It never works later. In my testing over the last days i get this error maybe 1/3 of the time. Anyone have any advice?

I have a display showing Pr, Pm and cadence. 100/40 worked like I thought - really easy to get to Pr sat. IIRC, Pm max was about 170 watts. I’d really like to get at the granular .fit file data though. I was able to get some bursts of Pr in the 400s. At 20/20 Pr sat gave Pm of 70ish. I could not reach Pr sat for 20/100.
 
Hooray, all the rides download using the ride.specialized.com browser link. It just the phone app that is buggy.
 
@mschwett , you were asking about Pmax at 80 cadence. Here's a chart from my 100/100 segment that shows the average and maximum Pm recorded per cadence.

Image 2-17-26 at 2.37 PM.jpeg


Pm max values are all about 400. The P mechanical would be P electrical * efficiency at that cadence. Probably all my Pr vs Pm charts should be adjusted to show Pm mechanical to Pr. A whole 'nother can of worms.
 
Another idea I have is that maybe the ramp functions should be forced to intersect Pr=0 at Pm=0. As I was analyzing the rides from yesterday I saw it could make a significant difference.

_________ramp slope____Y intercept
20/20______0.24._________12.39
20/20______0.31__________0

20/100____1.1____________14.94
20/100____1.2____________0

100/40____2.58___________-38.43
100/40____2.07___________0
 
Another idea I have is that maybe the ramp functions should be forced to intersect Pr=0 at Pm=0. As I was analyzing the rides from yesterday I saw it could make a significant difference.

_________ramp slope____Y intercept
20/20______0.24._________12.39
20/20______0.31__________0

20/100____1.1____________14.94
20/100____1.2____________0

100/40____2.58___________-38.43
100/40____2.07___________0
Good idea.
 
@mschwett , you were asking about Pmax at 80 cadence. Here's a chart from my 100/100 segment that shows the average and maximum Pm recorded per cadence.

View attachment 206120

Pm max values are all about 400. The P mechanical would be P electrical * efficiency at that cadence. Probably all my Pr vs Pm charts should be adjusted to show Pm mechanical to Pr. A whole 'nother can of worms.

so, if we believe these electrical power values are fairly typical and repeatable, AND we believe specialized's mechanical power chart... we can combine the two and get a chart of efficiency :

combined.jpg


it's lower than we might have estimated until we get to 850rpm. mech power values based on the 60-90rpm section of this

chart2.jpg
 
from the "03 - Turbo Vado SL 2" page at https://support.specialized.com/kb/...-Vado-SL-2-Turbo-SL-System#MotorTuneEasePower

essentially we have 13 different values of required rider power for full motor support at 80rpm with varying ease xx/100. you could argue that one should use 295 mechanical watts here when computing the ratio, since the power chart only shows 295 watts at 80rpm. but i used 320.

View attachment 206061
the curve is just a fourth degree polynomial trendline. the r^2 is very good at .996
Thanks! Figured that was the Spec SL 2 data plotted in your previous post. Looked to me like you put the Pm ramp slope S on the vertical axis and E / 100 on the horizontal.

Screenshot_20260217_160917_Sheets.jpg

You somehow got a U-shaped curve out of that data, but I get the rising blue curve above. Sounded like we calculated S the same way, but maybe not.

For the blue plot above, I used all 14 of Spec's M = 100 (mostly dynamic MicroTune) data points and

S = Px / Prs,

where Px = 300W mechanical (per Spec, the max the SL 2 motor can produce at 80 rpm), and Prs is the saturating rider power. You used Px = 320W, but that difference wouldn't affect curve shape.

For kicks, I tried modeling the blue empirical S(E) curve, pinning the endpoints. The yellow exponential model (akin to the teeth on a typical cassette) isn't curved enough, but the red quartic model looks good enough for what we're trying to accomplish.

My quartic function is

S(E) = 3.082e-08 E^n + 0.45,

where n = 4 in the blue plot, and E is a whole number from 0 to 100. Eyeballed alternative red curves with n from 3 to 5, but n = 4 gave the best visual fit.

With this S(E) function, I can easily refine my simple Pm model. Just need a better model for saturation motor power. Stay tuned.
 
Last edited:
So which one is it?
Based on Spec documentation at the time, my simple Pm(Pr) model assumed (a) that Pm ramp slope S depends only on the E in assist mode E/M, and (b) that post-saturation Pm varies only with M and is hence flat in Pr.

This separation of variables greatly simplifies the calculation of Prs, the saturation Pr where the ramp and flat of the Pm(Pr) plot meet. But are (a) and (b) really true?

Well, the excellent field work by @mcdenny consistently says NO to (a) and NOT EXACTLY to (b).

In his test mode pairs 20/20 and 20/100, 40/40 and 40/100, and 70/70 and 70/100, S is always significantly higher for the higher M value at constant E. So much for (a).

His field data doesn't address a possible E-dependence in Pms, so the first part of (b) remains untested. But it consistently shows post-saturation Pm growing very slowly with Pr. So not exactly flat.

Q1. @mcdenny , the field data above was collected in MicroTune, right?

However, Spec's MicroTune Prs data for the SL 2 is fully consistent with both (a) and (b).

Screenshot_20260217_204844_Sheets.jpg

This plot of the Spec data uses S = Pms / Prs, where Pms = Px (M / 100). Px = 300W is the max possible Pm at 80 rpm. The strong overlap of the red and blue plots indicates that ramp slope S is effectively the same for M = E and M = 100 cases — just like (a) says.

The strong overlap also lends credence the (b)-friendly Pms formula above, which doesn't include E, while some of the field implies that there's more to it.

Q2. How do we reconcile these disagreements?
 
Last edited:
Jeremy: Q1. Yes, micro tune in all cases except the 100/40 ride which I don’t think I presented yet. For 100/40 I set “sport” to 100/40 with the app. Q2. When the map and the terrain are different, go with the terrain.


All: (both?): I plan to redo the charts showing MECHANICAL motor power vs rider power. Since I got around my downloading problem I will have more data.
 
Jeremy: Q1. Yes, micro tune in all cases except the 100/40 ride which I don’t think I presented yet. For 100/40 I set “sport” to 100/40 with the app. Q2. When the map and the terrain are different, go with the terrain.

Thanks! Generally true, but why would Spec bother to publish bad data? Data that they presumably had to measure themselves. Hard to imagine that they don't know how to do such measurements.

There's some kind of weird disconnect going on here.

All: (both?): I plan to redo the charts showing MECHANICAL motor power vs rider power. Since I got around my downloading problem I will have more data.
Looking forward to seeing the new plots. Not hopeful that they fix the ramp slope discrepancies, but thanks for the attention to detail.

Agree with your earlier comment that we should stick to discussing mechanical motor power whenever the data allows. Or at least make crystal clear which kind we're talking about.
 
Thanks! Figured that was the Spec SL 2 data plotted in your previous post. Looked to me like you put the Pm ramp slope S on the vertical axis and E / 100 on the horizontal.

You somehow got a U-shaped curve out of that data, but I get the rising blue curve above. Sounded like we calculated S the same way, but maybe not.

For the blue plot above, I used all 14 of Spec's M = 100 (mostly dynamic MicroTune) data points and

S = Px / Prs,

where Px = 300W mechanical (per Spec, the max the SL 2 motor can produce at 80 rpm), and Prs is the saturating rider power. You used Px = 320W, but that difference wouldn't affect curve shape.

For kicks, I tried modeling the blue empirical S(E) curve, pinning the endpoints. The yellow exponential model (akin to the teeth on a typical cassette) isn't curved enough, but the red quartic model looks good enough for what we're trying to accomplish.

My quartic function is

S(E) = 3.082e-08 E^n + 0.45,

where n = 4 in the blue plot, and E is a whole number from 0 to 100. Eyeballed alternative red curves with n from 3 to 5, but n = 4 gave the best visual fit.

With this S(E) function, I can easily refine my simple Pm model. Just need a better model for saturation motor power. Stay tuned.

ok, i have no idea how i achieved that u shaped result! what the heck!

going back to the data, if you consider support factor as the inverse - rider power / motor power, it's actually linear. a very simple first degree equation can go from ease and rider power to motor power - motorPower = (riderPower/(-0.0814*ease)+2.11)

given that the measured value is rider power, and the unknown (for the controller) is motor power, it makes sense to express it as a function of riderPower and ease, IMO.

flipped.jpg
 
Last edited:
...

Agree with your earlier comment that we should stick to discussing mechanical motor power whenever the data allows. Or at least make crystal clear which kind we're talking about.

i think the varied efficiency of the motor (let's call it 70-80%) and the inability to measure this property directly make it difficult to base any predictions or observations on mechanical motor power...
 
going back to the data, if you consider support factor as the inverse - rider power / motor power, it's actually linear. a very simple first degree equation can go from ease and rider power to motor power - motorPower = (riderPower/(-0.0814*ease)+2.11)

given that the measured value is rider power, and the unknown (for the controller) is motor power, it makes sense to express it as a function or riderPower and ease, IMO.

View attachment 206175
Good pickup and good point! Will have to play around with your formula.

Made a simple 3D graphical Pm model with Pr and E as independent variables on Desmos 3D a while back. Very interesting to play with. Shared it here.

Once we figure out the real underlying relationships, I'll update and re-share.
 
an interesting note in a review of the new firmware for the full power levo, perhaps explaining why 0/100 on microtune is not really 0.

Besides more power, there’s also a cool new mode with less power. Dynamic MicroTune was always a mode for the tinkerers, where the Levo gives support proportional to how much power you put into the pedals. But now a new 0/100 setting simply matches exactly the power you put into the pedals, up to the motor’s max power if you can pedal that hard!
 
Worked some on starting over with freshly downloaded data. The stats from 27 rides (48 miles, 3.5 hours) are smushed into a spreadsheet with 24 columns and 15,000 rows. I’ll start massaging it tomorrow but it will be a few days before I have something to share. A lot of filtering, pivoting and charting plus I need to figure out a function to calculate P mechanical = f(P rider, cadence).
 
A short progress report:

Here's how often a record occurred for a particular cadence. 0-10 have been deleted. (O was far and away the most prevalent cadence - coasting)

Image 2-19-26 at 2.35 PM.jpeg


In my ride analysis I'm going to use data for cadences 50 to 90. Eliminating the tails will make the slope and P saturation levels more clearly visible in the plots of actual Pm mechanical vs Pr.




Here's how I got the function relating efficiency to cadence

Image 2-19-26 at 2.59 PM.jpeg


Note the table,
cadence and mech watts are read off the Spec chart.
Electrical watts are the trend line of Pm max values from my data several posts above. Pmax = -0.62 * cadence + 439.
Actual efficiency is (mech watts/elec watts).

The blue line with data points is actual efficiency.
The red curve is a polynomial trend line. You can see from the difference column that it fits quite well.

In my ride data analysis I will use the f(x) shown on the chart to convert motor electrical power to motor mechanical power.

Does this seem right so far?
 
Back