Ebike Battery Charge Safety: Heavy Duty Cutoff Timer

Add a safety layer to ebike charging practices, with residential/commercial grade components rather than the cheap stuff.

Nip It!

In my previous post I dug into the subject of using a mechanical cutoff timer plugged between your ebike charger and the wall. It gives you an added layer of safety when charging your ebike battery.  Using a timer, coupled with some advance planning and brain power, you physically cut the power to the charger. In doing so you prevent even the possibility of a charger or battery malfunction. I went into the details thoroughly in that post.

To do this job I used a cheap, basic timer bought online that I have been using for years.  Recently, others who also use this timer have taken it apart and looked inside. The verdict: It will do the job, but it is not particularly robust or fault-tolerant.  

How Do We Beef It Up?

Use a better timer. Chances are pretty good if you live in the USA you have already seen and used this exact timer many times. They’re on the wall in almost every hotel or motel bathroom: The timer that turns your heat lamps off after a short while so the bulbs don’t burn out. You also see them on whole-house fans in private homes (you have to live where it gets hot to have these).

The one brand that seems to be everywhere and in use for decades is Intermatic. They seem to last forever, so the hope here is it will also last forever with your ebike charger. Since it is made to conform to residential electrical codes, its internals should be safer and more robust than any teeny tiny timer you bought on the internet.

Following that, what will we use to go along with it? After all they’re called ‘wall timers’ because they are usually built into walls and connected to your power grid. We want this thing to be reasonably portable, and still safe.

Lets Make A Parts List

I have built a few of these. I have bought parts from a local Home Depot, or from Amazon. Neither is the best place for everything. Some parts are cheaper at one source than they are at the other, but the bargains are all different parts. Buying everything from just one or the other, you end up spending the same amount of money. If you want to save a few bucks, shop around locally and buy a few bits in town. You should be able to save about US$15. I am going to stick to using Amazon on this parts list.

Project cost if bought from Amazon is about US$75 if you buy the 10-foot cable. Thats a lot more than the cheapie timer but it is WAY less than your fire insurance deductible on your garage.

Intermatic 12-Hour Spring Wound Timer

Different versions of this timer exist to span ranges from a few minutes to a few hours. This 12-hour version (Model SW12HWK, Single Pole Single Throw) is less common. It is usually an order-in item if bought locally. I chose 12 hours because I like to charge big batteries (35ah!) at low current rates, so a long timer works better for me. Its also almost guaranteed to work for a variety of other jobs, so I am not blowing US$75 on something that is only good for one thing.

The image above is what you will see on order pages. It is a bit deceptive as the timer does NOT come with the decor-style faceplate seen in the product image. You have to buy that separately.


The commercial series by Intermatic has a slightly different look and a faux brushed-aluminum 1-piece faceplate (In days of yore it was made of metal. In modern times its plastic). These are available in a 4-hour version (model FF4H) and a 6-hour version (model FF6H).

Both models, like the 12-hr version, are SPST

This shorter duration may be a better choice, timewise, for more mainstream, manufactured-ebike batteries that tend to be in the smaller 12ah to 20ah range. That is the good news. The bad news is these versions cost more money and can be difficult to find, even on Amazon where you will see some sellers wanting ridiculous prices for them (the links above are the best prices I could find).

This increased cost is slightly offset by there being no need to buy the next item on the list, the decor-style wall plate cover.

White Decor-Style Wall Plate Cover

This is what you’d think the timer would have come with above but doesn’t. I chose white to match the inner timer plate (which DOES come with the timer). The inner plate fits directly into and onto the ‘decor’ style wall plate.

There is no requirement to buy the linked Leviton brand as all decor-style covers are a standard size.

1-Gang Weatherproof Deep Wall Box

This is what we are going to mount the timer into. Heavy duty aluminum boxes like this are ordinarily used to surface mount a switch onto a wall, like bolting one onto a metal wall or similar. The box will come with little screw-in plugs so the big extra hole in the back will be easy to seal up.

I chose to use the ‘deep’ version of a wall box so I have more room to work in. I also used the larger 3/4″ hole version as again bigger holes are easier to work with.

Two Strain-Relief Connector Fittings

One of these comes out the top of the wall box, and one comes out the bottom. They have rubber gaskets inside and when you screw them down, the gasket tightens onto the cord running thru so it is held fast and can’t be pulled apart without deliberate malice aforethought.

The pictured part above has a metal ring that could be used inside some wall boxes, but in this case we’ll discard it and just screw it tight to the box. I have bought this exact pictured part and used it, but in the pictures below you will see I used a slightly different version I bought locally.

Lighted 12-Gauge Outdoor Extension Cord

Read the specs on this cord via the Amazon link above and you can see it is quite a beefy cord. The SJTW rating means its meant for hard-service, rated for 300v and approved for outdoor use. The one I linked is good for 15a and 1875 watts. As importantly, since I am going to be splicing this cable into a residential/commercial electric timer switch, and those switches typically use 12 gauge wiring, I wanted a cord that also used that same thickness of wire, even though it is by necessity stranded and not solid copper wire.

The seller I linked sells the cord in a variety of lengths. You can decide whether you want a short or long one. I went for 10 feet when I put mine together as that is what fit best from my outlet to my charging station.

Lastly, notice the cord has a lighted end. This will be handy for when the timer turns on the power. We know its hot by seeing the light at the end of the plug.

If you live outside the USA, your electrical cords will be different, so you’ll want to find a similarly overbuilt cord for your project.

Aside from two heat shrink butt-end connectors we will need, thats it for the parts. There is a complete tutorial on how to make reliable crimp connections here. You can refer to it if needed.

Lets Get To Work

Step 1 is to figure out just where on your power cable you want to place your timer box. For my project, since I was mounting the box in my garage I had to measure from the wall plug, to the place I was mounting the timer. I also had to be sure I had enough cord to reach from the timer to my ebike’s charging cable.

So… Using a sharp and sturdy cutter (12/3 cord is not going to cut cleanly with ordinary scissors) cut your power cord completely in half at your desired spot.

Next, cut back the cord insulation without slitting the insulation on the inner three wires. I used a utility knife blade held in my hand, and cut very carefully. Just as important to not slitting the insulation on the inner wires is to not slit yourself, either. This process requires considerable caution. There are specialized cord stripper tools out there to take the danger out of the process.

After this, strip a short length of each inner wire on each side of the cord. The end result should look like this:

With your two stripped ends ready, thread the strain-relief connectors over each end of each cord. Now run the two cords thru each side of the box, one from the top and one from the bottom. Screw down the connectors into the box, but do not tighten down the outer rings, so it is still possible to move the electrical cord back and forth thru them. When you are done it should look like this:

Now its time to re-connect the cord and put the switch in between. Here’s where things get tricky if you intend to mount the box vertically on a wall, as I did. This is where the deep box giving extra room comes in handy.

You only need to plug the hot wire (black) into the switch. The neutral (white) and ground (green) wires can be connected right back together again (note to folks outside the USA, your wire colors will be different and will match an international standard that – of course – we don’t use here in the States).

The neutral and ground wires are reconnected with simple heat-shrink, adhesive marine butt-end connectors. The hot wire is attached to the switch via its simple teeter connectors, which work fine on stranded wire even though they are meant for solid copper. This connection is a big part of the reason I chose thick 12-gauge electrical cord.

When deciding what side goes where, the Line side (male plug end) goes to the power source (the wall). The Load side (female plug end) goes to your charger.

Because of this Line and Load business, and the fact that I was mounting this switch vertically (notice the directional Top markings on the front of the switch) I had to run the top cable to the bottom of the switch (Line) and the bottom cable vice versa to the top (Load). Thats why everything is running around in a circle inside the box.

If you look to the right side of the switch you’ll see Line (2) and Load (2) plugs are there and reversed, which would solve this alignment issue. However, this second set of connectors are dummies lacking the hardware to be usable. They’re just blanks not used by this Single Pole, Single Throw switch.

Once you get to this step, all the real work is done. Carefully move the switch into the box, ensuring the connected wires are not subject to any pulling stress. You’ll want to be tugging back the still-loose electrical cord a little to help make room, but again don’t overdo this. You don’t want to cause any strain on the switch connections, and you have a deep-version of the box so there’s room to fit the cable behind the switch.

Screw it down carefully once its fit into place. The screws to do this came with the switch.

And now screw down the decor cover. Take care not to torque it down too hard as it is a delicate part and you can crack it if you go too far. Next, tighten down the two strain-relief connectors, which fixes the cord in place so you can’t tug it apart.

Those last two steps took only about a minute, and we’re not going to need much more than that to finish the job: The switch comes with a little cheapie hold-down ‘nut’ that is little more than thin bent metal. It needs to be that thin as there are almost no threads available for it to grab. Drop the inner timer plate onto the opening. Tighten down the nut so the inner plate is now fixed to the timer face.

Don’t overdo the tightening. You will figure this out as you see the plate bend inward as you tighten. I used needlenose pliers as fingertips don’t quite have enough grip to do the job.

Next, press on the timer knob. You’re done. You just created your heavy duty timer, that you can use to plug in between your ebike battery, or anything else you want to provide time-limited electrical power.

Now What?

Plug that sucker in and make use of it! This is the part where it becomes handy to have the lighted plug end. Turn the timer on and you’ll see the power come on via the little light. Come back a few hours later and the presence of a light at that plug will instantly confirm the power is on before you even glance at the timer dial.

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 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.

This is crucial to eliminate the complaint against cadence-based pedal assist from people who think they must have torque-based assist to get a natural cycling experience.

Taken together as a whole, settings as described here mean you can set the BBSHD (or BBS02!) motor to a low pedal assist value that provides only a small bump in power when you pedal. This means when you want to accelerate or cope with a hill, you have to put some muscle into it just like on an analog bicycle. Want to put in less muscle? Fine click up what is now a gentler increment of power.

The settings taken together kiss goodbye stuff like unnaturally strong initial power application, shutdown lag and other bits that detract from a more natural cycling experience.

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.

I am describing Crawling up hills like this one (click for interactive street level Google Maps view)

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.

What I do on that climb up Hoffman Avenue pictured above: You can see if you follow the Google Maps link, it has many different slope angles from bottom to top. I set my gear to a single generous ratio – one cog lower than I’d need on an analog bike. Then I vary my PAS setting up and down as the hill changes slope, never shifting gears. Varying the PAS assist up or down lets me ride like a cyclist, working hard on the pedals as I choose, and maintain my cadence regardless of slope. Thus I am using my PAS panel to take the place of a gear shifter.

Its a technique not possible with an analog bike if you don’t want to pop a blood vessel, and one of the reasons ebikes should be recognized as a different system to master with different rules than old-school bicycles.

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.