Ebike Battery Charge Safety: Use A Cutoff Timer

Lets easily add a layer of extra protection to help safeguard your home and loved ones from a battery fire.

We’ve all seen the news reports. When compared to the number of ebikes out in the world, battery fires are extremely (EXTREMELY) rare. But when they do occur they can be catastrophic to life and property.

As a daily commuter who also uses an ebike for an auto replacement, I have been charging daily for years. In fact, since I charge at home and at work, I am generally charging twice daily. So I do a lot of charging, which increases the possibility of a failure, even if it is a small one.

Lets skip to the good part first:
Here is the light-duty timer I use. It costs a whole US$9.99 on Amazon. I have several scattered around at my home, my office and in a couple of garages.

With that out of the way, I’ll spend the rest of my time telling you how to go about using it.

What Kind Of Failure?

I have had chargers fail to stop at the target voltage on three separate occasions: They kept on charging. In one case I was using a premium charger with an 80%-charge setting, that was supposed to stop at 55.4v on my 14S/52v pack. A 52v pack is really fully charged at 58.8v. I walked into my garage and saw the charger with its fan merrily humming along; its little red light telling me it was feeding current into my battery… and it was now at 59.5v. Luckily for me it wasn’t enough to cause the battery to combust, which it could have if I hadn’t walked in and reacted appropriately

The second time it happened was almost exactly the same story. Diagnosis worked through with the charger manufacturer determined an internal component failure. They were prompt with warranty replacements, but who is going to warranty my garage?

What About The BMS?

All drama aside, the BMS likely stopped the battery from accepting the current from the charger at 59.5v. This second layer of safety prevented disaster.

Whats a BMS? There is a layer of protection inside the battery. Ebike batteries typically have a Battery Management System inside that is supposed to stop accepting current if an overcharge is in progress. But if you read the headlines, you already know those can fail too.

As part of my solution to this problem, I started using chargers made for outdoor commercial and municipal use. These units have Mean Time Between Failure ratings in the hundreds of thousands of hours. They are built to work trouble-free for decades.

That is a whole different story explored here: An Ultra-Reliable Ebike Battery Charger.

Add Another Layer To The Onion

We’re going to address the failure-to-stop risk specifically: Plug a countdown timer into the wall, plug the battery charger into it, and set the timer to physically cut the AC power clean off before the battery even has the chance to reach a 100% state of charge, let alone an overcharge. If everything works correctly, this adds significant safety to routine charging.

Whats a Countdown Timer?

Think of a kitchen timer. You want something to cook for 10 minutes, so you set your timer to ’10’ and when 10 minutes expires, you hear the timer going off with a bell. If you have an oven with a cooking timer, it will also shut the oven off.

So What?

Thats what we’ve got here: An oven timer that plugs into the wall, and instead of going ‘Ding’, cuts the power from the wall socket to the charger when time runs out.

What that will do is stop a charger from even enjoying the possibility of failing and overcharging your battery. So we will be gaining two things: First, we’ll be making it more difficult for the charge process to induce a battery to combust. Second, we will be creating a way to charge the battery to a less-than-100% level, which will lengthen its lifespan.

Extending Battery Life

This second benefit is optional, but makes sense to take advantage of if you can. If this is a new topic for you, here is a good explanation of the plusses and minuses of the practice. I have cue’d it up a couple minutes in to skip the technical portion of the explanation.

How Do We Set The Timer?

You may have to go on a short fact-finding mission. You need to know how much voltage your charger puts into your battery in a given time period. You need to either have a charger that displays the current voltage level, or an ebike display on your handlebars that shows current battery voltage (i.e. the display shows something like “46.2” volts instead of showing five bars in a pictograph, which is functionally almost useless, but not uncommon). If you don’t have a voltage display, you will want to fudge one.

Two DIY ways to do this

  1. Use a Multimeter/Voltmeter and take a reading off of your battery leads
  2. Use A Watt/Voltage Meter and plug it inline to your charge plug or cord

I describe the Watt/Voltage Meter in a fair bit of detail in the ultra-reliable ebike battery charger article, so I will, for now, just link you to it and let you take it from there. You can use that information, along with the separate instructions on how to make dependable crimp connections, to put together an inline meter fairly simply. Additionally, you may be able to come across a meter that just plugs straight into your battery.

When we get into the description of doing a robust DIY timer, one of the optional ways to do it will let you directly attach an inline meter.

We’ll discuss an inline meter as seen above, when we describe a custom timer build in a separate article.

You could also use a multimeter, or voltmeter. Those are pretty simple devices you can get for cheap online, or in your local hardware store. You don’t have to spend a lot of money to get one much more accurate than the typically marginal accuracy of ebike displays and watt meters.

Here is a cheap multimeter (US$9.99 at time of publication) that will do the job. I am linking it here chiefly because it has an instruction manual written in understandable English.

For about US$35, you can get hold of a much higher quality product. This unit has a neat feature where the leads you need to plug into for a given job are lit up with little LED guide lights so you can’t screw that part up.

Since I do a fair bit of hobby work around electrical things, I use this slightly fancier model, that runs about US$60. Its a little more accurate, and has a couple of added bells and whistles. Using it I found my voltage display on my Bullitt hill climber was consistently 0.5v lower than the actual battery voltage.

Find Volts-Added-Per-Hour

Now that we have a method of determining battery voltage, lets figure out how much our charger adds in an hour.

I plugged my multimeter’s leads into my battery charge plug. I get a reading of 55.8v. Thats my starting point. I plug in the charger and set an alarm to come back in one hour. My alarm goes off and I hustle back to the bike to take another voltage reading.

57.2-55.8 = 1.4. My charger puts in an additional 1.4 volts into the battery per hour. It is not such a bad idea to run the battery back down and test it again. Go for a third time on general principles. See if you come up with the same number or maybe you want to average three slightly different numbers.

A Worthwhile Detail To Note:
Ebike battery chargers use a method commonly referred to as “smart charging”. Technically speaking, this is what is known as “CC+CV Modes”, where the Constant Current mode pumps power into the battery at the charger’s full current level (usually something like 2 amps). But when the charge starts approaching the voltage limit the charger is set to reach, it switches to Constant Voltage, which slowly ramps down the current being fed into a battery until it gently stops at the final target voltage.

So, bearing in mind the above, we don’t want to be measuring the rate of volts-added-per-hour when we are up near the top of the battery’s capacity, because we will be measuring when the charger is in a ‘slowing-down’ mode.

Now What?

Well, in the above example, if my battery is at 55.8v, and I want to charge it to 100%, I now have an idea how long it should take to fill it up. My 52v battery is fully charged at 58.8v. So 58.8-55.8 = 3. I need three volts. My charger charges at 1.4v per hour … and I know CV mode will slow the charge rate down near the top.

I could be conservative and just set it for two hours, knowing 2.8v is close enough to 3v, and its safer to come up to a bit less than 100%. Or if I need that 100%, I can set it to 3 hours. That is too much time, but not by much thanks to the CV mode slowdown at the end.

In practice, this is a lot more thought than you will need to put into the process on a routine basis. What you’ll be doing is ballparking what you set the timer to, and even if you go over or under by a bit, if you do your part on the math it will not be enough variance to matter if Something Bad happens.

And if you use the timing method to cut power off at a lesser charge state of, say, 80%… you can routinely be off a bit and instead of risking a problem, you’ll end up with maybe an 83% charge. Or 78%. Not enough to matter on most rides.

Myself personally this is exactly how I ballpark my charges with my timer: I don’t worry about getting anything exact and I shoot for 80%-ish.

We Are Ready To Use A Timer

So we’ve done all of our homework. Its time to plug in a timer. What timer should we use? I personally prefer mechanical timers. The old-school spring-wound kind that are immune to weirdness like power interruptions. The kind that are not programmable and are thus not subject to programming mistakes. The kind that need a positive action to set, and are not so susceptible to a little oops like pushing the 4 hour button instead of the 2-hour button. Also a mechanical timer is more granular in how you set it. If you want an extra 10 minutes on today’s charge you just turn the dial another click or two.

Here’s the timer I have been using. Amazon tells me I have bought five of them over several years.

Picture taken at my professional photo studio (i.e. on my garage floor)

Its a whopping US$9.99 at the time I am writing this. I have been using them for years and they work easily and effectively. Is this a robust solution? No it isn’t. Its just a super cheap little timer. Folks on the internet have taken theirs apart and reported the mechanism inside is not very sturdy. In recent weeks I have found my main one at my home is feeling a little worn out when I turn the dial.

BUT its one hell of a lot better than nothing. And if its this or nothing, spend the ten bucks, get this and hopefully you will be a little safer for having it.

If instead you want to try and do this job with something a little better made, then read Part 2 (coming later in September 2023), where I

Build a Heavy Duty Countdown Timer

BBSHD Programming For The Pedaling Cyclist (2023 Update)

After a few years of incremental refinements, lets re-visit BBSHD programming for pedal assist settings that give you a workout, and are also gentle to the drivetrain.

After A Lot Of Tinkering…

I have written in years past about efforts to develop BBSHD settings idealized for cyclists who want to pedal, and even get a workout. I’ve followed up with revisions here and there as I continued to poke at things.

Things have progressed to the point it is worthwhile to revisit this subject, supplement the original article and share what I think is some progress.

What is here was originally part of my Bullitt hill climber build series, mixed in with stuff about that bike. After a while it became clear I needed a dedicated post, where these settings aren’t buried inside something else so nobody knows they exist.

So. Here we are.


The screenshots below are taken from the widely-used, open source Bafang Configuration Tool originated by Stefan Penov. His software (still perfectly usable) can be downloaded here. My screenshots use Version 2.2b, which was taken up by Laurent V. His later version can be found here. I only use it for screen shots.

To do the actual work, I have long owned a Black Box from Lunacycle which has served me very well. In more recent times I have purchased a cheap ‘programming’ cable, a USB-C adapter and use the Speeed app on my Android phone. This lets me stash the cable on the bike somewhere so I can adjust the BBSHD whenever needed.


There are no perfect BBSHD settings for everyone. I am just showing you mine. Hopefully you will see something useful for your own journey. These are my goals:

GOAL 1: (COMPLETELY) Eliminate Excess Drivetrain Wear

On the internet you hear stories about how a powerful mid drive tears up your drivetrain. It doesn’t have to be this way. When I see reports like this I know someone did something wrong.

In separate articles I make the case that on the one hand, a builder needs to use the right components for the bike to work right:

How to Build A Mid Drive Ebike That Doesn’t Break

On the other hand, making it work right long-term is also a function of the cyclist following a few simple rules.

How To Ride A Mid Drive Ebike Without Breaking It

But on the gripping hand, the third essential ingredient for a 100% reliable BBSHD-powered ebike is to adjust motor settings so it doesn’t behave anything like it did when it came from the factory.

Many of the settings described below are exclusive to Goal 1.

GOAL 2: Set Pedal Assist So The Bike Won’t Run Away From You

A cyclist wants to get a workout while riding. This is difficult with a stock BBSHD, because factory-set pedal assist is so powerful. We want PAS to not overpower us … but preserve the option to do that if we want to take a break.

Goal 3: Easily Shift The Power Curve Up or Down Without Screwing Everything Else Up

This entire settings package – taken together – makes for a refined system. We’ll see how you can easily increase or decrease PAS power output levels across its entire scale, so all of that fine tuning stays in place.

Got all that? Here we go, then.

Fraternal Twins

In line with Goal 3, we will look at two configurations that provide very different levels of pedal-assist power.

One is a low-power setup – developed for use mostly on flat land – for high-cadence, high speed cruising. This setup gives a max sustained output of 400-450 watts on Pedal Assist Setting #9. That is not a lot considering I am using a 30a BBSHD on a 52v battery. With that much power behind it, a BBSHD can easily hold 1750 watts. This is a significant reduction with big implications to range and running the motor well below its redline.

We’re limiting PAS power, not throttle power. If you want to put down 1500w to the ground, use your thumb. Current Limit on the Basic Screen is usually the tool for limiting power output, but that cuts everything across the board. We won’t do that.

I said this config was developed for flat land, but it works on hills if you have the right gears. My Apostate uses this setup and it is a light, short-wheelbase mountain bike with a 40T front ring and an 11-46T cluster.

Small and nimble with a pie plate rear cluster, The 26″ Apostate (a rescued 1999 Intense Tracer) doesn’t need big PAS power.

The other configuration is a high-output setup made for high-cadence, slow-speed riding up the steepest of hills. Its maximum sustained PAS output is in the 950-1000 watt range. This config also works great when you are on flat land: just stay down at PAS 1 or PAS 2. Save the big settings for a rainy day (not literally :D). I use this on my hill-climber Bullitt.

You don’t have to use the high output config on an alpine cargo bike, but it certainly works well with one.

Here’s The Rub

These two configurations are arrived at by changing only one setting. Otherwise they are the same. We’ll talk about the one change at the end.

The Throttle Screen

Start And End Voltage

I am using a commonly-known enhanced range of 11 and 42 (standard factory setting is 11 and 35). This wider range makes it easy to smoothly modulate power in small increments (as low as 50 watts based on what my displays tell me). It eliminates the jerky on/off switch that is usually a BBSHD throttle.

Designated Assist Level

By setting this to 9, we tell the controller to treat throttle peak output as if we are on PAS9. Skipping ahead a little, that setting is unlimited at 100% for speed and current limits, so the throttle has access to full motor power. If you are setting a bike up for your 4-year-old, or Grandma, maybe don’t do that.

(Throttle) Start Current

Start Current for the throttle is reduced to 2%, which is really low. The throttle starts laying on power very gently. You hear a lot about how Bafang motors bang and jerk on the chain. 2% on throttle Start Current ends that. If you find 2% is too gentle, try 5%.

The Basic Screen

What I did with the Speed Limit percentages was simply start at 100% on Level 9, and work my way back in 5% increments down to Level 1. Doesn’t look very scientific, does it?

Some people are looking for Speed and Current Limit settings to give them exactly X output at Y setting based on Z input. My take on this: attempts at precision are wasted effort. These settings are ranges with somewhat fluid boundaries, and will not yield hard limits.

For example: the Speed Limit percentage value is not the percentage of your ground speed. Its of motor speed. As in the percentage of max motor rpms. And those max motor rpms are affected by battery voltage, which is on a curve as the battery runs down.

Thus you see basic increments in my various Limit settings: Over time I have decided these increments give me enough change in performance from one to the next to make them worthwhile, while at the same time not emasculating the low PAS settings with limits too small to be useful.

Lots of room here for changes based on personal preference.

The Assist 0 limits of 1 and 1 are there to preserve the normal function of throttle when you set the screen to Level 0, which disables Pedal Assist. This lets you pedal with no motor support without turning the motor off. Throttle remains available in case of an unexpected need.

The Pedal Assist Screen

This is where the magic happens (click an image to enlarge).

ABOVE LEFT: the high power config. RIGHT: The low-power config. Only Current Decay and Keep Current are changed, and changing Keep Current is not necessary.

NOTE: The screen shots above have a graph that does a decent job of trying to explain how the settings interact and affect performance. Want to know what all these settings do? Look at the graph.

Start Current

Set very low at 2% for the same reason it is at 2% on the throttle screen: kinder/gentler initial engagement (5% is a good Plan B).

Slow Start Mode

Set as gentle as is known safe for the BBSHD controller. Lower numbers here = slower starting and 3 gives me the gentlest motor-safe slope to that curve.

Start Degree Signal

Set to a fairly prompt 4. The problem to solve: starting from a stop at an intersection, while on a steep hill. Specifying a lower number of signals before the motor kicks in makes it start up sooner. Start Current and Slow-Start Mode also figure into this equation so this relatively fast engagement doesn’t cause any drivetrain strain.

Stop Delay

Remains as small as is safely possible to preserve the motor controller. Setting it low like this means when you stop pedaling, the motor stops promptly.

HILL MODE: Current Decay Set To 8

This is the one setting that causes the big changes.

In conjunction with the other settings/screens as shown, changing ONLY Current Decay changes the maximum sustained output of the motor while on pedal assist. A setting of 8 gives maximum output to the drivetrain. Current Decay acts, effectively, as a volume control that goes from 1 to 8.

If it is set to the maximum of 8, Current Decay is minimized almost to the point of eliminating it entirely. This makes sense when riding in steep hills.

Setting Current Decay to a low number to increase its effect makes sense on flat ground. You need less power to maintain cruising speed. But in a granny gear, pedaling like mad and crawling up a steep hill? The last thing you need is for the motor to cut back power. So for hills we set it to 8.

As such, when grinding up a hill at 60+ rpm cadence, and 4-9 mph (7-15 km/h) the motor stays consistently strong.


I said earlier setting Current Decay to 8 almost eliminates its effect. Here’s what that means: As you slowly honk your way up a slope, you get strong, consistent power assist. As you crest the hill and transition to flatter ground, or the hill decreases in slope for a segment, typically you stay in the same gear and spin the crankarms faster (before you think to upshift to a smaller rear cog). That is when Current Decay eases back in again. As you start spinning and speed increases the motor will back off the power.

This will also happen if you just upshift on flat ground and start pedaling furiously. Part of this effect may be due to the low gear you are in and the upper rpm limit of the motor. Since Bafang documents nothing and we are left to guess at everything, its hard to say. But I like it this way as it gives a more natural pedal assist behavior.

FLAT MODE: Current Decay Set To 2

We have taken the same configuration and done nothing more than just turn the volume down.

With the “volume turned down”, pedal assist is still pretty strong at slower speeds with low cadence… exactly what you’d expect coming off a dead stop. But its not so fast you are giggling and leaving people in the dust. You’re starting off only a bit faster than a normal bicycle.

Want more power off the line? Let the throttle help. Don’t do it from a dead stop because thats what kills drivetrains. Give yourself a pedal revolution or two before hitting the juice for, say, 2 seconds.

You’ll know for sure Current Decay is limiting power when you look down on PAS 9 at full speed and see only 400w and maybe 6 or 7 amps on your display.

Stop Decay

This setting is at zero. Once the motor’s assist shutdown is initiated, this setting dictates the slope of the shutdown curve.

I ran some experiments recently as part of an internet discussion. A suggested setting of a whopping 1100 ms (i.e. set it to 110) produced nothing negative. The cutoff happened so fast I couldn’t argue it hurt anything, and I tried to create a problem. It was still a shutdown that happened so fast I couldn’t find a way to screw up.

Keep Current

This is the second of two changed settings, but it is just personal preference, and not necessary to make the big change that Current Decay provides.

I like a strong current reduction when Current Decay kicks in. I have found at high cadence I like the motor to let me work harder than it does with 40% assist. So I kick Keep Current down, get a little more exercise and claw back some efficiency in the process.

(Not) The End

As noted above, there is no ideal suite of settings for any BBSHD. There are also different ways to try and get the same end result (witness how many leave all Speed Limit % settings at 100). I think doing it this way is simpler, and preserves desirable nuances in motor behavior, rather than just zero’ing them out.

Larry vs Harry Bullitt Hill Hauler, Back-to-Front Part 4

Lets end this story by covering the contents of the hidden boxes, the front wheel, the front motor, and finish off a few leftovers.

Bullit II Build Series
Part 1
Part 2
Part 3
Part 4 (You Are Here)

Lets Wrap This All Up

We can start with the battery and onboard charger, the cargo box liner and bits of interest, and finally the exciting details around the front motor and wheel.

The Custom Battery

This is a 2wd bike that sees heavy use, occasionally over long distances. The 2wd alone means I want a more serious battery; never mind the cargo bike part, and the long distances. And the steep hills. Part of the reason going big is less of an issue is I know I will never have to carry the battery anywhere. Its secreted permanently out of sight, under the bolted-down cargo bay floor.

I contacted Matt Bzura at bicyclemotorworks.com (who has built several batteries for me, including the custom 32ah pack powering the Lizzard King). I told him I needed a pack whose size fits between the crossbars of a Bullitt, and was not so deep it would interfere with the steering rod – it had to sit above it. Here’s what the specs for the pack came out to be:

Size ConstraintsNo larger than 13.5″ x 3.125″ x 8″
(343mm x 80mm x 203mm)
CellsSamsung 50S (21700’s)
Pack Config14S7P (52v)
BMS Capacity100a continuous output
Amp Hours35
Output CableFemale XT90S / 8 ga
Charge CableFemale XT60 / 12 ga

Whats with the 100a battery management system? Peak output on the controllers of both motors is 25 and 30 amps, so the bike has an on-paper peak of ‘only’ 55 amps. A 70a BMS could handle that with fudge to spare. Unfortunately only 100a units were in stock. Rather than deal with the uncertainty of waiting on parts that may or may not arrive in a timely manner, I went with what was in stock.

Figures 1-4: Pics from an early test fit. The padding is 1/2″ MinicelT-600 closed cell foam, left over from the Lizzard King build. Its strong enough to lock the pack firmly into a box it only barely fits into (by design).

The thing to emphasize with this pack versus the Lizzard King’s is its increased capacity and decreased size (plus it was about the same cost). It may seem the ebike battery marketplace is stagnant in terms of technology, but there are incremental improvements going on and this is a good illustration of that.

The Onboard Charger

I have done onboard chargers on other bikes. Most notably 2Fat’s monstrous 8-amp, 480w fast charger for fast refills, or the more practical 320w, 5-amp charger on The Great Pumpkin. The 35ah pack on the Bullitt can easily take 8-amp charge current, but that is still a lot of juice, and would make for a very hot charger sitting inside of an enclosed aluminum box.

Those big chargers are special animals suited for a use case where a fast, closely-supervised charge is desirable. I ordinarily prefer to charge at low current levels. As low as 0.50 amps in fact (yes: half of one amp). Low amp charging is easier on the battery and safer in general. If you have the time to let the charger trickle power in at a rate of only 20-30w, its the best option.

Additionally, since the charger will be bolted under the floor, its not adjustable for current simply because I can’t get to it.

I decided on using the 185w Mean Well HLG-185H-54A. It can be set to a 100%, 58.8v charge at 3 amps current, which is still well under its 185w capacity (58.8v x 3.0a = 176.4w). 3 amps is still a fast charge by my routine-daily standards, and when running at 3a, this model of charger stays relatively cool.

Figures 5-6: More early test fitment showing the battery, controller (small silver box) and charger. Much neater looking when you don’t have to have the wiring all perfectly situated (and connected).

I lined the underside of the charger with thermal transfer tape before I stuck it – and bolted it – to the side of the front box. So the whole box acts as a heat sink during the charging process. Next, I ran the mains power cord back to my frame bag, where it has about an extra 0.75-meter length to reach a power outlet. Thats fine for use in my garage, but I carry a 4.6 meter (15-foot) flat extension cord in my frame bag in case I more reach at a public outlet.

The charger is permanently connected to the battery under the floor via an XT60 connection and 12 ga wires. I also Y-split the charge connection to another XT60 plug that is in my frame bag. This lets me charge the battery with an external charger – Occasionally I may want to do a precise balance charge with my Cycle Satiator.

Having a built-in charger is not a necessity, but it is a nice luxury that lets you just plug in anywhere, like you would any electrical appliance.

The Front Motor Controller

Just like for the Lizzard King, I used a 25a peak KT controller wired up for waterproof HIGO/Julet connections. I particularly like KT controllers for their relatively sophisticated pedal assist algorithm, which is not a laggy on/off algorithm. Instead it ramps power on gradually but firmly when there is a combination of low cadence rpms and slow wheel speed, and pares it back as cadence and wheel speed increases.

Figure 7: What the finished product looked like just before the floor was bolted on. The need to use extension cables of a fixed length from the controller to both the front wheel and handlebars meant I had a lot of excess cable wrapped in the front box. The need to split both battery output and charger input meant there was plenty of cabling to route in the battery box as well.

The Cargo Box Liner

The Lizzard King was lined with 1/2″ thick Minicel-T600 closed-cell EVA foam. This highly durable, very-dense foam – even at such a minimal thickness – is enough to allow a person to sit comfortably in the cargo box. After two years of use, my original liner still looks new, So I wanted to use the same material. This time, I wanted to use thinner foam. The thickness I originally used reduces the cargo area noticeably, I don’t need to carry passengers, and its overkill if all I need to do is prevent things from rattling around in the cargo box. This time I went material half as thick as last time at 1/4″.

Thankfully, sitting in a corner of my desk I still had my highly precise original blueprint used in making my original for the Lizzard King. I took that, a ruler, a Sharpie marker, some heavy duty shears and, one snip at a time, shaped and fitted the new cargo liner. The thinner material is just as good at deadening the sound of cargo items bouncing around in the box, and does just as good of a job concealing the floor (and the battery under it).

The Front Wheel

This is exactly the same wheel as was documented fully on the Lizzard King build. By the time 2022 rolled around, that wheel was a spare used for a winter tire, so when the hill climber came along I just popped it on and didn’t have to pay for an extra motor or wheel.

The 2.40″ Minion DHF is a serious BMX knobby tire, necessary thanks to drifting sand on the bike paths that can get pretty deep. Street tires like the Schwalbe Pickup or even the Maxxis Creepy Crawler have washed out on me. Not the Minion.

Since this hill climber is now my primary bike, and it needs a beefy front knobby offroad tire, I will swap over the wider wheel on my Lizzard King in the very near future. Since that wheel wasn’t discussed in the first Bullitt build series I’ll go over it now.

Why a New Wheel?

In the time since the Lizzard King was built, I took apart my spare AliExpress-sourced front wheel, kept the motor and chucked the rest. Then I built a new wheel using that same motor, Sapim Strong spokes, brass nipples and a portly (not fat) Stranger Crux XL rim.

If I already had a working wheel, why go to the expense of making a new one?

The donor wheel was part of an AliExpress kit. I bought it because of a months-long lead time to get a proper wheel built (this was during the worst of the COVID parts shortages). On general principles, I wouldn’t expect such a wheel to be of top quality and, while it worked fine for the months I used it, it was very, very narrow. Somewhere in the ballpark of 12mm internal width. I could get my preferred 2.40″ Super Moto X tire on it, surprisingly. Even more surprisingly the tire worked fine. But still, it was way out of spec and far from ideal.

I eventually got the Alienation Blacksheep-rimmed wheel built, and it has an internal width of 27mm. Thats sufficient – and that BMX rim is extremely strong – but it was still a little narrow (on paper at least) for the 2.40″ tire. So I did a lot of looking around and eventually found the Stranger Crux XL, which seemed to be the widest (42mm), strong double-walled rim that wasn’t actually a fat bike rim. The Crux XL is advertised as being optimized for use with 20×2.4″ tires, which is exactly what I was looking for.

Front Motor

Just like last time on the Lizzard King, this is another Bafang G020 48v/500w geared hub motor. It is rated for 45 Nm and is set up to complement the mid drive motor that powers the back wheel. Its not meant to provide a higher top speed. Instead it essentially gets the bike going off the line so the mid drive is not tearing at the chain from a dead stop. This team approach eliminates any accelerated wear and tear on the drivetrain. An in depth discussion of the ideas behind this is here.

One added benefit for this hill-climber is the added traction that comes from power to both wheels. I still dial down assist so I get a good workout, but neither motor works itself to death grinding up an intense hill since its part of a team.

Front Motor Settings

Even though I used the same motor, controller PAS sensor etc. as I did on the Lizzard King, some settings were changed. A couple of these are personal preference changes. A couple more are object lessons in being ready to cope with unexpected weirdness when building an ebike. The changed settings are in red below.

P Settings

P1 = 100
P2 = 6
P3 = 1
P4 = 0
P5 =20

C Settings

C1 =05
C2 = 0
C3 = 1
C4 = 3
C5 =00
C6 =3
C7 = 1

C8 = 0
C9 = 0
C10 = n
C11 = 0
C12 =7
C13 = 0
C14 =3

P5 – Battery Capacity

For no good reason, the auto-sensing feature does not work on the KT-LCD4 display. So I had to guess at a setting that works. Since this is just a visual graph on the screen and I actually use the numeric voltage gauge, getting this precisely right is not a priority for me.

C1 – PAS Sensor Configuration

Here again, for no good reason this controller refused to allow the PAS sensor to work on the setting it should (on both the KT-LCD3 and LCD4 displays). Having reversed the sensor in its mounting ring, it is running in the proper forward direction, so C1=00 (standard forward 6 sensor) should work fine. When it didn’t, I ran thru all of the possible settings and found I could use the reverse-direction setting. Why? No idea. Reverse worked so took the win and moved on.

C12 – Battery Low Voltage Cutoff

For safety, I wanted to kick this number up by the max available 1.5v. With such a big battery in place, I’ll never get down this far anyway.

C14 – Pedal Assist Increment Strength

It is now set to the max. That means the strength of additional assist from, level 1 to Level 2 is “more” than it would have been in the General (normal) setting. How much more? That is undocumented. This gives me a little more pedal assist in each setting as I ramp up from 1 to 5. As it is 3 is my typical limit on a steep hill. I do not want to put that much strain on the fork dropouts. So this is just a personal tuning decision.

The Front Fender

A fender…. So what? The reason I bring it up is because so many people have trouble fitting a fender onto Bullitts that have large front tires. In my case, I’m covering a great big BMX tire that measures a full 2.40″. It is covered well enough I don’t get any splash coming up off the front of the wheel, and my cargo bay doesn’t get any water coming in and up off the back.

What I have done is use parts from two different fender solutions. The front portion of the cover is just the front half of an SKS Rowdy 20-24″ front fender. I spaced it away from the frame with a fairly thick M6 spacer, which lets the fender mount clear the fork crown and head tube. It also is just thick enough to let the tonneau fit over the front without fitment problems.

The back portion of the fender is nothing more than a simple flexible MTB mud guard. I just zip tied it, rearward-facing, to the back of the fork. There’s not enough room for it to fully extend but it just flexes up against the floor and frame as you turn the handlebars.


Widening the side panels

This was done exactly as I did it on the Lizzard King. The original writeup lists all the parts needed. I even used the same spacers and washers since I originally had to buy everything in bags of 10, and still had the leftovers on the shelf.

Something I didn’t mention in the original writeup is I stuffed in a length of silicone hose into the front gap created by the now-wider side panels. This hose plugs the now-open slot that lets dust flow into the cargo bay from the road. The hose is slit lengthwise to give it a little more flex when you stuff it down into this snug channel.

LED COB lights

This is another idea first used on the Lizzard King, which I improved a bit when I did it again here. This time around, I used a higher-temperature color to better mesh with the white paint the lights reflect off of.

These lights also came with built in dimmer switches, which I affixed to the front of the cargo wall with some mastik tape. I don’t use the dimmers but the on/off switches are handy.

Power is run back to the frame bag via USB extension cables that are run along the side of the cargo floor, under the foam cargo box liner. They connect to a USB power bank in the Blackburn frame bag hanging under the frame’s top tube.

The light that reflects off the frame – and the halo of light that shines down on the street around the bike in full darkness – makes for a fantastic enhancement to my visibility to others on the road.

Side Panel Art

You can buy pre-made art from Vorova that fits to pre-cut decals made to fit various parts of the LvH Bullitt. I didn’t use the pre-made art. Instead I jiggered together some shapes in the Vorova configurator to create a sort of lightning bolt look. Since I live on California’s Central Coast, I wanted to add some sort of line art that fit a coastal theme. I found some art I was able to license for free thanks to a 30-day trial of the image service, added it to the sample in the configurator and job done.

Hardshell Panniers

Panniers? Aw shucks lets call a spade a spade… These are office wastebaskets just like the ones I did last time. Being the second time I made a set, I was able to learn a bit and improve upon my previous effort.

  1. I bolted both nested cans together this time. Being able to pull out the inside can to easily carry in your stuff inside sounds great, but its not necessary. All you need is a drawstring laundry bag inside the can – just like a trash can liner. When you get home, just pick up the bag and take it inside. I still want the double-thick trash cans for sturdiness, but maybe this can be done without if weight is a concern.
  2. No more vinyl waterproof cover. In practice, this was just too much bother. If it rains, then yeah sure bring some along and cover the can with it as shown in the build article on making the panniers. In practice, the laundry bags provided plenty of retention when you use the drawstring to cinch them up. As a fail-safe, I also added a small elastic cargo net over the top of each can. You save money not buying the vinyl covering, but spend about as much as you saved buying the laundry bags and cargo nets.

The End …

Thats pretty much it for the bit-by-bit description of this bike. Its not the most exciting build, and certainly not a thriller as write-ups go. But with any luck you found something useful described here. Or if nothing else, now you have a list of things you definitely don’t want to do 🙂

Larry vs Harry Bullitt Hill Hauler, Back-to-Front Part 3

In this installment we’ll spend all of our time looking at the battery box and the separate controller/charger box that are both hiding under the cargo floor.

Bullit II Build Series
Part 1
Part 2
Part 3 (you are here)
Part 4

This Is The Big One…

Crawling thru the bike starting from the back of the rear rack, we’ve worked our way forward to the cargo box area. This is where all the real work – and all the ‘oops’ and ‘uh-oh’ – happened. I will mostly skip the wrong turns and instead focus on what worked.

Because so much went into doing the basement, and it was a primary objective in this build, this post will be focused there and be talking about just the floor, and boxes underneath it.

The Main Bullitt v2.0 Objective?

Hide the damn battery box. Thats it in one sentence. Lets look at what we did last time. Here is the v1.0 battery box on the Lizzard King.

Figure 1: In case you miss it, the arrows show the battery box on the Lizzard King

I say “in case you miss it” above only half kidding. A lot of people do miss it. Maybe they see it and mistake it for a deeper cargo area. It isn’t. It is beneath the floor, hangs under the frame and holds a heavily padded, large battery.

People often make the mistake of thinking it will scrape the ground. It doesn’t. In fact its never touched anything in more than two years of service. But… the bike would look cleaner without it.

Here is what it looked like inside a couple of years ago when I bolted it shut for the last time.

Figure 2: If you want to see more on this bike, with all the details of the battery and whatnot, the whole build process was documented here.

Worth noting: Before I did that final bolting-up, I had already checked after a few months of wet and dry riding. No water or crud was making it inside.

Lets skip to the end and see the result:

Figure 3: No battery box??

The battery box is there, but this time you can’t see it. In fact, it holds an even bigger capacity battery this time (it is physically smaller. We’ll get to that later).

There isn’t just one box. There are two. The one in the back holds the battery. The one in the front holds the front motor controller and a weatherproof onboard charger. I plug the bike straight into mains power.

It came out great. It was a bitch getting it there, and I didn’t know if my underlying idea would work until well into the project. If I ever do a Verson 3.0, it will be a by-the-numbers assembly. But I plan this bike to last my lifetime and have no desire to try again. You, on the other hand, are free to do your own and not make my mistakes. So lets begin.

The Box(es)

Lacking machinery, materials and fabrication skills up to this task, I took a tape measure, did some measuring on the Lizzard King (my new frame was still in transit) and started some research. Then I got on the internet looking for made-to-order, simple metal work. I found metalscut4u.com after some googling. They had an online project configurator. I ended up using it to quickly draw up what I needed and placed a work order.

Are they the best choice (especially versus a local machine shop)? I don’t know, but they were the best option I could find, even if the project was a bit pricey. They shipped promptly and the product was exactly to my measurements.

I didn’t order actual boxes. Instead I used what are described as ‘hat channels’: a single sheet of aluminum, with 90-degree bends in a sort of inverted hat shape that is open on two sides. It was a simpler and cheaper job. My thinking was some special needs to fit the Bullitt frame would make it easier to adapt a hat channel into a quasi-box, with extra-thin, short sides I’d put in myself.


Figure 4: Length and width as-received. The creepy selfie at left is a bonus.

Since the shop and I are both in the USA, the order process used Imperialist measurements. The hats are 8″ x 15″, with the hat ‘brim’ – the wings that support the box hanging on the frame – at 1″. These measurements are internal, and this matters because the alloy is 1/8″ thick, so outer dimensions are a bit wider as a result. Its the outer dimensions that decide whether the box fits inside the frame.

How deep are they? Its been so long since I did the actual work (8 months as I write this), I don’t quite remember. Roughly 3.5 inches? Don’t pay attention to that as you will need to measure your own battery, and figure out what a second measurement will be in the following next step. Those two taken together, and factoring in your steering arm placement, will decide box depth.

With all the talk about inside and outside measurements, lets touch on the box thickness. On the Lizzard King, that box was purchased as-is, and it uses alloy that is probably 1/16″ thick. Its thin, lightweight and sturdy enough, but not enough to be confident of it withstanding impacts. Thankfully it never has hit anything.

Since I was using a 3rd party metal working service, I had to take what I could get in terms of the thinnest alloy they offered, which was 1/8″. That is twice as thick, and twice as heavy. But its alloy so not that much weight, really. The thick walls make for a lot of strength. Having boxes with both thick and thin material, I’m a lot happier with the thick stuff.

Put The Sides On

I already had a long strip of 2″ aluminum, 90-degree angle bar stock in very thin 1/16″ size (sorry again for the units but to be precise I’m describing it exactly as-sold). I also had a good supply of Shoe Goo, which is a super-strong adhesive that permanently, totally bonds almost anything to almost anything else.

The idea was to cut a precise strip that covers the outside width of the hat. Glue it to the hat both from the underside, and along the vertical edge, which has 1/8″ inch of full edge contact, plus a bead running up along the inside vertical edge. This forms a bond that may as well be welded on.

Attaching the angle stock with glue from the outside preserves the unbroken box surface, and leaves the inside perfectly smooth. It can’t leak if there aren’t any holes. There are no wear points to rub on, like a bolt head or rivet, if there aren’t any. Plus… every millimeter counts when it comes to vertical space. Bolt/rivet-free attachment from the outside reduces internal vertical space by exactly zero.

Figure 5: The rear-most box. I used too much adhesive on the right piece. Not an issue. I goofed and primer’d the hat too soon. That had to be done over after the couple of weeks it took for the adhesive to fully cure.

If you enlarge Figure 5, you can see the underside portion of the side pieces are filed shorter. This keeps them from extending past the curved, bent bottom: No edge to catch on.

Figure 6: Quickee test fit with the sides on the rear hat – now its a box. The shorter height of the sides allow cable egress/ingress.

So much for the back box. The front one is more complicated: The Bullitt has mounts for the side panels in that forward space. You can’t just drop a box into it. This is a big part of why I used ‘hats’ instead of boxes: The need to hand-fit this part. Figure 8 below shows the job fully done.

To clear the side panel mounts, I marked the hat with circles matching the position and outside diameter of the side panel fittings. Next I took an angle grinder and sliced into the marked area in a very rough arc marked on the hat, taking off (hacking) material close to but not crossing the marked line.

From there, the arc was smoothed by hand with half-round metal files. After a fair amount of filing, test fitting and filing some more, I had enough material removed to fit snugly into the frame.

Figure 7: Those pesky round side panel mounts. And a drilled spacer (at bottom)

In Figure 7 above, note the box is shorter than the frame width, and is pushed all the way to the left. The idea was to use that gap for running cables in what will eventually become a deep channel.

After the holes were complete, the next step was to cut shorter side plates that accommodate the side panel mounts. It was important to give the adhesive plenty of time to fully cure, so that was a couple more weeks of down time. Figure 8 below shows the boxes ready for primer.

Primer and paint

Figure 8: Not so sloppy this time with the adhesive. Holes match the Bullitt’s crossbars and will be enlarged later

The next step was to primer both now-completed pieces. Both were roughed up considerably with a random orbital power sander for better primer adhesion.

Figure 9: Primer coat complete. Its thick enough that the box surfaces are now smooth

I spent some time deciding whether to paint the boxes gloss white to match the frame, or a stealthy black. The latter won out and, after a week or so to let the primer cure, I rattle-canned on a couple of coats of satin black automobile engine paint

Other Parts Of The Equation

Referring back to Figure 2, you can see the Lizzard King’s 32ah battery was so big it would have never fit between the frame crossbars. It had to be slung underneath. That was battery cell reality in 2021. Further, because of the Bullitt’s steering arm, the underslung box could not be very wide to let the arm move while steering the bike. Thus you see a battery mounted lengthwise, on a narrower box whose drive-side edge is diagonal and not squared.

This version has to be shallow to fit above the steering arm. That lets you use the full width of the frame space. But it creates a box not deep enough to fit a battery under the floor.

Unless you raise the floor. Thats the key idea – and its not just my own. I’ve since seen other Bullitts where the same thing is done.

The Bullitt’s factory honeycomb floor sits below the top of the frame rails. So we can raise it higher. That increases the effective depth of the box. But the honeycomb floor is quite thick. Millimeters count. The dibond floor sold by Velution is very thin, strong and lightweight so I used that and gained more space.

How Do We Raise The Floor?

That is a fiddly little job to get right. The box lips themselves will raise things up 1/8 of an inch. But where the two overlap between them, its double that height. To even out the rise on all three crossbars, I used a 1/8″ drilled alloy strip. You can see one at the bottom of Figure 7. One goes on the front and the other on the back.

But thats still not enough for the floor to clear the battery. Wood strips cut, drilled and treated against weather were the lightweight answer. I used Home Depot to source those.

Is It Going To Fit?

Before I got to painting the box or affixing the sides to the hats, I had to do a test fit to prove the concept. I dropped in the hats, plunked in the battery, taped on the spacers and…

Figure 10: It fits! (mostly). Dang this is going to work.

It Fits. Now What?

After the test fit, knowing it was very close out of the gate, it was time to do it for real. That involved a whole lot more effort.

Cable management

This is a task a good builder never takes lightly, and can be a nightmare on a 2wd system. Mix in the length of cable runs required by a Bullitt frame and it was a lot of tedious work. I bought a stack of HIGO cable extensions in advance, ordering double what I needed. It turned out I used all of them.


To prevent water/sand ingress I used two different types of automobile door insulation – the big rubber seals that run around the edges of car doors. It clamps itself to the tops of the box sides.

Figure 11: At left is the charger AC cord exit. At right, the wood strips, seen treated with an ugly water repellant wood stain. The one on the right is chewed up and only used for testing during the build.

In Figure 11 above, the power input cord for the charger had to exit on the non drive side. I used slit silicone hose to cover the bare (filed smooth) edges of aluminum the cable contacts. You can also see the car door insulation sealing the top of the side edge.

Final Bits and Pieces

Also seen above, the charger is already bolted on. The controller is about to be as well. It and the charger’s undersides were lined with thermal transfer tape, to enhance heat transfer to the thick aluminum box.

You can see in Figures 11 and 12 how the slightly-shorter wood slats, and the offset to one side, creates a channel for cable runs.

Figure 12: Final fitment is complete. Next step is to bolt the floor down. The bolts in the left-most shortie wood slats will be used to bolt the floor down when it goes on.

You’ll have to scroll all the way down this page and look closely to even see this one: The boxes are not level to one another. The forward box (which doesn’t need as much depth) is sitting on top of its 1/8″ alloy spacer strip, and on top of the ear of the rear box. So it sits higher. The rearmost box needs every bit of space it can get, so it sits directly on the frame crossbars.

Battery Fitment

The battery is fixed in place with small bits of super-dense closed cell MinicelT-600 foam.

The battery fits so snugly in the available space that cable routing was difficult. The charger cable was split to two lines – one forward to the charger, another rearward to the top tube bag for an aux charger if needed (like a Cycle Satiator doing an occasional precise balance charge). Battery output also had to be split to each motor, front and rear.

The Wood Spacers

These were bolted directly to the frame, and further clamped by bolting the floor on top of them. Not in the pictures: I used a layer of hard rubber adhesive stripping, 1″ wide, atop the wooden slats. That provided the final bit of extra space to let the floor lay flat without bending it over top of the battery pack.

The short wood spacers at left in Figure 12 are sitting on a layer of that rubber adhesive, with more adhesive squares on top sides for proper leveling. You can also see big, loose zip ties that have not been trimmed yet. Those are cable guide loops for wires – insulated in silicone tubing – that run underneath the floor.


The front box does have two open holes thanks to the frame’s side panel mounts. The charger and front motor controller are both IP65 rated and can only benefit from some ventilation, so this is not an issue.

The Floor Goes On

I planned from the beginning to use extra clamping to the floor. I don’t want to see a giant battery bounce into sight. I added four additional bolts. The foam pads on the Velution floor that cover all frame contact points are already cut to match the frame holes. So I knew where to drill without having to measure.

Figure 13: The floor is on, and staying on. I lined the edges of the floor board with rubber channel liner.

The floor has countersunk holes pre-drilled into it. I wanted to spread out the clamping force, so I used some extra-wide countersunk washers from MacMaster-Carr. I also needed two sizes of extra-long countersunk M6 bolts from the same source.

The Floor Attachment Tweak

I expected that raising the floor had one consequence: The holes would all line up, EXCEPT the two on the forward bulkhead, behind the front wheel. Those would be up high and no longer match the frame crossbar holes.

When I was thinking this issue through, I didn’t yet understand how simple it is to drill thru dibond floor material. What I should have done is just drill two new holes, and plug the factory originals. By the time I realized this, I had already bolted the floor on. To undo that I would have to take it off again. The gymnastics needed to get bolts, washers and nylock nuts together in between those two boxes… No thanks. So I stuck with the original plan.

My first solution involved making two patch plates for a second bolt to fit through the original floor hole (the bottom bolt and patch plate are tightened on before the floor is bolted down).

Figure 14: the patch plates, without backing sleeves/washers. Click to embiggen

A few days later, I realized a spacer block from Velution that I hadn’t used made a nicer substitute for the patch plates.

Figure 15: Neat little brackets. Ugly-ass washer stack

In this picture I just fit the spacer blocks with a stack of washers. Once fit, I measured the space and replaced that stack o’ washers with a single black alloy spacer that bridges the gap precisely and cleanly.

Failed/Discarded Ideas

Plug in the charger via an External panel plug

I bought and still have the C14-type panel-mount plug for this. I’ve seen other Bullitt battery boxes do this, but they are not hidden between the frame rails, so they plug in on the right or left side.

Since my box sides are hidden, I could only put the plug in the back. So I have to get down on my knees every time to plug in the charger. Screw that. Plus I did not want to cut holes in the boxes. You need a hole to have a leak.

Figure 16: I just ran the power cord back to the frame bag. There is about a meter of extra cord, plus I keep a 15-ft (4.6 meter) flat appliance cord in the bag in case I need to reach out further

Interconnect the boxes with a tunnel to pass wiring between them

The sheer size of the battery eliminated this idea. I had a plan… but then the battery arrived. And the hats arrived. And I saw there was no way anything would fit unless it was just a pair of gasketed open holes. Nope.

Make a 1-piece double-hat box instead of lumping two next to each other

This didn’t happen for one reason: Money. This would take the project out of the realm of a cookie-cutter web site configurator’d project and make it a custom-consultation job. Someone with better fabrication resources or abilities will want to do it this way but it was a bridge too far for me.

Make cuts in the box ears that interleave the two sitting together

Neat-o idea. Sounded great sitting and thinking about it. Then I got into the actual build and had 40 things to do, and this was a great big #41. In the end simply adding two alloy strips of an equal 1/8″ thickness on the front and back dealt with the issue just fine.


Figure 999: If you want to see a battery box, get your face down to ground level.

We’ll talk about the custom battery, the onboard charger, the cargo box liner, the front wheel and a few other bits in Part 4 to wrap discussion of this bike up.

Larry vs Harry Bullitt Hill Hauler, Back-to-Front Part 2

This continues the walk-through of my hill-climber Bullitt, starting with the mid drive motor installation and taking a close look at its BBSHD configuration.

Bullit II Build Series
Part 1
Part 2 (you are here)
Part 3
Part 4

So lets continue…

I’ll jump straight into the physical motor installation.

Mounting The BBSHD To The Frame

The install on this motor was almost exactly as I have already described for the Lizzard King. Its the same bike frame, after all. There were, however, some minor differences.

frame fitment was different

This frame just flat out did not want the BBSHD to fit. The cable boss under the bottom bracket was not quite in the same spot perhaps. Or dimensions on the frame were subtly different somehow. Either way, that cable boss blocked the motor. The proper solution to fixing this on this frame would have been to go to the motor and file back the forward bolt mounting ‘ear’ until the motor fits. Restated: sacrifice the mounting plate’s forward attachment point. Then give yourself the exact same motor attachment method that Bafang themselves use for the M625 – the upgrade to the BBSHD. It doesn’t have a forward bolt position either. What does it have? They do the Hose Clamp Trick (although not as well).

Above: What the Hose Clamp Trick looks like on a Bullitt if you glance down. Its been awhile since I built the bike so its a little grimy. 5 minutes with a toothbrush and some detergent would clean it right up.

This link goes straight to the motor clamping section of How To Build An Ebike From Scratch. While the description of the motor mounting and that Hose Clamp Trick is not on a Bullitt, the background info given, plus the detailed description of how to lock a BBSHD down permanently, so it can never shift whether it wants to or not, makes using that link and companion article the best way to describe what I did.

Based on other owner reports that came thru when I was building mine, there is variance from frame to frame that can yield an easier fitment, or a harder one. Naturally I got the harder one.

Shorter Crankarms

My Lizzard King used forged 175mm (Shimano Steps) crankarms. I had a spare set of the same arms on a shelf, in 170mm length. So I just used those. If I had to buy a set of crankarms, I would have tried to get hold of some 165’s.

Wire Tunnel

Once again I used a length of PVC for a protective wire tunnel on the top of the frame to run motor wiring forward. I used white furniture-grade PVC. Furniture grade PVC is more expensive than standard white Schedule 40 from the hardware store. But its shiny, pretty and a perfect match to the Milk Plus color and gloss finish.

The tube is held on with two industrial, giant-sized white zip ties. They’re overkill but don’t have that ‘zip tie’ look, because they are so physically large. The PVC is sitting on a bed of adhesive white foam to help hold it in place as bumps and bruises accumulate over time..

And that was it. Everything else was a carbon copy of the Lizzard King motor install.

The original Box Two 9s drivetrain, on a new and shiny fresh bike build. It will never be this clean again. The pedals are Funn Rippers with spring-loaded cleat engagement and yes, I do ride cleated in.

Motor Configuration (BBSHD Settings)

The BBSHD settings differences are not many versus my flat-land Bullitt, but the differences in performance are profound. On the Lizzard King, BBSHD pedal assist on level 9 – the maximum – peaks at a sustained 400-450 watts. That is a considerable power reduction that makes sense on flat land.

But in steep hills where the slope can go from zero to Uh Oh in about 30 feet, you are well-served to take it up a notch. I’ll cover all three screens here, but the changes that matter are almost all on the last one: The Pedal Assist Screen.

The Throttle Screen

This screen is almost my default. The only change is an evolutionary one: Start Current is reduced to 2%, so the throttle rolls on even more gently to the drivetrain. You hear a lot about how Bafang motors bang and jerk on the chain. 2% on Start Current completely smooths out that behavior. Also setting End Voltage to 4.2v creates a smooth throttle curve that makes it easy to modulate power output in very fine increments – the opposite of the default behavior.

The Basic Screen

Once again, this is pretty much my standard settings on this screen. It retains my speed limit graduations, which are meant to help cut power when my cadence gets high. Essentially what I did with the Speed Limit percentages was start at 100% on Level 9, and then work my way back in simple 5% increments down to the bottom Level 1.

The Assist 0 limits of 1 and 1 are there to preserve the normal function of throttle when you set the screen to Level 0, which disables Pedal Assist. This lets you pedal with no motor support without turning the motor off. Throttle remains available in case of an unexpected need.

I have strongly reduced the effect of the Speed Limit cutbacks via separate settings on the Pedal Assist screen. Since leaving these alone doesn’t hurt anything, and the fewer changes the better, I left my generic settings in place.

The Pedal Assist Screen

This is where the magic happens. The Hill Climber settings are based on my Surly Big Fat Dummy’s settings, which was my former ride in this area. I took what worked on that single-motor cargo bike, copied them to the Bullitt and then experimented a bit.

Since Bafang does not tell anyone anything about how these settings interact, we have to guess on some things. There is no way to set a specific power output level that is reliably sussed or documented.

The settings on this screen move the maximum steady output of pedal assist power to 900-950 watts. Thats a lot, and enables me to select assist level 6 or 7 and still get up the worst hills, with a safety margin available in 8 or 9. This turned out to be especially handy when I was hauling several 50kg loads of gravel for a landscaping project.

ABOVE RIGHT: the new Hill Climber. LEFT: The flat-land Lizzard King. Only Current Decay and Keep Current are changed. Small differences, big results.

NOTE: Version 2.2b of the open source BafangConfigTool has a graph that does a decent job of trying to explain how the settings interact and affect performance.

Start Current is very low at 2% for the same reason it is at 2% on the throttle screen: Eliminating jerky initial engagement (5% is what I used to use).

Slow Start Mode is as gentle as is confirmed to be safe for the motor’s controller. Lower numbers here = slower starting and 3 gives me the gentlest motor-safe slope to that curve.

Start Degree Signal is a fairly prompt 4. Once again the problem to beat is starting from a stop at an intersection while on a steep hill. Specifying a lower number of pedal assist signals to accept before the motor kicks in makes it start power delivery sooner, but I have also set Start Current and Slow-Start Mode so low this relatively fast engagement doesn’t cause any concerns with drivetrain strain.

Stop Delay remains as small as is safely possible to preserve the motor controller.

Current Decay (one of only two changed settings) has been set to the maximum of 8, which either minimizes Current Decay, or eliminates it entirely (Bafang isn’t giving anyone any help figuring out which, or when). Having high cadence reduce power assist makes a lot of sense on flat, paved ground, but when you are set in a granny gear and pedaling like mad to crawl your way up an excruciatingly steep hill, the last thing you need is for the motor to cut back power thanks to high cadence. It also looks as if this one setting is primarily responsible for the increase in peak sustained power.

Stop Decay remains at zero. The idea is if you stop pedaling, you want the motor to stop. I ran some experiments recently as part of an internet discussion. I found a suggested setting of a whopping 1100 ms (i.e. set it to 110) produced nothing negative. The cutoff still happened so fast I couldn’t argue it hurt anything. In steep hills, a long setting like 1100ms could actually smooth things out a bit if crawling up a hill and perhaps your cadence stutters accidentally. Not a setting I kept, but its worth noting.

Keep Current (the second of two changed settings) is kicked up just a bit to 40% from the Lizzard King’s 30%. Frankly both settings are aggressive. The Current Decay of 8 is preventing this setting from engaging at all unless I am on flat ground, moving relatively fast (i.e. not crawling at 6 km/h up a hillside) and spinning my crankarms at high cadence.

Version 2.2b of the BafangConfigTool can be downloaded (entirely at your own risk) at the author’s web site. I make no representation of any kind as to its quality, lack thereof, your ability to avoid totally destroying your motor or cause a horrific accident of some kind as a consequence of using it.

Saddle and Seatpost

I used the same Ergon ST Core Prime saddle that I know my butt prefers. However, since the Kinekt post on the other Bullitt has a pogo stick effect at fast cadence, and I know the Thudbuster LT doesn’t: I put the Thud on this time.

That cable is a seat leash to add a few moments delay to a theft attempt. I covered the rear camera in the dashcam series.

Stuff In The Frame ‘Triangle’

I used a Blackburn frame bag just as on Godzilla. However, this one does not hold the front motor controller. It does hold the batteries for the front fork lights and COB LED strips. It also holds the mains power cord for the onboard charger, as well as the charger’s 15-foot/4.5 meter power cord extension. There is also a secondary charger connection to the battery in case I want to plug in an external Satiator charger or similar (we’ll get to the charger stuff in a future installment). Beyond that, there is space for wallet, sunglasses, phone and keys.

The zipper on the other side of this bag holds the power banks for the headlights, side light strips and a dashcam.

At the back of the cargo bulkhead are Velution’s Large bag solution, that uses Ortlieb large dry bags. These are much bigger than the Fahrer bags on Godzilla, and I like the Ortliebs a lot better. They hold all of my routine tools, spare inner tubes, patch kits, pump and so on. Because I need to routinely empty these bags when I go inside of a shop and leave the bike outside, I keep the contents in easily-removed cloth zippered pouches (two each side). That makes it easy to pull out the pouches and toss them into a carry bag.


For handlebars, this time I chose the Ergotec Space handlebar. Think of it as a Jones Bar in Junior size. Its backsweep is less than the Jones 45 degrees, but still comfortable. I installed short Ergon grips hoping to extend them longer than normal with segments from a Wolf Tooth Fat Paw grip, but I needed so much room to fit the shifter, I couldn’t. I ended up with a normal grip size.

Cockpit Version 1.0: At the shop on the night assembly was completed. Dual independent throttles, dual independent PAS settings … and dual displays. Not subtle.

Everything is in easy reach on the bars and – originally, at least, is a carbon copy of what I had already done on the Lizzard King.

Cockpit Version 2.0

A few months went by, and I decided to clean up the bars at the expense of information display, which I am not a fan of anyway (we got along riding bikes just fine for more than a century without all this data reporting).

Pretty clean handlebars – as far as 2wd bikes with a big dashcam go. Also Cockpit v 1.0 had the grips upside-down.
The DM03 Bafang Display

The DM03 is made by VeloFox for Bafang BBSxx motors. It is a small monochrome OLED screen. Sales ads describe it as an improved version of the SW102 display. The SW102 is most commonly known as what the EggRider v2 display/programmer uses. I only wanted an ultra-small, discreet display, not the extra EggRider functionality.

A big selling point of the DM03 was it supported 9 levels of PAS. An SW102 gives only 5. Additionally, the DM03 has larger buttons than the SW102. Since I also have an EggRider v2 on my Cyc X1-powered 29er, I can compare the two displays look-and-feel directly.

Knowing how visible my EggRider was in bright sunlight, I was under no illusions: The DM03 display is only just barely visible in bright sunlight. But I was after compact size, and I can do without a display. This is a perfectly functional PAS control unit for people who do not feel a need for an ever-present data readout.

If its foggy, in the shade or overcast, then the display is easily visible. You can also shade it with your hand and squint at it in the sun, but you’d better not do that while in motion. I only look at the thing to remind myself which PAS level I am in.

The DM03 Advanced Settings Code

Just like other Bafang-compatible displays, the DM03 display for Bafang motors has an Advanced setting, where you can edit things like wheel diameter, and make the all-important selection to support 9 PAS levels. The code to get into the DM03 display’s Advanced Settings screen is1657. I purchased two of them from two different vendors. Neither provided the code with the display, but both promptly gave it to me when I asked so I could finish setting up my bike.

Cockpit Version 3.0

As seen in both cockpit versions above, I used a KT-LCD3 display to pair with my KT front motor controller. I have used both for years and its a tried and true combination.

The KT-LCD4 is dirt cheap on Amazon with 1-day delivery for about US$35. If you want to wait a month you can save eight or nine bucks buying it on AliExpress.

As part of my de-cluttering efforts, I subbed in the KT-LCD4, which has the same features stuffed into a tiny package. KT used a backlit LCD so unlike the DM03’s OLED, this one is visible just fine in bright sunlight or black of night.

No big displays. DM03 on the left and LCD4 on the right. I also changed the grips (swiped from another bike in The Pacific Fleet).

If it weren’t for the dashcam and the front headlight, the bars would almost be considered clean. And considering this is a 2wd bike, the difference is amazing.

Carbon Fiber Steering Tube

I used the Velution one-piece carbon fiber steering tube. I found with the Lizzard King I moved the handlebars once to find my optimal height … and never moved them again. The Velution tube is a small fraction of the weight of the steel factory model plus the weight of the EasyUp is gone. You also get a MUCH cleaner look with the included smooth alloy spacer.

Heads-Up: If buying the Velution steering tube, be aware it does not come with a crown race (not their fault; they never said it did). Source one yourself. I used a steel Cane Creek 40.

Kinekt Suspension Stem

After going to all that trouble to lose weight on the steering tube assembly, I gave some back with this Sherman tank of a bicycle stem. For me it is worth it. My wrists have never been the same after a car hit me in 2017, and between the swept back bars and a suspension stem, this is what I need to be able to ride without pain getting the better of me.

I upgraded the internal spring to the extra-firm Orange version, which is not available unless you buy an orange 1.5″ upper seat spring directly from Kinekt. I also installed the damper upgrade kit. That gives you a stem so firm you can’t move it by hand. It only moves when installed. So I can use it with a full lean-over seating position and it will not bottom out on me.

The Cargo Bay

Here’s where all the work is, and this is where the build actually gets interesting. But given how long this post is at this point, its time to put a sock in it and save that topic for Part 3.

Exit mobile version