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.

Leftovers

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.

Sizing

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.

Insulation

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.

Lastly

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.


Qapla’

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.

Steering/Cockpit

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.

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

A Bullitt has been my daily driver in all-flat terrain for more than two years. Now I need another for steep hills. Rather than just copy the original I will re-think my choices and make some cool upgrades.

My first Bullitt – the Lizzard King – was the basis for this bike build and written up extensively here. This bike is essentially a v2.0 of the same bike. There is much background detail left out of this current discussion (like drama-free AWD) since it was covered the first time around.

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

Bookends!

Before I get started, lets address why I need two Bullitts. When I built my first one, it was a bucket-list item I expected to last me forever… and its still going strong. But, here’s the thing: I split my time between two locations.

I work in Fresno California, where the land is all table-flat, and my job has for the last several years required me to essentially move there and set up a second residence. My actual home is in Pacific Grove, California… which has totally different terrain. Where Fresno is roasting hot in the summer and flat as a table, ‘PG’ is smack on the Pacific Ocean seashore, is only flat at the shoreline and has plenty of low but steep hills. I live at the top of one, in fact.

Recently I was finally able to start living at home again. My Surly Big Fat Dummy provided cargo bike duties, but I found something I didn’t expect: Having had a frontloader for a couple of years, now I knew what I was missing. I didn’t want to put up with the quirks of a longtail. I ended up describing the differences in detail. I found I was actually resenting the ride limitations, and putting off rides as a result.


Sneaking into Laguna Seca Raceway while it was closed for construction – I had the whole complex to myself. The Surly Big Fat Dummy was a joy to ride that day.

Screw that. Cycling is an integral part of my life. Its time to

Build Another Bullitt

As part of the build planning process, I needed to do a Build Sheet. Click the image below to go to the actual build sheet complete with links to almost every part in the build. I won’t discuss every bit and piece in this short series, but this list contains pretty much every part.

This image links to a Google Docs parts list with live links to the parts

So… how do I organize this writeup? This bike is at its core just an improved version of the one I already built and documented. There’s no point in doing that all over again, but at the same time its hard not to if I want to avoid making the reader bounce back and forth from one build description to another.

Lets just start at the back of the bike and work our way to the front. I’ll go into details where I think they are worthwhile, and be brief when I think I am on well-covered ground.

Rear Rack

This is a fairly common Axiom Streamliner DLX. Its got dropout extensions that move it well back for heel clearance, and a 50 kg weight limit. It is the identical rack I used on my first Bullitt, but oddly, this time the rack fit perfectly with none of the mods needed to get its dropout extension to fit. Apparently Larry Vs Harry have moved the threaded boss on the dropouts down by just a bit versus the ones they sold two years ago.


A standard-issue Axiom Streamliner rack with an extra-beefy front mounting bracket. No idea if this increases its capacity but factory stock its rated for a lot of weight already.

I also used a beefier center stay mount from one of my Axiom Fatliner racks and created a stronger-than-stock solution.

Similar to the ‘bobtail’ deck I made for the Lizzard King, this rack has a ‘deck’ made up of two components. One is a long strip of aluminum flat bar, 2″ wide and 1/16″ thick (sorry for the Imperialist units of measure but thats how its sold here). This flat bar is drilled and bolted to the front of the rack using existing holes. Holes drilled at the rear simply use a zip tie to attach it to the back of the rack. As previously, this thin aluminum bar is part of the rear fender solution.

The Kicktail

You’ll notice the deck bar is longer than the rack, and bent up in the back. I did these two bends by sticking the straight alloy strip in a big steel door and frame, and putting my weight behind it. With that bend in place, mounted on the rack, the deck now has a sort of kicktail… like on a skateboard. It doesn’t serve the same purpose though: The extended bit of deck catches water spray coming up off the tire. So its part of the ‘fender’.

The deck is extended in a second bend that goes up to vertical. In the back of this portion, I stuck some prismatic red tape – the same type as is used in municipal street signs – for a big passive reflector. Additionally, on the front – because why not? – I mounted a square of yellow prismatic tape for forward-ish reflectivity (my local laws prohibit the use of red, facing forward).

Lastly, at the top of the kicktail, you can see a short black strip. This is a narrow length of thick rubber mastic tape. It extends well past the deck’s edge and folds over onto itself, so it becomes an extended rubber bumper. I have learned from doing kicktails like this in the past that if you don’t cover the trailing edge in rubber, sooner or later you cover it in blood (even if you file the edges down).

Last time, it was a ‘bobtail’. Bent differently so it was a smooth curve. Executed a little differently this time to give me a tighter radius bend and a perfectly vertical section this time for the rear reflector.

The Plastic Sheet

The second component to the rack deck is a bit of thin flexible sheet plastic. It has been cut to fully cover the rack, and then slipped under the aluminum bar. Holes matching the top deck have been drilled thru it and as such it is affixed tightly and permanently to the rack. To mount a pannier, you only have to lift up the very thin plastic and attach the pannier’s hooks as usual.

The use of a narrow strip of aluminum, coupled to a flexible sheet of plastic that covers what the alloy does not, gives me full rack deck coverage while maintaining my ability to easily attach a pannier. Why bother? Because this is a part of the rear fender-that-is-not-a-fender coverage.,

Rear Mud Guard

The closest thing to an actual fender is a really big mud guard. It is a Mucky Nutz Fat Face Fender XL (They sell white ones on clearance dirt cheap). It is a front fat bike fender, put on the back wheel, and reversed. Then to extend it in back I added some white gorilla tape. It is bolted to the frame in front using the fender bolt and boss that LvH put there. This bolt pulls the mud guard forward to clear the 2.0″ Schwalbe Marathon Plus Tour tire.

Working together, the rack, rack deck and mud guard provide full fender protection without the use of a fender.


A little matching white extra wide gorilla tape, judiciously applied, extends the mud guard up to the rack deck – no water makes it onto the rider.

Brakes

Same as I do on every one of my bikes: I am using 203mm wide, 2.3mm thick Tektro Type 17 rotors and Magura MT5e 4-piston calipers front and rear. The front brake cutoff is connected to the front motor and the rear cutoff is connected to the mid drive. It is not possible to cross-connect the cutoffs to the dissimilar motor controllers so either one cuts off both motors.

Rear Wheel (and Drivetrain)

The Lizzard King, my original Bullitt, has an 11-speed drivetrain and a 52T (!) front chainring, feeding an 11-42T rear cluster. I only use the middle three or four gears to maintain good chain alignment and high pedaling cadence.

This time I need to negotiate steep hills whose slopes vary, often on the same climb. So a big rear cluster is a given, strength is paramount and I need more usable gears to work with the varying terrain.

The Bullitt has short stays in the back. A BBSHD moves chainline outboard. So no matter what chainline angle will be a challenge. Its going to be tough to use the smallest and biggest cogs on the cassette.

Done… Then Re-Done
Drivetrain Plan A

My first setup was a 9-speed system. I used the Box 2 Extra Wide derailleur, an ebike-friendly Box 1 single-shifter, and its matching Box 2 12-50T cassette cluster. I have used this hardware in the past. It is a premium solution that is not the cheapest, but a lot less expensive than the upper tiers of the other Big S brands.


Pics or it didn’t happen: The Box derailleur can reach the 50T cog. The 12T little one can be reached too. But both of them are too far over inboard or outboard to be used meaningfully.

I labeled the Box Components drivetrain as Plan A. We’ll look at Plan B, and why there is a Plan B, further on.

Next in the drivetrain, there’s the front chainring. I have used the 40T Lekkie chainring and the smaller-than-stock motor cover it requires on my Apostate, and knew it worked well. The 40T ring also has a lot of inboard offset, which you need on the LvH frame.


The Lekkie ‘Pro’ 40T chainring, which only fits over top of the Lekkie motor cover. Note the smaller chainring teeth that are 10-12 speed compatible. No 9s.

But I need as much offset as I can get. Lekkie makes a ‘Pro’ line of chainrings, and they have an additional 2mm of offset. I wanted that extra 2mm as I will ride this bike on the bigger, inner cogs. Complicating things: the Pro rings are not 9-speed compatible. They have a different tooth profile meant for 10-12s systems.

I got around this by using a SRAM EX1 mid drive chain, which is compatible with 8, 9 and 10s systems, so I’m still good.

By using the Pro chainring I gain 2mm. If I perform an optional modification to the Bafang motor casing, I gain another 2mm. With those two mods I moved the chainring a full 4mm inboard towards the seat tube.


Shave off some of the BBSHD motor housing, just behind the Lekkie motor cover. This lets you do without a 2mm spacer to gain that much more offset. Done in about 15 minutes with a hand file.

Drivetrain Plan B

After I built the bike, and ran it for a couple of hundred miles, I was not happy with the Box Components drivetrain. The matched set of components are every bit the butter-smooth, high quality system I expected them to be. However, chainline considerations kept me from using three of the gears on the 9-speed cluster. Since I am a pedaler and not a throttler, I still benefit from lots of gears despite the electric assist. A 6-speed leaves room for improvement. I was missing my 11-speed on my other Bullitt.

Contemplating this, I had – sitting on a shelf unused – a Microshift Advent X 10-speed drivetrain looking for a home. It looked like a solid alternative that might give me a couple more gears, with no meaningful penalties. Here’s a comparison I put together while I decided what to do:


My real comparison was between the top two choices, but I also threw in the Microshift Advent 9-speed steel cluster on the Box 2 derailleur (I use that on my Apostate) just to see how it lined up.

In the chart above, the red cogs are too skewed to use. The yellow are livable if I must and the green are good to go. This chart told me

  • If I am limiting myself to my 3rd-from-the-top cog to be absolutely safe, both clusters are giving me the same 34-tooth big cog.
  • The next cogs down on the Advent X give me as-good or better higher gearing.
  • I get more gears to work with – two more – on the Advent X.
  • I never want to use the smallest cog anyway on any mid drive build, so I don’t care about the little one on either choice.
  • It looks like the Advent X is going to give me smaller cogs for when the ground is flat.

The saying goes that ‘Steel is real’ when it comes to tough bike frames. The same is also true of a cassette cluster that gets flogged by a mid drive motor.

Here are some known issues that aren’t on the chart:

  • I’m going up steep hills with 100+ lbs of load on the bike, not counting my own self and my extra heavy locks (2 meters of boron steel noose chain and two motorcycle U locks). This puts severe strain on the drivetrain and demands a conservative limit on how skewed I run the chainline.
  • The Microshift Advent X cassette is ideal as beefed-up mid-drive-friendly clusters go. It has all steel cogs and is permanently pinned together on all but the smallest cogs, so force is distributed across the entire cassette body rather than having one cog dig in at a time.
  • My handlebar layout made space a premium. The Box One shifter surprised me: Shifting often required the full throw of the shift lever, so it needed more space on the bars. SRAM shifters only require a very short throw. So there was something else I was missing.

Chainline on the inside, middle and outside. Even though I can get to the 48T cog, chainline is too skewed for a hi torque uphill slog.

with 250 miles on the odometer, I changed the drivetrain for the Advent X. It has worked beautifully. Shifting has been great all across the gear range. When I need a new cluster, I’ll be replacing a US$40 part.

I also followed a tip from a Youtuber and put an 11-speed chain on this 10-speed system. 11s chains have identical inner dimensions to 10s. They are just a hair narrower on the outside. Using an 11s, you gain an absolutely silent drivetrain. I didn’t realize how loud my SRAM chain was until I switched and… blessed, complete silence. It runs as quietly as a belt.

I used a Wipperman Connex 11se ebike chain on sale at JensonUSA for a whopping US$23.94 rather than the usual US$106.95. After seeing how well it performed, you can bet I bought enough spares at that price to last me for the foreseeable future.

On the innermost cog, which we’ve already established is not usable, the limitations of a mid-length cage versus the Box 2’s extra-long cage are apparent. Its a smaller cog than the Box 50T, but the derailleur is pulled far forward thanks to its lesser ability to wrap chain. Right picture: Three cogs down – the one I consider the max on really steep, loaded climbs – the derailleur is in a happy place.

I still love the Box Components drivetrain. I’ll move the 12-50T cluster to the Apostate, which can use the bigger cogs. The derailleur and shifter… I’ll find a use for them someday.

Drivetrain Plan C

Update – July 18 2023: Figuring out the ideal drivetrain for this bike reminds me of why I wrote Musical Chainrings back in 2020. I got great results from the Microshift Advent X rear drivetrain and Connex chain, but I wanted to do better. The Plan B cog diagram with the 40T Lekkie chainring shows the 40T rear cog in yellow. That is because it skipped occasionally under severe load (steep hill, loaded with cargo). To get 100% reliability I needed to be down on the 34T ring.

Thinking I needed more offset, I decided to swap in a Luna 42T Eclipse chainring – swiped from my Mongoose Envoy, which got a new/fresh Deruiz 42T chainring that I had socked away as a spare.

The Lekkie 40T ring, in conjunction with the fancy motor cover and the filing mod I described above in Plan A, delivers 22.25mm of inboard offset. The Luna Eclipse on the other hand delivers 24.8mm. An inboard shift of just over 2.5mm. I expected that to do me no favors on my lowest 11T chainring… but since this bike is a hill climber, I’m OK with that. Plus, since I was going up to 42T from 40T on the front ring, I expected to get some of that lost speed potential back on the next cog up.


After and Before: Plan C at top, Plan B at bottom.

What ended up happening was a better result than I expected, and for a reason that is obvious now, after the fact. Sure, the increased couple of millimeters helped with my big cogs in back some, but the real benefit came from the different tooth profile.

Lekkie Pro rings have different teeth than other chainrings in their product line. The Pros are 10-12S compatible, rather than 9-11. The Pro teeth are noticeably smaller, and it turns out that is the real problem causing the skipping. The smaller teeth simply are not well suited to cargo bike duty in steep hills.

By contrast, Luna Cycle’s Eclipse uses what they call a ‘wicked’ tooth profile designed to aggressively prevent chain drops under severe circumstances. It turns out the ring creates a bit of chain noise, but otherwise it works noticeably better across the board. Chain engagement is largely skip-free at the extremes of low and high gears, and even the 11T cog I expected to be shut out of is usable on flat ground for unloaded speed runs.


Those chainring teeth sticking up and out past the height of the chain… maybe they are kinda wicked at that.

The increase to 42T from 40T has not been a problem since I can now get to much bigger cogs in the back. The extra gearing has actually proven to be a benefit on flat stretches where I’m not loaded and want to go a little faster.

Plan C has been on for a few hundred miles and I expect this is finally the setup I’ll stick with.

Build a Wheel

The final drivetrain item is the construction of the rear wheel. I originally wanted to duplicate what I did on the Lizzard King, but the almost-indestructible SunRingle MTX39 rim was unavailable. The DT Swiss FR560 downhill rim is at least as strong, half the weight and twice the price. I’ve used them before and they are awesome so thats where I went.

I stuck with my usual DT Swiss 350 Classic ratchet engagement rear hub, with added ebike/tandem 24pt ratchet and steel cassette body upgrades. I’d have preferred a DT 350 Hybrid that includes these upgrades on a beefier hub, but just like the MTX39’s, they were nowhere to be found at the time. Spokes are Sapim Strongs with brass nipples.

The rear wheel is shod with a Schwalbe Marathon Plus Tour, which has a near-knobby articulated tread. Our local bike paths get covered in sand whenever the wind blows, which is a lot here.


This is a paved path about 15 feet wide and the main local urban cycling thoroughfare. It was buried in sand the day before when the wind kicked up. I need knobby tires year-round here.


The next step from the back of the bike forward is mid drive motor installation and (drumroll) configuration. That is a big enough topic to make this a good time to wrap up, take a breather and continue the story in the next post.

Larry vs Harry Bullitt – Front Motor & Wheel

Godzilla is a 2WD / AWD ebike. Both axles are powered. Here’s everything you could want to know about the front wheel build and motor installation.

The Bullitt Build
1. Battery and Battery Box
2. Cargo Box
3. Brakes
4. Front Motor & Wheel (you are here)
5. Rear Motor & Drivetrain
6. Bits & Pieces

Now there is a separate series on Bullitt II: hidden battery box. Onboard charger. Etc.

The Easy Way Or The Hard Way?

Lets make things as difficult as possible and do both. My loss is your gain and now you can see the results of both paths. I don’t regret this one bit (at least, thats my story). It gave me a spare wheel and motor, which is a good thing for a bike I need to depend on. I’ll lay out both paths and you decide how you want to do yours.

The Easy Way: Just Buy a Kit

In my run-up to buying my Bullitt frame kit, I looked extensively for the right 48v motor with a 20″ wind. It turns out those are pretty uncommon. Usually they are 36v, with a 250w or at best 350w rating. Oftentimes the winding is questionable as being suited for a 20″ wheel. Usually a motor is wound for larger 26″ or 700C wheels, and the torque is just not there for a little 20″ wheel build. Perusing EBay and AliExpress listings, you are often left wondering if what you are seeing REALLY is the variation you are looking for.

Still a project only capable of rolling around in the garage: the original kit wheel, with the too-wide Schwalbe 2.40″ tire on. It actually worked just fine.

I lucked out, and found posts on the Bullitt: The Dark Side Facebook group from someone who had just finished receiving and installing a complete 48v, 500W Bafang front motor kit. Based on what the posts showed, it was quality stuff. So I bought one myself: A Greenergy 48v, 500W complete front wheel kit. This kit was advertised as express-shipping from China to the USA and that is really what they did. I had it in a few days and followed its progress all the way here via the Fedex tracking number I received in my Ali control panel.

It was helpful to already have experience with Bafang geared hub motors, to understand their reliability and performance. It also helped that I knew exactly what other hardware worked with them. Particularly the display and controller I eventually wanted to use on my custom build vs. this kit.

A word on buying from AliExpress: Its kind of an adventure. Definitely not as convenient as buying from the USA, but if you have experience doing it, you can smell out the bad actors. I have bought many ebike parts there – this was not my first motor shipped direct from China – and have only had a few sub-optimal experiences with low-risk, low-cost parts. Don’t fear the platform. Its a professional operation. But if you are going there for the first time try and buy from a source that has been recommended to you directly. Let some other pioneer take the arrows in the back.

Up front: I knew I did not want to use the ancillary parts (controller, throttle etc.) that came with the kit. For the low price they were charging, I considered those parts throwaways and was only interested in the right configuration of motor already built inside of a decent if not especially noteworthy wheel.

Waiting in the wings:
It is present day, and the Greenergy kit wheel has a new Schwalbe Big Ben 20×2.15 belted tire mounted on it. Inside is a Schwalbe A7 tube with Flatout sealant inside. Recently I swapped out my regular wheel, described below, so I could take my time re-greasing that second motor at its current 1000 miles. The G020 motor is adequately greased from the Bafang factory, but only barely so with white lithium grease that needs refreshing every 2000 miles at best. Since the above motor/wheel was an extra I was able to pull it apart, look inside, clean it out and re-grease it with Mobil28. That grease will at the very least have triple the service life before another re-grease is in order.

Is it the best grease for the job? Opinions vary widely. Mobil28 is a favorite in the DIY community and I can say from having it in geared hubs over a couple of years it has never done any harm. The motors I have used it on have never behaved differently other than to run a bit more quietly.

The Hard Way: A Custom Wheel Build

I knew from my previous AWD builds what controller I wanted to use, and I already had all the small parts like PAS sensor and throttle. The only thing needed was a display and I had an easy source for that.

In the end, the electronics were easy. It was the mechanical bits that were tough. I had a hell of a time getting hold of the right spokes, nipples and rim. Once acquired, I had to wait about 6 weeks for my poor, perpetually-backlogged wheel builder to get to making the thing. Having the kit wheel I could just plug in was great. I was able to ride the bike maybe two months earlier than I would have otherwise.

Having just finished buying one Bafang G020 with 11T winding, I didn’t need to expend any more energy figuring out what motor to use. I just needed to find a bare one. I was able to acquire one from the same guys who sold me the kit – for just over $200 on AliExpress (and it took quite a while to arrive this time). Thats the good news. The bad news is I can’t give a link to that motor as its no longer available there. But I can display a picture of the almost-identical motor model designation, and show you what you want to see for a comparable buy for a 20″ wind:

Reading the Bafang factory codes in the image above:

FM“Front Motor”
G020Model number
500Rated for 500 watts
DDisk brake compatible
12“12T”, or 12 turns of copper winding on the motor core


My motor is 11T, not 12T. On a 20″ wheel it works perfectly as I want it to – right in the Goldilocks zone for a front motor that I don’t want to be too powerful off the line (no need to pull hard on that front fork – or the fork’s dropouts) and which starts to peter out just as the rear mid-drive starts kicking in hard, for a nice drama-free balance.

Details on how the motors interact on this 2wd ebike:
“Hub + Mid Drive Cargo Beast”

Here is a link to what appears to be a very similar if not identical motor for sale on Amazon. You will want to ask the seller what the motor winding number is. Based on the similar name of the seller on the listing as of today, this may be the same one I bought mine from.

Rim Choice

For a rim, I wanted a wide BMX rim to better accommodate the plus-sized, 2.4″ Schwalbe Super Moto X (belted) tire I wanted to use. 2.4″ is outside the envelope of most Bullitt builds, but it will fit the fork easily and the frame barely. A tire that wide needs a wide rim. I chose the Alienation Black Sheep. It was the widest double-wall rim I could find. Its spoke drilling is angled, which should help when fitting short spokes into a small rim with a great big hub in the middle.

Cross section of the Alienation Black Sheep rim. Economical and really strong.

Spoke Choice

I specified Sapim Leader spokes in 12 gauge, with brass nipples. Once again I used Stoic Wheels as my go-to source for custom cut spokes in a world where you can pretty much forget about finding such things. He’s come thru for me on I think three separate builds now.

The spokes were my call. The wheel has proven (so far) able to take anything I can throw at it without any issues. But if I had it to do over again, I would not have chosen such heavy spokes for such a small wheel. They’re strong and all, but a spoke this heavy-duty did not like to be worked into a wheel this small with a hub this big. Sapim spokes are high quality and most likely the 2.3mm/13ga would have been a better choice, or maybe a Sapim E-Strong 2.6-2.3mm single-butted?

For me this is water under the bridge, but for anyone wishing to do a similar wheel build, consider carefully. My trusty longtime wheel builder at Stevens Bicycles got it done, but he said it was the most difficult wheel he has ever built. Looking at the spokes in the wheel, you can see why it was a struggle. Wheels generally derive their strength thru the rim, and the spokes need to provide some flexibility. If the spokes are too strong, there can be negative consequences. I clearly don’t have flexibility (think shock absorption) in this wheel … so fingers crossed it doesn’t come back to bite me.

Custom wheel build. 27mm double-wall BMX rim. As wide and strong of a rim as I could get my hands on without descending into fat bike territory.

Torque Arms (plural)

The G020 is rated for 45 Nm in its 350w, 26″incarnation. At best it is good for 60 Nm here in a 20″, 52v system with a 25a controller (thats set to slow start no less!). So, not exactly a powerhouse by design. You may not even need a torque arm on the Bullitt’s chromoly dropouts. But in my past I have ruined one chromoly fork and seen countless others destroyed by front hub motors. I consider a properly made torque arm essential as cheap insurance. Look at the pictures of the front wheel seen on this page and you will note that I have two of them. More is always better.

The Grin V2 arms I am using here are super easy to install and just as easy to remove if you have to pull the wheel off – just unscrew the socket cap at the dropout and the torque arm becomes a glorified washer.

PAS Sensor Installation

This was a major bit of fiddling that I have fortunately done before, so I didn’t have to do any heavy lifting to figure out how to make it happen. The job is to set up a pedal assist disc sensor on the bike, except the BBSHD is located on the drive side where the sensor goes. There’s no way to use it on that side, period end of story.

There are a couple of alternative sensors available that are meant to be usable on the non-drive side. Why is that a thing? The problem is anything meant to work on the drive side, which is moved to the non-drive side, is going to be reading rotational signals backwards, so it won’t work. Thus the left-side, or ambidextrous alternative. However this ambidextrous sensor is noisy and can fail via crud ingestion.

Using my chosen KT controller, its also possible to use one of two ‘reverse direction’ settings, so you can use a standard sensor. This was an option, but not necessary because, fortunately, I used a little trick that kills two birds with one stone: This particular sensor is held in with a screw rather than being molded in place, so I was able to simply reverse it in the mounting ring.

This not only solves the sensor-backwards problem, it also means the mounting ring is pointing in the opposite direction from normal, and now holds the sensor further out rather than tucking it in closer to the frame. That just so happens to be exactly what I want when mounting it in conjunction with BBSHD bottom bracket locking rings. You can see that in the pictures below.

What you see above on the right is an early test fit that is not complete. On the left you see the full, final setup. To anchor down the motor and then the PAS sensor ring, I used an inner ring, capped by the commonly-used dark black outer trim ring for the motor. Then came the sensor, capped by another inner motor mount ring. That third ring sandwiches the sensor mounting ring and holds it into place. My usual BBSHD installation uses two inner rings tightened together, jam nut style, but with the extra axle length sticking out of the 68mm bottom bracket, a traditional inner6+outer, followed by another inner did the trick. Stacking them like that has the added benefit of ensuring the motor never moves. The PAS sensor mounting ring is sandwiched as if it was a big washer.

Another reason the ambidextrous sensors don’t work well is they eat up about 1/2″ of real estate on the axle. As you can see on the left photo where the crankarm is torqued down fully… there ain’t no room for that here. There is however enough room to put on the standard magnet ring, and if you look closely you can see I placed a rubber o-ring on each side that in turn holds the magnet ring tightly in position, just a hair away from the sensor pickup.

Net result: Pedal assist is reliably enabled on both motors. That is a thing of beauty when you can get it to work.

Controller – Choice / Settings / Location / Wire Routing

All of my hub motors have been Bafang geared hubs, and all used KT controllers and displays. So I went with what I was familiar with. As noted above, sticking to what I know let me immediately solve the PAS sensor problem, among other things. I also already knew what I needed in terms of motor configuration within the controller so it operates safely within the confines of how I wanted AWD to operate: Seamlessly and without drama on a bike subject to extreme loads. I didn’t want this motor to be pulling hard on a bike with a potential total system weight in excess of 400 pounds.

So I knew I needed a KT controller. I also knew the 35 amp models I have used in the past were a) too strong and b) would not have the right motor plug. 35a controllers use the 3-pin Julet Z916, which matches up to the higher powered Bafang hub motors. A 500w motor has the ‘small’ HiGo Z910 9-pin plug, and KT controllers with that plug are in the 15, 20 and 25a range. I opted for 25a as I’d rather dial down too much power than to need more and not be able to get it.

However, I didn’t need to do much of anything except set the controller to max amps and slow-start (the C5 setting).

As to controller location, once again as with my previous AWD bikes I used a handlebar bag and simply set the controller inside of it, with the open top of the bag providing ventilation. This time I didn’t bother to use grommets to create reinforced holes in strategic spots in the bag. Because of the different sort of layout the Bullitt provides to the builder, I was able to simply run up a single bundled, loomed cable up and into the open top of the bag. You can see that cable in the right side cockpit photo below.

Front Controller bag with bundled cable simply exiting the open top. The velcro strap is in case I need to keep long pants out of the chain. And to hold my sunglasses

Controller settings are as follows for the G020 motor on a KT controller:

P Settings

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

C Settings

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

C8 = 0
C9 = 0
C10 = n
C11 = 0
C12 = 4
C13 = 0
C14 = 2

The P settings are mostly specific to the motor hardware and not to be fiddled with, although I have P5 set to operate on ‘real time voltage’ rather than let the display try and calculate it via a half-baked method built into the controller. “Real time voltage” is just as useless, actually. Free advice: Use the LCD3’s live numeric voltage readout and ignore the graphic.

Beyond that, I will leave the settings to you to figure out (its not hard, and bear in mind I was deliberately toning down the performance of the motor, looking for smooth and drama-free AWD performance), with the following manual link:

For a complete KT-LCD3 manual translated by a native English speaker, follow this Google link for the Dillenger KT-LCD3 manual.

Display and Remaining Electrical Bits

The throttle on this bike is your basic thumb throttle. I intentionally used an old design of KT controller so I could re-use PAS sensors and throttles I had sitting on my parts pile for years. Modern KT controllers use master wiring harnesses very similar to the bundled BBSHD one-to-many wiring harnesses, and so if you are purchasing one in the present day your throttle and brake cutout connections will match to that harness.

The display I used is a simple, straightforward, old-school KT model LCD3. The LCD3 is an inexpensive old standby that does everything you could want a display to do, without the fancy bells and whistles of the current generation of color displays.

But… I would have rather had a ‘pretty’ one. The KT-LCD8H is effectively the LCD3 with a redesigned color display and layout. More usefully, its settings are all visible on a single screen and can all be edited from that one screen. The LCD3 makes you work for it the old fashioned way: One setting at a time, one screen at a time. Miss one and you have to cycle thru all 30 of them after a reset. Its not the end of the world but you only have to use the LCD8H’s settings screen once to appreciate the convenience.

Still, the LCD3 does its job and is economical. Thanks to the wonkiness of the global supply chain, the Model LCD8H was unavailable when I was in the market to get the display I needed for the Bullitt.

As seen on The Great Pumpkin – A KT-LCD3 at top and a color KT-LCD8H at bottom.

Motor Cable Routing

Last and … well, probably rightfully least is the routing on the motor cable from the motor itself back to the controller that is hanging all the way back in another county, back under the handlebars.

First of all, a connection extension to the motor cable is necessary. I bought this one from Amazon – a 60 cm extension. Between the relatively long length of cable coming from the controller, and the length from the motor, this was a perfect size. However, cable lengths vary widely from one batch of controllers or motors to the next, so have your own in hand before you decide on your needed extension length.

Many builders run the motor cable up the fork and then back down again, then running it underneath the cargo box. I wanted the cable protected from ground strikes and weather, so I ran it inside the cargo box as I did the front brake cable (more on that in the separate Bits & Pieces installment).

So not only did I run it thru the cargo box interior, I found the steering arm provided me with a shorter highway straight to that cargo box ingress point. Sure, its not a fixed mount but neither is the fork blade, which also needs slack so the fork can wiggle back and forth as you dodge potholes, run around in circles etc.

Again wanting the cable to be protected, I re-used some unused bits of 3/4″ tubing left over from what I did inside the cargo box. A couple of 45-degree elbows, a few centimeters of straight tubing and a few zip ties later, a cable tunnel was firmly attached to the top of the steering arm. The motor connection from motor to extension is housed inside this tube, and experience has shown the downward angle of the front-most elbow is enough to keep water out of the tube. Speaking of which this tubing also keeps water and crud from taking its best shot at the motor connection.

There is enough slack on both sides of this tubing, along with smooth, rounded edges, to ensure there are no motor cable pinches and no tight bends that will break down the cable over time.


And that, as they say, is that. We’ve pretty much covered everything of interest on the front motor wheel build, installation and configuration. You can use this to inform your own front wheel ebike build

Or take it as a guide on what not to do, as you please.


Thats it for the front motor and wheel. Lets talk about

The BBSHD Rear Motor and Drivetrain

Exit mobile version
%%footer%%