Dual Motor AWD Electric Bikes – Case Study: Fat Trail and Hill Climber

Built to conquer the weakness of twin hubs in hills – and eliminate the damage a mid drive does to an ebike’s drivetrain. The bike I call 2Fat did all that.

AWD Ebikes Menu
AWD. OMG. WTF!
Case Study – Flatland Fat Bike Commuter. Hub+Hub
Case Study – Alpine Road & Trail. Hub+Mid Drive (you are here)
Case Study – Low-Power Cargo Beast. Hub+Mid Drive

So, my Gen 1, 1.5 and 3 bike layouts are all twin geared hub designs. What was Gen 2?

2Fat

  • 750w, 35a geared Bafang G060 front hub motor
  • 30a BBSHD mid drive
  • 52v, 12.5ah rear motor battery in triangle
  • 52v, 12.5ah front motor battery on rack top
  • Batteries connected in parallel to form a single ‘virtual’ 25ah power source to both motors
  • KT and Bafang displays
  • 160Nm rear… 80 Nm front (do the math on that one!)

I live part-time in two towns: The first, an extended work visa, is in Fresno California, smack in the middle of California’s San Joaquin Valley and flat as a table. I built The Colonel, The Purple Thing and The Great Pumpkin for commuting in Fresno.

While I most often take pics of it in a wooded area, 2Fat is just as happy on paved, hilly roads. Shown here with front panniers, its 4-bag carry capacity makes it a quasi-cargo bike.

After a fashion, I finally was able to get a big enough bike rack on the back of my SUV to bring the Colonel to my actual home in Pacific Grove, California. My house is at the top of the hill there. Unlike in Fresno, nothing in or around the area is flat. You are either going up a steep hill, or down one, or both.

My intention was to be able to use the Colonel like I did in Fresno, as local errand transport and a light duty cargo-shopper. Unfortunately, I found out the first day about the limitations of hub drives: They suck in hills.

Hubs are Single Speed

Hub drives power an ebike via the axle. They don’t – and they can’t – use the gears of the bike. Forcing a single speed hub motor up a hill makes it just as miserable as a human stuck with no gears. So even though I have very powerful hubs, and they were geared hubs that put down the most torque of any on the market… they still struggled. Even with two of them. I could hear the gears groaning inside the motor casings and I could tell that, while I could get up the hills, my motors were not happy about it. I did not want to lug them into an early grave. I had already gone to a lot of trouble to make the bike bulletproof and had no desire to ignore the problem and inevitably kill it.

These twin 80Nm hub motor wheels were on The Colonel at the time of my first hill country ride (above). Now they are on the Great Pumpkin.

The solution?

I Need To Build a New Bike

Everybody knows mid drives are the solution to the hill problem for an ebike. A hub motor is single speed and at least relatively weak on torque, but a mid drive uses the gears in the drivetrain, plus it has double or more the torque output of a hub, and thats before you factor in the multiplier of the gears. Wonderful right? Except mid drive motors – especially DIY builds – are notorious for putting drivetrains into an early grave. Why? Well because they pour a LOT more power through the chainring, chain, rear cluster and cassette body (i.e. “the drivetrain”) than a bicycle was ever meant to withstand.

  • A normal cyclist can pump out maybe 300 watts for a minute or so, but typically normal sustained – strong – output is about 100 watts.
  • A professional sprinter/mutant is capable of pumping out almost 1000 watts, but only for about a minute or two. Thats not enough power to make a slice of toast.
  • EU-market electric motors must peak at 250w of output to stay legal (pssst… they don’t).
  • A 25-amp BBS02 on a 48v system puts out in excess of 1250 watts peak
  • Your garden variety 30-amp BBSHD running under a 52v battery is peaking – and can sustain – about 1750 watts of output.
My rear rack trunk battery. The capped red wire is for charging. The black wire on the rack stay is power output to the front motor. This is the original dual-separate-battery config

That gives some perspective on how much abuse is heaped upon a drivetrain with a mid drive. Coming off the successful builds of The Colonel (v1.0) and the Purple Thing (v1.5), I knew AWD reduced load on the individual motors dramatically when they work together as a team.

Given that, I thought about how I could use a front hub to reduce or eliminate the shock that a mid-drive puts onto the ebike’s drivetrain. Not only would I gain the traction benefits of AWD, and the benefit of reduced load from the team effort – things I already knew were a big positive – the front hub would also, if used in a slightly different way, provide an important added benefit: eliminating all the extra wear and tear that goes with having a mid drive.

If it worked, it would give me a bike with all the original AWD performance benefits, plus the ability to effortlessly climb walls, without tearing the bike up.

SPOILER ALERT: It worked unbelievably well.

New steel on the right, used alloy (1000 miles of use) on the left. And this was WITH AWD to reduce the wear and tear. Ordinary single-motor systems with this mileage would be dramatically worse. Substituting the steel body eliminates all wear.

In fact this bike is a showcase on how AWD can almost eliminate mid-drive wear and tear. Making a bike that climbs hills and bombs trails really well is almost an afterthought.

So that is what I am going to focus on here in this article. What was built and how was it used?

The Build

Briefly, this bike is the Great Pumpkin on the front wheel, and a typical mid-drive installation on the back. In between is the usual extra wiring scattered all over the place to deal with powering two motors, set up dual PAS etc..

The Front Motor

2Fat has another Bafang G060 80Nm front fat motor installed – this time its inside of a custom-built 100mm double-wall Weinmann (branded as an Origin8) rim. Go fat or go home. Attached are the same two torque arms as seen on the Pumpkin’s installation, and once again the controller is sitting in a grommeted handlebar bag that doubles as a wallet/keys/phone holder. It also serves to disguise the uncut steering tube I used to give me a more upright – but not too upright – riding position.

Another big, fat, 80Nm front hub motor. This time laced into a 100mm rim. Because fat bike.

Different from the Pumpkin is the battery setup. This bike was built before the v3.0 Pumpkin came onto this Earth (The Purple Thing had just been born). So, lacking the wherewithal to commission a big custom battery for the triangle, I used two packs, one for each motor. The front motor’s 12ah 52v battery was located in the rack trunk at the back of the bike. I had already learned I did not want to put a battery on the front rack as it made the steering too heavy. The rear motor’s 17.5ah pack was in the triangle.

It could be worse: Tucked in between the panniers in the rack trunk is one of two batteries. The second pack is in the triangle. Whats on the front rack? A weatherproof, adjustable 5a charger.

Additionally, due to the very low standover of 2Fat’s Large sized frame thanks to its top tube (it is a titanium, USA-made Chumba Ursa Major) there is not enough room to plug in a properly big battery in the triangle to handle both motors. So I had to do two batteries and live with the awful choice of putting one on the back rack.

After running the two dissimilar, separate batteries from its initial build in 2017 to March 2021, I switched to two identical, now-parallel’d-together packs in the same locations. Each is 12.5ah (14S6P) with Samsung 25R cells. Each has a 50a continuous BMS. As such, the system has a single 25ah power supply with a BMS capable of handling 100 continuous amps. Considering I can never peak past 65, I’m in great shape. I purchased the packs from Bicycle Motorworks, who builds their packs in the USA and constructs them at time of order.

Sidebar:  
Running battery packs in parallel should only be done by those who have done the research and know exactly what they are getting into.  In this case, both packs are identical, being manufactured to-order together, and have the same charge cycle count.  Their voltages were matched before they were joined and there is some additional babysitting that will be necessary for charging and balancing.  If you can avoid running packs in parallel and use just one battery: Do that instead.  

Using two entirely separate batteries is a kludge and your last resort. Not only will you have to charge them separately, you will also draw down the two batteries separately at different rates which will result in uneven remaining power, lesser range and more frequent recharges.

The Rear Motor

This is pretty much your garden-variety 52v BBSHD installation. It has a couple of nice spiffs in the form of a 42T Lekkie Bling Ring, and Lekkie Buzz Bars, but neither of those things are a requirement of the AWD approach we’re discussing here.

The rear wheel is another matching Weinmann 100mm rim, again with DT Champion 2.0 spokes and 16mm brass nipples. The rear hub is a DT 350 Big Ride, which has sealed cartridge bearings and has been upgraded to a steel cassette body. Additionally a 9-speed Shimano HG400 cluster gives me steel cogs literally welded together into a single cluster, that spreads the enormous torque of the BBSHD across the entire steel cassette body. The DT350’s ratchet engagement mechanism is one of the few known bombproof rear hub mechanisms when faced with the power of the Dark Side 30a BBSHD motor.

A solid rear wheel build with extra strength parts throughout is crucial to a successful mid drive ebike.

205mm front and rear rotors with Magura MT5e brakes

The Special Bits

There is a bit more that went into making these motors work together. The complete integration possible on the Pumpkin thanks to the use of identical motors and controllers wouldn’t work here.

Brake Cutoffs

Trying to share cutoff signals between the motors again – using adapters for the red-to-yellow connections found on the BBSHD – resulted in bricking both motors. I tried everything to share the signals. It can’t be done unless you are willing to install a second, independent set of hydraulic magnet style cutoffs, zip tied to the integrated MT5e cutoffs and connected via a ‘y’ further down the line. That would work but it would look like crap, for very little benefit over what I ended up doing: I set up the front brake to engage the front motor cutoff, and the rear – with a red-to-yellow HIGO adapter – to cut off the rear motor. Since I always use both levers to do my braking I get an effective result.

Pedal Assist

PAS for the BBSHD is built into its motor casing, so it just works. PAS for the front motor was another matter entirely. Ordinarily the assist disc and sensor runs on the right-hand, drive side of the bike and hides behind the front chainring. This is not possible with the BBSHD’s secondary gear housing being there instead. So PAS had to be made to work on the left hand side. The KT controller has left-hand PAS sensor installation settings.

What was needed then was a left-hand install. This was quite a bit trickier, since the 120mm motor running in front of 5″ tire-compatible chainstays had zero extra spindle length to mount the disk. Lacking a bottom bracket cup to mount the PAS sensor ring, I set it behind a second inner lockring – I used two inner lock rings stacked like jam nuts rather than the usual inner+outer ring. These doubled inner rings had the secondary benefit of being a more aggressive, solid mounting for the motor.

With the sensor mounted, next I had the sensor ring to deal with. As noted above… there was no length available period for the sensor disk as the crankarms mounted pretty much flush to the bottom bracket.

The eventual solution involved hogging out the center of the PAS sensor disc so it could sit on the inner flange of the Lekkie crankarm instead of the spindle. I prepped the crankarm with… thin strips of thick duct tape so the disk would sit tightly on the flange. It was a bodge but it worked, and with just one improvement since installation in 2017 it has held perfectly. That improvement is a zip tie to help hold the disk steady in position (of course I used a zip tie. We have duct tape in the mix; all thats missing is a zip tie).

Worth noting: I used this identical PAS ring mounting when I built the Lizzard King AWD cargo bike in 2021. Not only did I have enough extra spindle so I did not have to do this surgery on the ring, I also realized I could unscrew and reverse the sensor in its mounting ring. This eliminated the need to use the reverse settings in the display/controller. Since the inset ring was reversed, it was outset now… and that held the sensor closer to the magnets (they work fine inset as seen here, but closer is better).

The Cockpit

Here’s where the eagle-eyed may spot a preview of how I ride this bike to soften up the mid drive.

Those are Jones SG bars with ESI XL Extra Chunky grips, wrapped in silicone tape

On the right, we have the grip, then the brake lever, followed by the 9-speed shifter. Here again we see a v2.0 feature that v3.0 fixed: A SRAM drivetrain gives us a SRAM, not Shimano shifter. The Shimano shifter needs so much real estate on the grip it is impossible to put a throttle on that side of the handlebars. Look at the cockpit of The Great Pumpkin and the Lizzard King to see how a SRAM shifter solves this and lets me do one throttle per thumb.

Being unable to do that at the time – and believe me I tried EVERY possible combination of throttles. I still have most of them in a box in my garage. I settled on two styles of thumb throttle, side by side on the left, with the innermost throttle being for the hub/front and the outermost for the BBSHD/rear. As for the eagle-eyed part: The front throttle is cocked higher so between that and its longer throw, it is engaged first and when at 100% it follows the natural curve of my thumb. Both throttles can then be at 100% and my hand stays comfortable at WFO.

How To Ride It

At last we get to the point!

I already let the cat out of the bag earlier: The biggest deal associated with this bike is not that it can climb really well (REALLY well). Nor is its ability to handle trails and rotten conditions its star quality.

2Fat was made to get dirty

No, the real point of having a mid drive teamed with a front hub motor is to use that hub motor to take the shock off the drivetrain that mid drives deliver. Do that and you also take away the excess wear and tear on the parts (if we are being fair, a lot of this comes from doofus riders who don’t know what they are doing).

When starting, start with the hub

This is most of the deal right here. Don’t make the mid drive haul the bike up from a dead stop. Its got the torque to do it. But everything takes a beating in the process. The nylon gears inside of the mid drive. The chainring. The poor chain. The suffering cogs. The cassette body being dug into by the cogs. The pawls inside of the cassette body that are straining against the hub. Your ebike hates you for doing this to it.

By using a mid-drive-strong chain, a steel cluster and a steel cassette body with a ratchet engagement mechanism, we harden the drivetrain to be very tolerant of this abuse. Between that and learning how to use a mid drive, wear and tear really isn’t bad at all. Maybe no worse than a quality analog bike used hard. But still… even with the hardened drivetrain it sure would be nice to take things easier.

By using a hub motor to get the bike rolling – even by just a few mph – we accomplish this mission. Using my pedaling-friendly BBSHD programming or something like it, the BBSHD will not kick in on pedaling until the bike crosses about 5 mph. So from a stop, you hit the front throttle for about one full second. That throttle is cocked up a bit higher on 2Fat to make that a natural move. The bike starts up from its dead stop without any strain on the drivetrain since the BBSHD is not even running. Simultaneously, you also start pedaling. This engages the cassette mechanism.

When speed crosses 5 mph, the BBSHD’s pedal assist now kicks in on a drivetrain that is already engaged. There is no longer a risk of having the motor jerk the chain and smash the cluster into engagement. And with this gentle engagement, the motor starts working on a bike that is already moving. So you get the doubled benefit of a lighter effort against all components to get your fat bike off its fat ass. Instead, you get smooth – and strong – acceleration. The lack of lugging the motor has the further benefit of not generating anywhere near as much heat since the motor is no longer running at low rpms for anywhere near as long. And those nylon gears inside the motor are writing you a nice thank-you card.

Or…

Rather than using the throttle, you could also just start pedaling. I have set the KT controller to engage PAS as quickly as possible. Combine that with the BBSHD’s controller being told to hang back for the initial startup, and you have a completely thumbs-off solution that implements at a nice gentle pace.

So… It just works.

Or you can force it! Remember with this setup you have two throttles. There’s no law that says if you need it, you can’t jump the gun and either hit the rear throttle early, or hit it so the motor engages harder than it would have in your designated PAS mode. So if you need a little extra push thanks to an XL load of groceries, or a steep hill, you have options at your disposal.

Downshift? Schmownshift!

One of the mantras associated with smart mid drive riding is that you always Always ALWAYS freaking downshift the bike when you come to a stop. The LAST thing you want is to lug the motor up from a dead stop because of all the brutality it visits on your chain, your cogs blah blah blah. So that means you remember to downshift one or two… maybe even three times before you come to a stop. When the light turns green you upshift in sequence one gear at a time as you get back up to speed again. Thus as we all understand: you row thru the gears.

Another rule mid drive mavens repeat ad nauseum is – if you have an 11T small rear cog… stay the hell off of it. Its too small to use on a mid drive. It bogs the bejesus out of the motor from a stop, its too small to be able to get up to speed before the sun sets and if thats not bad enough, the teeny cog on even the steel Shimano clusters is alloy and it is not attached like all the others are. Its an individual. So not only do they dig into the cassette body harder, they die fast. Like Really Fast. As in a few hundred miles tops.

Well, on AWD mid drives like 2Fat, you can forget about all that. Because of the powered front hub doing its part (either thru a quick dab of throttle or just letting PAS start the bike), there is no longer a need to shift at a light. You can forget about the whole process. Just leave it and it’ll be fine as if it was a hub motor! In fact the front motor allows the bike to increase its speed so it gets up and goes fast just like a hub motor does.

I found this out within a day of building the bike, and since then learned from experience the 11T cog will last about 1500 miles before it typically cracks (two so far). Thats not so bad for a readily available US$7 part. And if I wanted it to live longer, well it wouldn’t kill me to go up a gear at a light once in a while.

At the office, outside my e-garage. There is a trail network along my commute route that 2Fat lets me take

Wrapping It All Up

2Fat itself is not the ideal example of how to execute this concept. It is a product of when it was built and my knowledge level at that time. In the present day, I for sure would not want to build a bike with two batteries, and if I did I would NEVER put one on the back rack. But thats partly the limits of the frame I used. I came within a hair of using a Salsa Blackborow frame kit for this bike until, at the last minute, this titanium beauty fell into my lap for a song… but thats another story.

Next, I wouldn’t use Shimano components thanks to the real estate problems introduced by the shifter. Instead I’d use SRAM components so I could do one throttle per thumb.

Really the Great Pumpkin with its XL size and XL triangle, plus its SRAM shifters – would be ideal here. But them’s the breaks. This is what I’ve got. Boo hoo.

With that said… I did learn as I went along, and in 2021 I returned to dual motor bikes with the Lizzard King, a bike meant to prove a different kind of AWD could be awesome: You don’t need the 80Nm, 35a punch of the Pumpkin’s or 2Fat’s front hub to gain the benefits of AWD. A low power implementation, done a little differently, should be very effective and appeal to a much broader range of everyday, low-speed, low-drama ebike use. And…

SPOILER ALERT: It worked unbelievably well.

BBS02 and BBSHD: Do I want a gear sensor?

This is a common question on BBSHD and BBS02 motors, so I thought I would write up a quick post and describe what can be done, and what I do.

Here’s The Problem

If you shift under power with a BBS02 or BBSHD, you will do so using a LOT more power than your ebike’s drivetrain (chainring, cogs and chain) was ever designed to handle. Shifting while under even a moderate amount of power is a great way to snap your chain and take the Walk Of Shame home. Worse: you can crack or even taco a cog.

Here’s The Solution

Use a gear sensor. Thats not so tough, right? First of all, what is a gear sensor? Its a little box, with a little wheel inside. You run your shift cable thru the little box, in one side and out the other (which means you need to cut and re-section your shift cable housing), with the cable running across the little wheel. When the wheel senses any motion, it sends a signal to your motor that cuts the power for a split second and takes the pain away from your drivetrain when a shift occurs.

Whats Wrong With That?

Nothing, so long as it works. The little wheel inside is mechanical and crud-sensitive. Lots of folks have issues with them not working after rain storms or mud baths. You can solve that by wrapping it somehow to keep the grit out.

I wrapped this sensor in silicone tape to make it crudproof

Its also not the ONLY way to do the job. Like I said, I had my first BBSHD without one. I learned to shift without needing a gear sensor. By the time I built my second bike, I had that method down pat. So yeah sure the sensor is nice but I have already learned another way, and I have found – even though I have bought sensors and have had them right in front of me during a new build – I don’t feel a need for them.

But I sure as hell have a need for the job they do. Everyone does. So don’t let anyone tell you the problem is not real. Its probably the #1 way to snap a chain on a mid drive bike.

Gear Sensor Alternatives

So there are a number of different ways to do this job. I’ll list the one I use last

Use the brake cutoff as a clutch

Its simple: Squeeze the brake handle just a little bit to engage the brake cutoff. That cuts power to the motor and gets you the same thing a gear sensor does. The trick is to not engage the brakes to any noticeable degree and lose any of that hard-won momentum. Interestingly, Magura MT5e ebike brake levers have a special little hinge in the middle of the lever. It lets you do this more easily without engaging the actual brakes.

See that little metal pin in the middle of the lever? That hinge makes this lever a shift cutoff. Touch it with a fingertip, the brake cutoff engages, the motor cuts out and the pads aren’t touched.

Thats nice, assuming everything works. If you are a little jumpy, or the bike is bouncing along a trail or something, then that delicate caress on the brake lever might be a little more than you figured and … well, you get it. We live in an imperfect world. But this method still works pretty good.

Use a cutoff button on the handlebars

This is definitely not a common solution, but it does work, and is what I used on BBSHD Bike #1 until I gave up on it and perfected the method I describe next.

See the green button at the center of the pic? Thats the cutoff switch

What is it? Its just a dead-man switch on the bars. Press it and for as long as you hold it, the motor is cut off. Release it and the motor re-engages. Its a brake cutoff that has no brake pads. The other end of the switch has a yellow Higo/Julet that connects directly to the BBSHD’s motor cutoff plug.

In practice, I found it took too much thinking to reach for the button just prior to a shift. It felt forced and I didn’t take to it. Maybe you will and if so its a dirt cheap and simple method to try that doesn’t involve screwing around with your shift cables.

Adapt your pedal cadence

This is the method I settled on, and even after buying and successfully using a gear sensor, I have never felt a need to install another one. This method is just a natural part of my riding style now and is trained into muscle memory… so I do it naturally and automatically on any bike no matter what. Here’s what I do, in order. These steps occur in very rapid succession so making a shift happen occurs in about one to 1 1/2 seconds.

  • Step 1: Stop pedaling.
  • Step 2: Click the shift (just one gear).
  • Step 3: Start pedaling. Muscle power completes the shift before the motor kicks in

Thats it. Do it fast and its just a quick stutter in your cadence. Changing your BBSxx settings so they are friendly to pedaling helps. The linked settings will cut the motor off fast and start it back up soft. Perfect for completing a shift.

When you get good at this, you will be able to click your shift a hair before the motor stops the rotation of the chainring. My more recent builds use SRAM 11 speed drivetrains that need only about 1/4 of a cog revolution to complete a shift. So if I do it right, I click while there is still a ghost of rotation left that makes the shift, so when I start pedaling again I’m already working with a shifted gearset.

But…

Don’t try and get fancy right out of the gate. Just keep it simple and get the shift done. The high speed fancy stuff will come naturally as you gain experience.

Remember, there is nothing wrong with a gear sensor. They do their job. I just learned how to do without one. Having done that, I don’t feel a need to make the effort to install the sensors anymore.

In an ideal world, you do both. Truth be told I screw up every now and then. With the cadence technique and the sensor backing it up, you are pretty much guaranteed to never snap a chain thanks to shifting like a fathead.

Bafang Mid Motor: Multiple Speed Magnets

Some Bafang BBSHD and BBS02 programming tutorials say Speed Meter Signals must be set to 1 or bad things happen. They are right. They are also totally wrong.

This is going to be a quickee post to show off a little spiff you can do on a Bafang mid drive, and point out something wrong I see in some tutorials or forum posts about Bafang BBSHD / BBS02 settings. Specifically:

The Speed Meter Signal

Put simply: It does not have to be set to ‘1’. But I am getting ahead of myself. Lets start from the beginning:

At the root of the matter is the BBSxx Speed Sensor. If you buy one as part of a kit, or on its own, this is what you get for roughly US$20:

Figure 1: L to R: Sensor magnet, sensor base, sensor and underneath, the two screws used in the install

The speed sensor magnet attaches to one of your spokes. You attach the sensor to your chainstay (usually) and position it so the magnet passes close to it as the wheel rotates. The sensor detects the magnet’s passing and calculates your speed, via a rotation count and knowing your wheel diameter via a separate setting.

Figure 2: The speed meter installed on the chainstay.

So if you buy the typical sensor, you get one magnet, one sensor, and you need to set the Speed Meter Signal to ‘1’. Is that setting because you have one speed sensor?

No. Speed Meter Signals counts the number of magnets. Not the number of sensors. Each magnet is a signal. Got one magnet? Set it to 1. Got two? Three (for a 36-hole wheel)? Four? Change the setting accordingly and it works great.

Figure 3: The Speed Sensor settings from my Luna Black Box, with the setting in question circled.

Why do we need more than one?

The one magnet works pretty good as it is, so nobody really gets too deep into this. Plus nobody sells Bafang speed sensor magnets by themselves. So to do this you are talking about roughly $20 per magnet because you have to buy a whole speed sensor assembly.

But… what if you don’t? Cateye sells a sensor magnet all by itself. It is cheap, widely available and can be gotten cheaper in a 2-pak. Here’s one, close up:

I have found these can just be tightened onto a spoke by hand, and they do not need any thread locker to stay tight (adding some Vibra Tite would not be such a bad idea). Reportedly these magnets work over a much greater distance than their Bafang cousins, which is another benefit.

Get To The Point!

Fine here it is. Look for the speed sensor magnet in the picture.

Figure 4: How many lights do you see, Picard?

There are four lights magnets on this wheel. One every 8 spokes. I have the Speed Meter Signals reading set to 4. The improvement is not earthshaking but I do get the following:

  1. My speed reading on my display updates faster and more smoothly. Quadrupling the signal input is a good thing which is not a surprise.
  2. The Cateye magnets are smaller and lighter by a fair bit than the Bafang magnet assembly. This results in the wheel getting thrown less off-balance than when using that big heavy Bafang doodad (even if you place it opposite the valve stem to even out the weight distribution).
  3. Four magnets placed equidistantly around a wheel make for a more balanced wheel spin. Its minor. But when spinning the wheel with the motor when the bike is up on the stand the lesser amount of shaking is noticeable.

Using just two sensors (the 2-pak of Cateye sensors is only $9.95) gives a noticeable improvement as well. Enough that 4 sensors is not noticeably better or worth even the minimal the cost/effort. I can’t help but think that two magnets means two points of potential failure rather than four. This weekend I’m going to go back to two magnets.

So…

You can take this tidbit as useful in a couple of ways: A cheap, lightweight, stronger magnet replacement or a way to get a better speed signal to your display.

Its not a big improvement, but it is a nice little one.

BBSHD Programming For The Pedaling Cyclist

(But Not For The Throttler)

WARNING. Before you start fooling with your BBSHD settings, take a photo of each screen with your cell phone. If you screw up, you have a quick reference back to your original settings.

Once you get through this article, check out the follow-on article that slightly refines these settings a bit further.

The subject of what settings to use when programming a BBSHD comes up now and again. Its a question with a fairly complicated answer that does not lend itself to your typical Facebook 2-sentence post.  So here is the long version. I have my own suite of settings that suit my personal riding style.  I am primarily a pedal-pusher: I want to get exercise when I ride, so I seldom use the throttle. But if you try to take that throttle away, you’ll have to pry it from my cold, dead thumb.

So I want pedal assist that does the following:

  1. Doesn’t lug the motor.  All that does is turn electricity into heat.
  2. Conserves power and extends range.  See above.
  3. Keeps me working, but not too hard … unless thats what I want, and then it has to let me do that, too.

Interestingly, with both my Mongoose Envoy Project and Surly Big Fat Dummy Project, I found what worked great for me on other BBSHD-equipped bikes was completely ineffective on a cargo bike.  I frankly haven’t figured out why this is, but I think it may be because my older builds were just that: Older. Something maybe changed in the firmware.  My PAS settings that conserved major amounts of power while pedaling wound up being totally inadequate. I needed to step up some settings, which I will describe below. While my settings then vs. now are quite different, I don’t see any real penalty in range.

Feel free to tinker using both and see for yourself what happens to your own motor.

How do you program a BBSHD?

Strictly speaking, you don’t. As a for-reals programmer who for most of his life made his living writing code, I have to point out this is not programming even if everyone calls it that. The BBSxx line of motors have a quasi-hidden settings interface. With the right software you can gain access to those settings and simply change them, resulting in big differences in behavior.

Myself, I am using the Black Box sold by Luna Cycles (available here).  The Black Box makes it much easier to go on a ride, tweak as you go and get things just right after only one or two rides. Also, I literally have a half-dozen bikes now with one of these motors. The initial expense of the tool is a lot easier to justify if you are sharing it across the Pacific Fleet.

The other way to do this is to spend about US$18 and buy a laptop cable. Then you use your existing Windows laptop to host the app that you will use to make the aforementioned changes. Here is one place to get that Windows app. I started out doing it this way, but as laptop operating systems evolved I found it increasingly difficult to get Windows to accept the cable’s right to exist. I don’t miss fighting with it one bit.

If there is such a thing as a bible on how to program your BBSHD, its Karl Gesslein’s blog post on the subject (read it here).

If you want to know everything about programming your motor, you should read the blog post linked above.  That post is the definitive tutorial on the interwebs, despite its age.  All I am doing here is calling out some of the things I have done that deviate from the norm, work for me and why it seems that is.  So I will not be explaining things as if you have never seen any of the BBSHD settings screens before.  This article assumes you have at least read the above blog post and familiarized yourself with the screens and settings.

I am not showing original factory settings. Your motor may have settings your vendor considers proprietary. So I am showing screens I have altered and then calling out the bits I consider important.

The BBSHD’s settings are presented on three separate screens: Basic, Pedal Assist and Throttle.

The Pedal Assist Screen (2 of 3)

Yes I know. I’m starting out of order. Its easier to understand this way.

Much of what is on this screen… you shouldn’t mess with. I’ll just hit the high points.

Regardless of what you see here on my own screen, I strongly suggest you leave the first three settings alone unless you know exactly what you are doing.

The Pedal Assist screen on 2Fat – my ti-framed 2wd bike whose motor dates back to about 2016. I use these settings on new motors as well.

Start Current

The lower you set this number, the more gentle it is on the controller and your drivetrain. Experimenting with lower numbers will make life easier on your rear freewheel pawls, and chain. Setting this number low is especially helpful if you are running a cargo bike under load and want to be extra careful. Setting this to lower numbers may also be too little startup assist – remember the purpose of the motor is to help you get off from a standing start. This setting only applies to pedal-assist power delivery.

A typical default number here is higher; often around 10. I have found kicking it down just a bit more is much better for your drivetrain if you have a heavy (cargo) bike; especially one that is loaded. Even if its not a cargo bike, how bad can it be to beat on your drivetrain less? Remember you can always mash the throttle if you want <clarkson> power </clarkson>.

UPDATE (10 May 2021): 
No more messing around:  I now use a setting of 5 here to match the same setting on the Throttle Screen below.  The reduced wear and tear on your drivetrain is well worth it and there's no downside to a smooth startup.

Slow Start Mode

This setting determines how gentle the ramp-up is on your power on start. Starting up too fast can kill your motor’s controller so beware. I am using the lowest setting published in the article I linked above. Here again, why create a situation where you could end up blowing your controller or chewing up your chainrings? I stay on the conservative side.

Stop Delay

A common complaint on the BBSxx motors is that you can stop pedaling and the motor keeps going for what feels like a full second. Its a valid concern. 5 is the lowest safe number for the BBSHD so thats where mine is. This setting effectively means your motor stops when you stop pedaling.

BUT it also leaves a hair of rotation which you can use to your advantage when shifting gears: Stop pedaling and in that instant execute your shift. The shadow of remaining power and rotation will be enough to gently complete the shift (SRAM gears will shift in about 1/4 rotation) and you can start pedaling again almost instantly. I call this a ‘stutter step’ in my cadence and I personally prefer it to using a Gear Sensor which automates the process. Tomato-tomahto. Depends on how you learned to use the drive as to which you like better.

Current Decay

This is a big one. Current decay helps decide when your motor cuts power based on your cadence. A huge complaint about cadence sensing is it causes the bike to run away from you and the rider is just spinning the cranks… its called ‘ghost pedaling’. This is part of a complete solution to that problem.

My philosophy is (and plenty of people disagree with this) if I can pedal at a high cadence I don’t need power assist, since I can spin the cranks. By cutting the power back when I start spinning (a.k.a. “clown pedaling”), I not only reduce power consumption and increase range, I also create a scenario where I either keep going on increased amounts of muscle power (which a high cadence demonstrates I can pull off), or I decide to shift to a higher gear, thereby naturally slowing my cadence and telling the motor to give me back some power.

This in turn has the effect of letting me ramp my cadence back up and increase my speed. Done right, this is much closer to a natural cycling experience and either lets me a) haul ass to my destination on the streets or b) get a hard workout. Or both.

Why would anyone disagree on this point? Easy: If you are running a powered bike on singletrack, and you hit a steep hill that is all muddy and root-strewn, you need to spin to keep yourself going up that hill. If the bike gently ramps back power on you, well thats a dirty trick indeed. So… remember what I am describing here is maybe the magic elixir for street riding; but not for an eMTB running hard singletrack.

Stop Decay

This is another setting that helps govern how fast the motor shuts off when you stop pedaling. Zero milliseconds sounds good to me. Stop Delay determines how fast a motor begins its shutdown after you stop pedaling. Stop Decay determines how fast it fully shuts down after the shutdown begins.

Keep Current

This is another companion to Current Decay. When Current Decay decides to cut back power, this percentage determines how much power you keep. So by setting mine to 40%, I am getting a 60% power cut when I spin my legs past the Current Decay threshold. And my Current Decay setting determines how steep the offramp is down to the lower power level.

Here again remember what a bad idea this can be on an eMTB. This is for city riding and commuting, where you want the benefits of boost but you also want the option of getting some exercise and your terrain is reasonably predictable.

The Basic Screen (1 of 3)

The BBSHD is capable of supporting up to 9 assist levels.  Actually its 10 since there is a Level 0, but that level is (nowadays) a special case that you pretty much have to leave at a special setting and can’t adjust.

Each level is defined with two numbers.  A Current % Limit and a Speed % Limit.  They are, in a word, opaque in terms of what they do, and not easy to understand.

Also I have achieved great results in entirely different ways on different bikes. I’m going to show multiple screens.

This is my ‘old school’ screen. It works as a power-sipper on older BBSHD motors. I can not use this on motors I have built bikes with in maybe the last 2 years.

Note the Level 0 setting of ‘4’ with a speed cutoff of 30%. The intent there was I never really want zero power on pedal-assist and Level 0 provided a very mild bump for times when I am pedaling slowly and going slow… like when on an oceanside bike path loaded with tourist pedestrians, and I am just barely exceeding walking speed.

Here’s the ‘modern’ motor, pedal-assist-friendly version. Note the 25a power reduction (and ignore it).

This one is apportioning quite a bit of additional power, level by level. On the newer motors, this is what it takes. The 25a power reduction shown on this screen is specific to this bike and not something you should read anything into. Just know that the Current box is where you limit the amps for regulatory or other reasons (i.e. this is your maniac child’s bike).

Whats with the Assist 0 setting of 1 and 1 above? Its a requirement of newer BBSHD motors. If you set it to anything besides 1 and 1, you wind up disabling pedal assist. This is far from my preferred setting as you can see above. I originally used Assist 0 for sort of a crawl mode when wending my way through tourist-laden sidewalks, where I’m going just a bit faster than a walk and don’t want to run anyone over, but still want a touch of power. Bafang’s release firmware is a moving target so if this changes I’ll amend this note.

  • Current % is when the power cuts out based on road speed.
  • Speed % is when the power cuts out based on motor rpms

Whats this ‘cut out’ stuff?  Well, remember the ‘decay’ and ‘keep’ stuff we described when going over in the previous screen? These settings help determine when that kicks in. Clear as mud? You’re not alone. ‘Counterintuitive’ is the name of the game when messing with your Bafang motor settings.

Screen 3 of 3: Throttle

So… the pedal assist levels are on the Basic page.  Makes perfect sense. Strangely, the throttle settings are on the Throttle screen.

See below. This article was updated and ideal Start Current is not the same as pictured.

There are only two things that, really, you should be fooling with here.

End Voltage

Generally this stops at ’35’ or 3.5v. What that gives you is, effectively, a throttle that has two speeds: Completely Off and Full Blast. Not really but it will feel like it.

Instead, if you set End Voltage to ’42’ (4.2v) the result will be a smooth, linear throttle where it will be easy to, say, blip out only 200w of throttle-based assist to your motor while you are struggling to get going after a stop. Being able to dribble out just a bit of power is something your cassette pawls – and your wallet – will appreciate after a few thousand applications. No more clanging noises coming from your poor, soon-to-die rear hub.

Start Current

Hey waitaminute… we had Start Current on another screen too! Yes we did. But that one was Start Current for pedal assist. This one is Start Current for when you mash the throttle.

If you set this to, say, 10%, that means the initial beat-down given to your cassette body by the cluster (that gets jerked forward by the equally unhappy chain) is only 10% max the power of the motor. The rest of the power you asked for gets poured on a split second after that. But the initial shock to the system is reduced by this setting, which has obvious benefits. For a heavily loaded bike where you want a smooth startup on throttle, setting this down to 5 (or less!) should be considered.

UPDATE (10 May 2021):
Having done some experimentation, with the wider throttle delivered by the End Voltage setting of 42, a Start Current of 5 is much better.  Set to 10, the least throttle I can deliver is about 150w or about 1-1.5a (using an 860C display set to display both values simultaneously).  Set Start Current to 5 and that minimum value is about 50w and 0.5a.

Wrapping it all up…

So there you have it. This is FAR from a comprehensive tutorial on the subject. Remember also that everything done here is done for a BBSHD that is running a 14S/52v power system, so if you are, lets say, running 48v… its possible you may want to jigger some of the assist levels a bit upwards. But now you can do it with a starting point.

Last Note:

The settings above are my personal settings. Starting from a stop, my assist will not kick in until crossing 5 mph or roughly 8km/h. If I want assist from a standing stop thats what I use the throttle for. Remember: All this pedal assist sturm und drang is wiped away if you just use the throttle and make it go.

Remember… Take pictures before you click Save

The BBSHD: Musical Chainrings

It seems inevitable.  When I build a bike, I go through front chainrings trying to get the gearing just to my liking.  My Mongoose Envoy build has pretty much set the world record for tweaks in this regard.  But gearing wasn’t the problem so much as chain alignment.  Alignment is one of the most talked about issues with mid drives and up to this point I have not had to work too hard to get it right.  This build, not so much but I think I finally got it (like $350 later).

While dealing with this I have fooled around with three different sets of crankarms (160’s, 170’s and 175’s).  Not the subject here so if you notice the different crankarms in the pics, I am ignoring them on purpose.

Sidebar:  When building the Surly Big Fat Dummy, I found exactly the same thing as I did here insofar as chain alignment is concerned.  And used the same solution – the USAMade adapter listed as an Honorable Mention below got pulled out of the parts pile and put to use.

The Right Tool For The Job

The Mongoose build is a first for me in many ways.  One thing in particular:  the BBSHD fits the frame really well.  Its a 68mm bottom bracket with absolutely zero chainstay obstruction for the secondary housing.  So I can butt the motor right up against the bottom bracket.  Further, its a lonnnng way back there so chain alignment and misalignment – an inevitable concern with an HD build – is a lot more forgiving since the angles are gentler thanks to the longer reach.  On this bike, if I want I can even forego the offset non-drive side crankarm and the pedals are still easily centered under me.  So the HD is a great fit here.

About That Job…

The Mongoose is a cargo bike.  So it hauls heavy stuff (usually groceries).  It has a secondary job as an unladen backup commuter, but primarily it needs to be optimized to start from a stop while the entire system – with me – weighs 400-450 lbs (180-204kg).  I have really loaded it that heavily so this is not a theoretical exercise.  So I want a big-ish chainring for when I am pedaling fast and light, and still need to be able to get to the big cogs in the back for when I am loaded up and chugging along like a two-wheeled freight train.

Plan A:  Luna Eclipse (42T)

The Luna Eclipse is one of the best BBSHD chainring setups on the market, with a unique ‘wicked’ tooth profile meant to eliminate the possibility of a chain drop under extreme use.  It also has the most extreme internal offset of any chainring option.  This will do the most to overcome the grief visited upon the BBSHD builder by that drive’s secondary housing sending the chainring way out to right field.

Its also gorgeous.  The gunmetal finish I chose matched beautifully with the dark grey frame.  Unfortunately 42T (which is the standard for full-offset chainrings as any smaller and you can’t clear the secondary housing) was not large enough to keep me from clown-pedaling when riding the bike as a commuter.  There was another problem:  Chain alignment.  Running that smaller 42T ring with the smallest rear cog resulted in, after only a few weeks, a whole lot of wear on the inside.  This is why mid drive builds demand the most out of the builder in terms of thinking things thru.  Time for Plan B.

IMG_20200503_123800
Its not ruined yet, but its lifespan sure has been shortened.  this was only a couple hundred miles of wear.

The Eclipse is a proprietary chainring platform, but fortunately other sizes are available.  the largest of which is what I tried next.

Plan B:  Luna Eclipse (48T)

So Plan B was to swap in a Luna 48T ring onto the Eclipse center section to fix the clown pedaling, and to stay the hell off the 12T small rear cog to deal with the alignment issue (I am using a welded together steel cluster for durability and the 12T is alloy and not a part of the welded cluster, so its better to stay off it for the sake of longevity anyway).  I thought that 48T/14T on this bike was the perfect sweet spot.  A small front ring is best when its on cargo duty, and a large one is best when its a commuter.  48T, when used in conjunction with upshifts, gave me pretty much everything I needed.

Pretty much but not everything.  First of all, remember the deep offset of the Luna ring?  It moves the chain inboard 24.8mm which *usually* eliminates the damage the BBSHD does to chain alignment.  Not on the Mongoose, whose narrow bottom bracket effectively papers over all of the sins committed by the motor (at this time I had not yet fully figured this out).  So, as I found with the 42T ring, it was inset too far, even when I stayed off the smallest cog.

So Plan B helped, but it didn’t solve the problem.  After only a couple weeks (I am now checking carefully and frequently) I saw the beginnings of the same wear on the inside of the chainring.  Like the 42T, I had to retire this thing fast so I could use it on some future project.

IMG_20200503_123820
Not as bad as the 42T, but still bad.  Both this one and the 42T looked perfect on the other side.

Sidebar: A mid drive chain powered by a 1500w motor is a chain saw when it comes to components rubbing against it.  That is just a reality of a mid drive and you have to deal with it as part of your design/build process.  When you get it right, you are golden for thousands of happy miles.  Get it wrong and you are sawing thru chainrings and cogs like nobody’s business.

Plan C: Lekkie Bling Ring (46T)

So now what?  42T was too small.  48T was more or less just right.  And the chainring offset that lets me use the inner cogs at great alignment still needs to be reduced or I can’t use anything but the lower gears.  Lekkie has a Bling Ring available in 46T.  It has the same internal offset their 42T ring has and, since I use them on two other bikes I know they are top quality.  At 18.3 mm its offset is quite a bit less than the Luna.  So I got a 46T.  I also added a 2mm spacer underneath it, further reducing the chainring offset to 16.3mm.  That is a whopping 8.5mm less than before so I hoped I would be good on the smaller outer cogs and still let me use the big inners.

And, pretty much, it was.  Chain alignment didn’t seem to be much of an issue, although it still wore down a bit more on the inside.   I was also able to shift up to the biggest cogs in the rear for very low gearing options.  Those are important on a full cargo load and if I am dealing with hills.

But… I flat out missed that 48T high gear for commuting.  And I was still seeing – very slight but noticeable – wear on  the inside of the chainring teeth from the chain, which was still visibly angling outboard a fair distance.

IMG_20200503_123847
This one was on for a few months and had 8.5mm less offset.  But it still shows signs of premature aging.  This was undesirable but livable.

I decided to try an extreme option I had not previously considered.  But on this bike, where all of the normal chainring offset stuff doesn’t seem necessary, it might actually work.

Plan D: Luna 130 BCD Adapter and Wolf Tooth 48T Ring

BBSHD chainrings are generally all proprietary to the platform.  Not so in the cycling world, where chainrings are universal, needing only to match the proper Bolt Circle Diameter for the chainring bolts.  Match the BCD between crankset and chainring and you are good to go.  There are adapters out there in the world that allow a Bafang motor to use standard 104mm and 130mm BCD chainrings.  The problem is they don’t give you anywhere near as much inward offset.  But given my experience so far, maybe I can live with that.  They should fix my alignment on my ‘commuter’ cogs, but will I still be able to use my ‘cargo’ cogs?

In addition to the LunaCycle 130 BCD adapter, I also chose the Wolf Tooth Drop Stop chainring as those rings are best-in-show for this sort of thing on a mid drive.  Attachment to the adapter was a little different than the usual chainring-to-crank operation in that its backwards.  The chainring bolts onto the inside.  I was able to play some games to good effect:  I reversed the chainring so it is logo-side-inward.  Not as pretty, but doing that lets me take advantage of the countersunk bolt holes on what is normally the outboard side.  The countersinking let me mount a bolt so it is almost flush with the ring, which in turn is butted up almost on top of the secondary motor housing.  With the countersinking it now has plenty of clearance.

Plan D Results

FINALLY.  Everything is working right.  The reduced chainring offset means my 14T cog (still not using the 12T for the reliability issues mentioned above) lines up straight back.  This outboard shift did affect my inner cog alignments but I can still get to all of them but the biggest 32T.  I’m comfortable with the angles on all but the second-largest 30T for long term use, and in a pinch, that 30T will work fine.  I just don’t want to stay on it for a week.  So this 9-speed is now a 7-speed and as DIY mid drives go thats still better than a lot of builds can manage.

And worth mentioning, like a lot of what they do, the CNC-machined Luna adapter is freaking gorgeous, and very precisely manufactured.  So much so it really stands head and shoulders above another adapter I got my hands on and was able to compare it directly to.

Honorable Mention: USAMade 130 BCD Adapter

I was surprised at how well this worked and how nicely it was made.  The part only cost me $29.99 on Amazon.  Still, it was Made in USA, well machined and rock solid.  The only things I didn’t like about it was the fact it was machined a bit too heavily, which meant it placed the chainring a millimeter or two further outboard than was necessary, and in this game millimeters count.  Further, as you can see above I was able to reverse the WolfTooth ring and take advantage of the bolt head countersinks.  That didn’t work with this part as USAMade countersunk the outside edge of their part, which made the bolts too long to allow my trying the same trick on the inside, where I needed it.  For a different build it might work fine so I am keeping it for my parts pile.

As for the Stone chainring seen on the USAMade adapter (scroll up to the title image at the top of the page), thats a Chinese Special that ran less than the godawfully expensive Wolf Tooth.  Its noticeably lighter in construction than the WT and I’m not sure I am sold on the tooth profile.  This ring will sit in my parts pile waiting in the wings as an emergency replacement.