Tour Easy: Bafang BBS02 Pedal Offset Fix

For unknown reasons, the Bafang BBS02 motor puts the left pedal 15.5 mm closer to the frame than the right pedal:

Bafang BBS02 dimensions
Bafang BBS02 dimensions

The diagram presents the motor assembly as seen from the bottom, lying on the ground looking upward with your feet forward around the front wheel.

That much offset may be acceptable for some (upright?) bikes and some riders, but this seemed better for Mary:

Tour Easy - Lekkie 160mm offset crank - installed
Tour Easy – Lekkie 160mm offset crank – installed

Lekkie Buzz Bars have a matching 15.5 mm offset in the left crank to center both pedals on the frame. She’s been pushing 165 mm cranks for long enough to know standard 170 mm cranks require too much leg travel, so that’s a 160 mm Lekkie crank.

With cranks installed in the BBS02, measured from the frame tube to the inside of the crank at the pedal axis:

  • Bafang 170 mm: L 42, R 62
  • Shimano 105 triple 170 mm: L 46, R 67
  • Lekkie 160 mm: both sides 60

For comparison, the Shimano 105 cranks on my Tour Easy measure 35 mm on both sides with an ordinary Shimano UM-BB72 bottom bracket cartridge, so the BBS02 + Lekkie cranks put each pedal 25-ish mm farther out. However,my pedals screw into 20 mm Kneesavers, putting them pretty close to the Lekkie spacing.

We hope the additional space won’t make much difference to Mary; it’s certainly better than sitting offset to the right to match the pedals, as she’s found herself doing with both the Bafang and Shimano cranks on the BBS02. Her right shoe just barely tapped the crank, so we moved the cleat a few millimeters inboard and it’s all good again.

The Cateye cadence sensor now has a rakish tilt to match the crank offset and looks scarily exposed. More riding is in order.

The Lekkie cranks have a hollow cross-section that’s concave on the frame side, so the magnet sits on a simple riser to get it out where the sensor can experience it:

Cateye Cadence Magnet mount - PS preview

It’s held in place with good foam tape; the cable tie makes me feel better.

The OpenSCAD code for the riser fits into the GitHub Gist:

module CateyeMagnet() {

OAL = 24.0;
D1 = 14.0;
D2 = 8.0;

    linear_extrude(height = 15.0)
        hull() {
            translate([OAL - D1/2 - D2/2,0])

… snippage …

    translate([0,-4*Block.x,0]) {

The build plate is getting crowded:

Bafang Battery Mount - build view - cadence magnet
Bafang Battery Mount – build view – cadence magnet

In point of fact, that array pretty much fills the M2’s platform and would require over 11 hours of print time, which is just crazy talk. Have the slicer break it into separate parts, delete whatever you don’t want at the moment, print what’s left, and iterate until you have everything you need to finish the job.