Skip to content

The normal ride mode

stancecoke edited this page Apr 24, 2026 · 22 revisions

Basics

The basic principle of the firmware is the relationship
Motor power = assistance factor * human power

Mechanical power is speed * torque

For the motor, this means:
Motor power = rotor speed * motor torque

For human power, this means:
Human power = cadence * torque at the crank

So we can write:
Rotor speed * motor torque = assistance factor * cadence * torque at the crank

With a middrive motor, the rotor speed is always in a constant ratio to the cadence due to the internal gear Motor speed = gear ratio * cadence

Therefore, the cadence cancels out of the equation.

Gear ratio * Cadence * Motor torque = Assistance factor * Cadence * Torque at the crank

Solving for torque yields:
Motor torque = Assistance factor * Torque at the crank / Gear ratio

The motor torque depends solely on the motor current and the motor constant KM.
Motor torque = Motor current * KM

It follows that: Motor current = Assistance factor * Torque at the crank / (Gear ratio * KM)

The various constants in the formula can be combined into a single constant:

Motor current = System constant * Assistance factor * Torque at the crank

Maximum Motor Current per assist level

For each support level, a percentage of the maximum motor current defined in the “max Current on Low Charge” field is specified in the “Current limit” column.

The assist factor can now be adjusted in various ways to suit your personal preferences.

Smoothing the torque signal

The torque curve at the crank does not remain constant over one crank revolution, but rather takes the form of two positive sine half-waves. If this torque signal were used directly to control the motor, the result would be very pulsating assistance. That is why the torque signal is smoothed. The “Torque Filter” parameter allows you to set the filtering strength for each assist level. The higher the value, the less pulsating the assist is, but the slower it responds to changes in torque initiated by the rider.

torque filtering

Clone this wiki locally