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?
 
I had a DM last month from someone tuning his uart Ultra motor, and seeing behaviors he attributed to the SPD torque tab being related to cadence instead of wheel rpm. Here's a test anyone can run to verify for themselves:

1) Save all your current settings so you can restore them after the test is done.
2) Set MinCur=0% and MaxCur=1% for all Spd table columns except Spd40.
3) For Spd40 set MinCur to 50% and MaxCur to 100%.
4) Save the settings.
5) Choose a moderately low PAS setting on your display (like 2 or 3 if you're using 5 levels), just to avoid big power surges.
6) With the bike in the lowest gear (largest rear cog), start riding. You'll find no assist until you get to about 3.5 MPH. Keep accelerating and you'll notice the power will cut out at about 8.25 MPH. That's the range at which SPD40 is taking effect.
6) Now shift into a high gear (small cog) and slow down to almost a crawl or stop, then start accelerating again. You'll find that despite your cadence being different, and motor speed being different, the power will kick in and out at exactly the same road speeds.

Now, the motor doesn't actually know the road speed, it knows wheel rpm. You can verify that by changing the number of wheel magnets in the Basic tab from 1 to 2, save, and try the experiment again. You'll have to use your phone to measure actual bike speed, but now you'll see the power kick in at about 7MPH and out at 16.5 MPH. And if you have an EggRider or a display that can handle a double sized wheel diameter/circumference, you can expand the SPD column range effects to not top out at about 16MPH, and yet show the correct speed on the display. The Ultra was apparently designed for lower speed off roading, but with this trick it provides more control over behavior at higher speeds.
 
This will be 2 Posts: One on the decoding procedure and results, and then a starter post on how to tune based on the revolutionary new discovery. I predict (and hope!) that this thread will get quite long as people re-evaluate their own tunings in light of the new information presented here, and make new, improved, tunings.

Part 1:
The Bafang Ultra motor has been around since at least 2017, maybe even earlier. Yet, what has been published to date by everyone about the Torque Tab is, to be blunt, flat-out wrong.

How could this be? Well, it starts with Bafang extending the Basic/Pedal/Throttle interface for their previous set of hub motors (BBS01, BBS02 and BBSHD) to add a new tab for the Ultra. Then, while a bunch of reverse engineering went into figuring out how the Basic, Pedal, and Throttle tabs worked for the cadence-sensing BBS01 and BBS02, almost none has gone into the Ultra - at least none that has been reported on the internet. Compounding the problem is that it seems people just assumed things in the existing tabs were the same, when in fact the Ultra motor with its torque sensor is quite different than its predecessors. Whatever the reasons, the fact remains that incorrect advice has been given by everyone - hackers and even by bicycle OEMs - on tuning this motor.

How did I find this out? (Or, more bluntly, how can I be sure of myself?) Here's the long story long:

My wife and I have had our Ultra-powered bikes for a few years now. I read all the guides and played around with tuning, but frankly, I mostly saw limited change and hardly any improvement except for the PAS levels. Promises of torque-controlled, "smooth" powering, etc. were all empty promises in my experience. Then a couple months ago a sharp-edged wiring grommet caused a short-circuit that fried the controller board. That led me to getting an Ultra professionally repaired, which as a result was set back to the default controller settings. And so I was looking at redoing the prior mods and pondering, again, why these mods weren't delivering the promised results. I came across a post on another eBike forum by @ProphetZarquon, which helped me to understand how the Delta Voltage section works, but the Spd Table portion was still very much a mystery to me. Then, Zarquon claimed something about the Spd table that was not just different from what everyone has posted, it was actively contradicted by one of the early Ultra tuners. I asked him about that contradiction, and he suggested I test it to prove it to myself.

And so I did. But, the results surprised both of us!

If you've done Ultra tuning in the past, you might be familiar with the Torque tab. If you're using the pretty commonly available Windows software, it looks like this:
View attachment 150394

I use an EggRider (which I highly recommend), so the layout is different, but the fields are the same. The top section is the Delta Voltage table. I have previously described how that works and have suggestions on how to set it up here.

Now some of how the Spd Table works is pretty straightforward. When you press on the pedals, the Ultra's torque sensor outputs a voltage based on the force being applied. The Delta Voltage table specifies how that voltage is converted to a Kg, and that Kg number is used by the Spd Table's Start, Full, and Return parameters to return what I call a Percentage of Current (POC) as determined by the MinCur, MaxCur, and KeepCur parameters to be sent down the controller pipeline. It's mostly pretty straightforward:
  • The rider-applied pedal force is converted into the POC using a linear mapping: Start(Kg) produces MinCur(%) while Full(Kg) produces MaxCur(%). Values between Start and Full result in values appropriately between MinCur and MaxCur.
  • That POC is multiplied by the current PAS level's "Limit Current(%)" (specified on the Basic tab), which is then multiplied by the "LimitedCurrent(A)" [really Current Limit, in Amps], which is also specified on the Basic tab, to arrive at an actual Current value, in amps
  • That Current essentially controls the power output of the Ultra motor (Volts * Amps = Watts, a unit of power)
OK, so far so good, but the obvious question is: from which columns are the Start/Full/Return/MinCur/MaxCur/KeerCur values gotten? What do the different SpdXX columns represent? Just about everyone says that the columns represent a percentage of the Ultra's maximum applied pedal cadence (or motor speed since there's a fixed 1:18 ratio in the Ultra). So, for instance, Spd40 would present parameter values when the pedal cadence is about 40% of the Ultra's max assistable cadence rpm (documented as between 135rpm and 185 rpm depending on the battery voltage available (52V would be about 150rpm, btw).

The Prophet told me that was wrong. I decided to find out for myself. Even if it was indeed cadence related as everyone else said, I wanted to get a feel for what pedal rpms mapped to which columns to help me decide what settings were best for me.

I started by devising a set of Spd Table values to isolate what was happening. Essentially, I made MinCur=0 and MaxCur=1 for all Spd table columns except one (Spd40). That way I'd get motor assist only when that column was active. I found that Spd40 was the easiest to safely test on flat roads, and I set MinCur at 50% and MaxCur at 100% there so the power on would be noticeable. With a low PAS level for controller safety (to limit the max amps that could possibly be sent to the motor), I'd ride out in the lowest gear I have (50 tooth rear cog) from a stand still up to as fast as I could pedal, trying to note when power came on and went off. Then I'd repeat the test in the highest gear (10 tooth rear cog) and note the difference in when the power came on. I could use the display's KPH readout as a proxy since the 5X cadence to bike speed difference in the two extreme gears should show up easily there.

So I rode out in bottom gear, and power ramped up starting at about 6 KPH, going away at about 13.5 KPH. It was a ramp-up, ramp-down effect, which was nice. Then I rode out in top gear down the same stretch of road. If the gurus were correct, the power should have ramped-up at about 30 KPH (18-19MPH) (since bike speed in top gear would be 5X bottom gear at the same pedal cadence).

Well, damn if the power didn't ramp-up at the same 6 KPH, and down at the same 13.5KPH! WTF!?!?
OK, so repeat the test and get the same results.

Hmm, I edit the Torque tab to make Spd20, and then Spd60 the only active column and sure enough, it didn't matter how fast I was turning the pedals, the power-up/power-down moments came at the same bike speed within each SpdXX range.

@ProphetZarquon believed the XX in SpdXX were a percentage of the specified Pedal Tab's Speed Limit (either directly via a number or vectored to the display's Speed Limit setting), but my testing found no difference in SPDXX column engagement by changing those Speed Limit values. I have video I can share.

But, then it got even weirder! To see if it really was bike speed related I changed the Wheel Diameter in the Basic tab since that would change the bike speed calculation (number of wheel sensor pings per unit of of time multiplied by wheel circumference). But yet again, the SpdXX colums ramp-up/ramp-down points were at the same KPH!

So, it wasn't actual bike speed that was in control, it was Wheel RPM. I confirmed this by setting the number of Wheel magnets in the Basic tab to 2, even though I still only had 1. Now my Display's KPH was wrong, so I used a GPS speed app on my phone, but sure enough now the ramp-up for Spd40 was at 12 KPH and ramp-down at about 27 KPH - both about double the previous setting's results. With the Ultra thinking it took 2 magnet pings to get a single wheel revolution, I had to go twice as quickly to get the same engagement results.

This is astounding. It's taken 6-7 years to finally figure out what the SpdXX columns represent in the Bafang Ultra's Torque Table. They represent Wheel RPM.

By running my single column isolation test 6 times to cover all 6 SpdXX columns I was able to reverse engineer the values:
SpdXXIn KPHOut KPH
Spd00.014.5
Spd2028.5
Spd40613.5
Spd601018
Spd801625
Spd10020> 40 (never stopped)

Now, these values are approximate. First, the purview of the columns overlap as you can see in the results above. I mentioned earlier that with just one column actionable the power would ramp up as the bike speed entered the KPH range and ramp down as the bike speed exited the KPH range. I believe this is an intentional feathering so that if you have wildly different values in adjacent columns the motor's reaction won't be abrupt, but will feather/ramp/scale between the two columns' values. Nice. Second, I'm riding and looking/recording the display, and there are lags all over the place. When does the display report applied motor power? How quickly do the KPH values update? What's the screen refresh rate on my iPhone (about 40 fps, btw)? I don't have access to a stationary bike trainer with integrated power output, but that combined with some controllable/repeatable motor to drive the Ultra's crankshaft would be a more scientific way to approach this. Third, I had a slightly (10%-ish) incorrect Wheel Circumference in my Display.

To conclude Part 1, since the real deal is Wheel RPM and not Bike Speed, those bike speed numbers should be converted into Wheel RPM (just math):

Here's what the controller activates on:
SpdXXIn Wheel RPMOut Wheel RPM
Spd00.0110
Spd204.520
Spd4013.530
Spd6022.540
Spd803656
Spd10045? - No limit, presumably

The Out Wheel RPM seems pretty linear at 10, 20, 30, 40, but then 55/56.

And again, multiple disclaimers on the above:
  • My Display's Wheel Circumference was about 10% off
  • The KPH On/Off speed from which these were calculated were based on watching the Display
  • Even recoding the display for later playback doesn't help much with accuracy, due to display KPH update lag, screen fps (Frames per second), etc.
  • I did round the numbers off and didn't perform enough runs to get a statistical average.
And now onto Part 2....
Sorry, I'm late to the conversation, I am impressed at your pursuit of what defines the SPDxx ranges.
I believe your conversion from km/h to wheel RPM is not correct.
It seems as though you've divided the value by 3.14159, which isn't necessary.
If your wheel diameter is 28", 28 x 2.54 =71.12cm, 71.12 x 3.14159 = 223.43cm circumference.
And 1km/h/60 = 0.01666km/minute, 0.01666 x 100,000 = 1666.6cm/minute
1666.6/223.43 = 7.4595 wheel revolutions per 1km/h
Therefore 4.5km/h = 4.5 x 7.4595 = 32.6RPM
Easy correction, simply multiply all your wheel RPM figures from above by 3.14159.
I am going to duplicate your test method with SPD40 having the only torque assist, and try changing multiple variables one at a time.
I was wondering if you made any changes to your PAS settings ie: Start current 1, keep current 1, just to prevent any potential assist from the blending of the cadence and torque sensor values.
How about the torque page keep current? Would you want all speed ranges keep current set to 0?
I am going to configure my Basic page Sport assist ie: #4/9 speed limited to 50% and leave the other levels at 100%.
Then I can see if that setting has any effect on the SPDxx ranges also, throughout my testing.
I will start with my display settings: 29" wheel diameter, speed limit 72km/h, basic tab assist #4 50% speed limited, all others 100%, wheel diameter 29", 1 speed meter signal, PAS speed lim "by disp", start current 1, keep current 1, Torque all SPDxx ranges except 40, min current 0, max current 1, keep current 0, SPD40 min current 50, max current 100, keep current 0.
I will start with Sport assist 3, note GPS speed of assist start/stop, then switch to Sport assist 2 and repeat, noting any changes.
Next, I will change my display speed limit to 30km/h and repeat the above test with assist 3 then 2.
I will change display speed limit back to 72km/h and change display wheel diameter to 16" and repeat tests on assist 3 then 2.
Then display speed limit 30km/h display wheel diameter 16", repeat tests assist 3, 2.
Then display speed limit 72km/h display wheel diameter 29", basic tab wheel diameter 16", 1 sensor, repeat tests.
Display unchanged, basic tab wheel diameter 29", 1 sensor, PAS speed limited 30km/h, repeat tests.
Display unchanged, basic tab wheel diameter 16", 1 sensor, PAS speed limited 30km/h, repeat tests.
Display unchanged, basic tab wheel diameter 29", 2 sensors, PAS "by disp. com.", repeat.
Display unchanged, basic tab wheel diameter 16", 2 sensors, PAS "by disp", repeat.
Display unchanged, basic tab wheel diameter 29", 2 sensors, PAS speed limited 30km/h, repeat.
Display unchanged, basic tab wheel diameter 16", 2 sensors, PAS speed limited 30km/h, repeat.
This should cover any potential scenarios that I can foresee, potentially affecting the torque tab SPDxx ranges.
If you have anything to add to my test procedure, I'd appreciate your input.

Thanks for your diligence.
 
I believe your conversion from km/h to wheel RPM is not correct.
That may be so - I didn't show my "just math," so I'd have to recreate it from scratch. However, actual RPM doesn't matter so I probably won't bother unless there's a reason.

I was wondering if you made any changes to your PAS settings ie: Start current 1, keep current 1, just to prevent any potential assist from the blending of the cadence and torque sensor values.
Start Current and Keep Current are on the Pedal tab. Here's my post on that:

In which I assert (without a ton of hard evidence, I admit) that those values on that tab don't matter for the Ultra. Instead, we have MinCur and KeepCur on the Torque Tab, so per SPD range, and MinCur especially does matter.

Here's a link to the Master thread for my theory and values for all pages:

Which should have an explanation for the pipeline of how the values flow through to get to the final assist output by the motor.

What are you trying to measure with your tests? I'm confident that the SPD ranges are tied to wheel rpm. It's quite clear it's not pedal cadence, as that would be mean just being in a different gear at the same speed would show a difference, which it doesn't and that's easy to check.
 
That may be so - I didn't show my "just math," so I'd have to recreate it from scratch. However, actual RPM doesn't matter so I probably won't bother unless there's a reason.


Start Current and Keep Current are on the Pedal tab. Here's my post on that:

In which I assert (without a ton of hard evidence, I admit) that those values on that tab don't matter for the Ultra. Instead, we have MinCur and KeepCur on the Torque Tab, so per SPD range, and MinCur especially does matter.

Here's a link to the Master thread for my theory and values for all pages:

Which should have an explanation for the pipeline of how the values flow through to get to the final assist output by the motor.

What are you trying to measure with your tests? I'm confident that the SPD ranges are tied to wheel rpm. It's quite clear it's not pedal cadence, as that would be mean just being in a different gear at the same speed would show a difference, which it doesn't and that's easy to check.
The RPM's aren't a necessary value, I was just wracking my brain after I measured the true wheel circumference of my 3" x 27.5" tires, and I thought my math was off. I thought I was doing something wrong, wondering how 10 revolutions of my wheels (approx. 2300cm) x 60min/hour wouldn't add up to 4.5km/h (closer to 1.38km/h).

I want to ensure the cadence sensor has absolutely zero effect on my motor assist, that's why I thought it'd be best to eliminate any potential conflicts from the PAS page.

Did you try changing one of the basic tab speed% to something lower than 100?

I know you've tested any possible interactions between the display speed limit, display wheel diameter and/or the basic tab wheel diameter; however, you have an EggRider display, and I have a Bafang DPC-18, so there's a possibility that the display and software may interact differently, probably not hence the testing.
I want to test the software programming interaction with the display speed limit and wheel diameter vs the basic tab wheel diameter and any software speed limiting (assist level speed % below 100, or PAS speed limited not set to "displays' command". According to Prophet Zarcuon, once you change the PAS speed limited to a numeric value, then the basic tab wheel diameter affects the SPDxx ranges, if you leave speed limited to "displays' command" then the wheel diameter from the display takes precedence over the basic tab wheel diameter.
My final goal is to set the display speed limit to 30km/h (in case the police question the legality of my bike) But have the basic tab set to 2 speed sensors, and change either the basic tab wheel diameter or display wheel diameter, or both, to 24", so that when the software thinks I'm at the 30km/h speed limit, my true speed is closer to 72km/h.
If changing the PAS speed limited setting to a numeric value makes the software use the basic tab wheel diameter and ignores the display wheel diameter and speed limit, then I could simply set the PAS speed limited to 36km/h with the basic tab wheel diameter set to 29" and 2 speed sensors. Then I can enter 30km/h in the display speed limit (for showing the Popo), and display wheel diameter to 34" so that my speedometer will show approximately 30km/h when I'm actually going 72km/h (in case the popo want to look at my displays' max speed)
 

Attachments

  • Screenshot_20250730_143845_com.android.gallery3d.jpg
    Screenshot_20250730_143845_com.android.gallery3d.jpg
    122.2 KB · Views: 4
I want to ensure the cadence sensor has absolutely zero effect on my motor assist, that's why I thought it'd be best to eliminate any potential conflicts from the PAS page.
You can't have a different cadence while having the same bike speed unless the pedal pressure is also different, so I don't know how one creates a cadence-only change.

you have an EggRider display, and I have a Bafang DPC-18, so there's a possibility that the display and software may interact differently, probably not hence the testing.
The motor doesn't know what display you have, and the display doesn't have any active input into what the motor does. The display simply sets parameters in the motor. With the same parameters, the motor will behave the same regardless of the display used to set those parameters.

(in case the popo want to look at my displays' max speed)
One can always argue that even coasting downhill one can achieve high max speeds, and since the display doesn't store where the max speed was obtained, one could argue that it was hours ago, off-road or on private property. Better yet, if you get stopped by the police (popo?) simply turn your bike off, which will erase any max speed value retained, assuming they even would know/bother to do that.
 
You can't have a different cadence while having the same bike speed unless the pedal pressure is also different, so I don't know how one creates a cadence-only change.


The motor doesn't know what display you have, and the display doesn't have any active input into what the motor does. The display simply sets parameters in the motor. With the same parameters, the motor will behave the same regardless of the display used to set those parameters.


One can always argue that even coasting downhill one can achieve high max speeds, and since the display doesn't store where the max speed was obtained, one could argue that it was hours ago, off-road or on private property. Better yet, if you get stopped by the police (popo?) simply turn your bike off, which will erase any max speed value retained, assuming they even would know/bother to do that.
I understand what you're saying, I just thought I might as well eliminate any unnecessary variables, whether or not they will have any effect on the torque spd40 testing.
When you did your SPDxx tests, what was your display speed limit set to? Did spd40 correspond to approximately 40% of the speed limit?
Turning off the display is a great idea to erase any history.
I highly doubt any police will question my bike settings, they'll likely be happy that I'm one of the few riders who wears a helmet and uses hand signals.
 
Back