Ultra Tuning: Decoding the Torque Tab's SPD Table

So, I went through all of these programming threads a few months ago. Smorgasbord, you've done a tremendous amount of work here and it's amazing you took the time to write all of this up. I'm revisiting as I'm programming another bike and looking for a different feel than the first one. This second one is primarily for road riding vs the other that is just for trail riding. I'm having trouble trying to find settings that allow me to pedal with a good amount of resistance at speeds of 16-19mph that doesn't have me at the top of the torque output. In other words, I'm looking for more headroom above so that pedaling harder returns more motor output. Currently, I find that when I'm at a comfortable cadence, pedaling any harder is just adding manual effort on top of the motor and the torque mapping is already topped out.

How would you recommend approaching the settings with this goal? I would need the torque sensing to be less sensitive at a certain cadence, but still need it to respond to a sharp increase in pressure to give more boost, I feel like this would feel more natural. Currently, I'm finding that the comfortable cadence/pedal pressure is at the top of the range.
 
Last edited:
My first thought is to look at your settings for the Voltage Section of the Torque Tab. That's where the mapping from the torque you apply to the pedal gets mapped to the torque value that gets input into the SPD table. It's a bit convoluted, but my understanding is that:

1) There's a torque sensor in the Ultra motor, measuring applied torque and outputting a voltage. The Voltage Table converts that voltage to a Kg, which is input to the SPD Table. So, you have actual applied force to voltage via the torque sensor, and then voltage back to force via the Voltage table. And then SPD Table to convert force to amps.
2) That torque sensor outputs some voltage even when no pressure is being applied to the pedals. Set your Base Voltage to 1 or 2 mV above that. If you can't measure that per the instructions at the link, just enter 760.
3) The torque sensor maxes out at about 3255mV.
4) Now the thing is to set the table values so that you get the torque to power curve you're looking for.
5) Values, including the Base Voltage should add up to 3255 or so.

Since you want more output at harder pedal pressures, you'll not want as aggressive a curve as some my suggestions here, assuming you're physically capable of putting 60kg of force while you pedal (I can and I'm not an especially strong rider, but if you're light in weight that might be hard for you).

Look at the post I linked for the spreadsheet and try some different percentages there, or create your own mapping.

Let us know how it goes!
 
Last edited:
My first thought is to look at your settings for the Voltage Section of the Torque Tab. That's where the mapping from the torque you apply to the pedal gets mapped to the torque value that gets input into the SPD table. It's a bit convoluted, but my understanding is that:

1) There's a torque sensor in the Ultra motor, measuring applied torque and outputting a voltage. The Voltage Table converts that voltage to a Kg, which is input to the SPD Table. So, you have actual applied force to voltage via the torque sensor, and then voltage back to force via the Voltage table. And then SPD Table to convert force to amps.
2) That torque sensor outputs some voltage even when no pressure is being applied to the pedals. Set your Base Voltage to 1 or 2 mV above that. If you can't measure that per the instructions at the link, just enter 760.
3) The torque sensor maxes out at about 3255mV.
4) Now the thing is to set the table values so that you get the torque to power curve you're looking for.
5) Values, including the Base Voltage should add up to 3255 or so.

Since you want more output at harder pedal pressures, you'll not want as aggressive a curve as some my suggestions here, assuming you're physically capable of putting 60kg of force while you pedal (I can and I'm not an especially strong rider, but if you're light in weight that might be hard for you).

Look at the post I linked for the spreadsheet and try some different percentages there, or create your own mapping.

Let us know how it goes!
Unfortunately, it looks like Eggrider have removed the Torque Live Values functionality from the app. I do remember it working before, but I can't remember what my output was under no load. I have 747 currently programmed for the base voltage.

I put the max KG for the Spd100 table at 60, but found that it made the effort at the cadence I want to be at too much. I dialed it back to 40kg, and that is better, but still not ideal. I guess what I'm looking at, is trying to get a better curve on from the Delta Voltage table. I'm not sure where to start here. Is it about bigger numbers for 1-5, 5-10 and smaller numbers at top, or the other way around? Essentially, I'd like to have the full range of torque available, maybe even up to 60kg input, but have the natural cadence be somewhere at a low kg input. Still trying to get my head around it, but want more assist with less pressure around my target cadence and more assistance with more pressure above that, so it's less sensitive around the area I want to be in.

Current voltage table is 206, 206, 206, 206, 412, 412, 412, 412
 
Unfortunately, it looks like Eggrider have removed the Torque Live Values functionality from the app. I do remember it working before, but I can't remember what my output was under no load. I have 747 currently programmed for the base voltage.

I put the max KG for the Spd100 table at 60, but found that it made the effort at the cadence I want to be at too much. I dialed it back to 40kg, and that is better, but still not ideal. I guess what I'm looking at, is trying to get a better curve on from the Delta Voltage table. I'm not sure where to start here. Is it about bigger numbers for 1-5, 5-10 and smaller numbers at top, or the other way around? Essentially, I'd like to have the full range of torque available, maybe even up to 60kg input, but have the natural cadence be somewhere at a low kg input. Still trying to get my head around it, but want more assist with less pressure around my target cadence and more assistance with more pressure above that, so it's less sensitive around the area I want to be in.

Current voltage table is 206, 206, 206, 206, 412, 412, 412, 412
Yeah, it's a bummer EggRider removed the Torque Live Value functionality. Maybe if enough of us ask on their Facebook page they'll put it back (I've already asked).

One suggestion I have for starting is to make all the SPDxx column values the same. This way bike speed won't factor into your adjustment of the Delta Voltage table values. Best to isolate to have as few variables as possible. I recommend these values for all SPDxx columns:
Start(kg): 0
Full(kg): 60
MinCur(%): 0
MaxCur(%): 100
This basically gives you the full range of input mapping to full range of motor output.

The Delta Voltage Table is confusing. Maybe an example will help. Let's say you have this table:
Base Voltage: 747
0:5: 200
5:10: 200
10:15: 200
15:20: 200
20:30: 400
30:40: 400
40:50: 400
50:60: 400

This is a linear mapping (note the ranges span 5 kg for the first 4 entries, and 10kg for the last 4 entries).

Now, let's say you're pedaling medium hard and the torque sensor is outputting a voltage of 2047 mV. The Delta Voltage table will convert that voltage into a force in kg as follows:

1) Subtract the Base Voltage. 2047 - 747 = 1300
2) Subtract each range's value in turn as long as the result is not negative, so:
2A) 1300-200 = 1100 (0:5)
2B) 1100-200 = 900 (5:10)
2C) 900-200 = 700 (10:15)
2D) 700-200 = 500 (15:20)
2E) 500-400 = 100 (20:30)
3) Now divide the remainder by the value of that entry, so that's 100 / 400 (from 30:40), to get 0.25 (or 25%).
4) Multiply that percentage by the difference in high and low values for that entry. So 0.25 * (40 - 30) = 0.25 * 10 = 2.5
5) Add that result to the lower value for the entry, so 40 + 2.5 = 42.5.
The number 42.5 (kg) is sent to the SPD table to be converted into an amperage that is sent to the motor.

With the simple SPD table values above, about 70.8% (42.5/60) of your max amperage is sent to the motor.

If everything is the same, except for a different Delta Voltage table:
Base Voltage: 747
0:5: 366
5:10: 313
10:15: 261
15:20: 200
20:30: 417
30:40: 365
40:50: 313
50:60: 260

Then the same pedal force would still output from the torque sensor at the same 2047mV, but that would now be converted to 23.84 kg by this new Delta Voltage table. This is normally good for most people, as it's easier to modulate pedal force at low to moderate pedal forces, but when you're pedaling hard to really hard, it's hard to modulate the force. So this non-linear Delta Voltage table moves the motor assist range into a set of torque values that the rider can more easily control (and sustain). These higher voltage values for the lower torque values mean you get a smooth, easy to modulate response at low pedal pressures, rising as you apply more pedal pressure.

This is about feel more than power. Remember, the force output from the Delta Voltage table does not directly map to motor power. You should use the Delta Voltage table to get a good feel - smooth take-off, motor response as you pedal harder, etc. In general do not try (at least at first) to use the Delta Voltage table to control power output. That's what the SPD table is for. You can boost or reduce motor output for the same pedal pressure at different bike speeds. Like some quick boost when starting up from stand-still, or full power when already traveling fast and more pedal pressure is applied, or whatever suits your riding style.

Your current voltage table is linear. If your problem is responsiveness, then adjust the Delta Voltage table. If you problem is power level, then adjust the SPDxx column values.

Does that help?
 
Back