Building a Custom E-Cargo Bike Based on the Famous Bullitt Frame
An open-source BOM and manual for an affordable and high-end e-cargo bike
In 2020, the year the COVID lockdown started, I was looking for fun things to do that don’t require me sitting in front of a computer. A few years earlier, I traded my BMW for an electrified Bullitt cargo bike. It used an Alfine 8-gear internal hub, and I added a Bafang front-wheel motor. I had made long camping trips with the kids and decided it’s time to either make some changes to the build or get a new bike.
During the COVID lockdown, the bike market went crazy. The rush on e-bikes drove up prices, and many popular bike models and parts became unavailable. Also, stock e-cargo bikes are pricey, and their features aren’t that great. E-cargo configurations were mostly for city commuters who want to ride their kids to Kita, while I was looking for something a bit more flexible for long camping trips.
I came to a conclusion to build a custom e-cargo bike from scratch and set the following goals:
- An e-cargo with enough power and reach for a 100km trip
- External gears for easier maintenance
- An open electric drive system that I can maintain and replace parts like batteries (to avoid brand lock-in and expensive replacements)
- A BOM of 3500 EUR
Building a cargo bike from scratch comes with a few unique challenges. For example, the large distance between the front wheel and handlebar requires a much longer hose for hydraulic brakes, which essentially means you need to find a hose matching your system, mount it to the disc brake, fill it with hydraulic brake oil and bleed it to remove air.
This blog post is intended for anyone who wants to get inspiration on building their own cargo bike. It demystifies the challenges around building a bike from scratch. You should have some basic understanding of how bikes work and the right tools. Other than that, there is no reason why you can’t build your own bike.
TL;DR and useful links
Here are my personal take-aways:
- Standard Bullitt frames can be equipped with affordable and powerful Bafang 8fun motors
- Go for a large and powerful battery, and mount it as low as possible on the front loading area
- Use quality external gears and 4-caliper downhill brakes for best performance
- Cover screw threads on the frame with nail varnish to prevent or slow down corrosion
- Leverage the hollow steering tube to run cables to the display and brake sensors internally
Useful links:
- Bullitt bikes: https://www.larryvsharry.de/
- Larry and Harry’s assembly video: https://www.youtube.com/watch?v=uVUydLky6OY
- Open source BOM on github: https://github.com/basslet/bullitt
- Bafang mid-motor installation: https://www.youtube.com/watch?v=rcYVyuDC6e8
- Inspiration from other e-cargo builders: https://www.flickr.com/photos/jamestownboats/albums/72157703919021851
- Cargo Bike Forum (in German): https://www.cargobikeforum.de/forum/index.php?forums/lastentransport-2-rad.2/
Why a Bullitt in the first place?
There are plenty of choices for cargo bike brands. I’ve been riding the Larry vs. Harry Bullitt for years. The only other bikes I briefly tried were Riese&Müller and Bakfiets. I much prefer the Bullitt frame over any other solution, both for looks and handling. While this choice is purely subjective, there is one genuine benefit of the Bullitt frame, at least in Germany: It perfectly fits into standard elevators used in train stations and many houses. In comparison, the Bakfiets wheelbase is a few centimeters longer and will not fit into the elevator. So if you want to take a trip to the countryside and use a train for part of the way, you might need to carry your cargo bike up the stairs.
If money wasn’t a consideration, I would most likely go for the titanium Catan Cargobike. But with a retail price of 8800EUR, it is well above my price target.
Parts research
A significant amount of time went into research before ordering parts. During the research, I had to work around the limited availability of certain bike parts. For example, Larry vs. Harry does not offer the “RAW” Bullitt frame for integrated motors, so I needed to order a standard RAW Bullitt frame and use a motor that fits into a standard bottom bracket, like the Bafang 8fun. However, the Bullitt frame is thicker and differently shaped than a regular bike, so there’s a high risk that motors won’t fit.
Sourcing
Due to the shortage of bike parts in 2020 (and 2021), I needed to be creative in finding the desired components. The primary sources for parts were:
- Ebay for motor, gear shifter
- Bike-components.de for Shimano SLX, hydraulic brakes, rear light, accessories
- Ali-express.com for quite essential parts like battery, wheels, handlebar
Frameset
Larry vs Harry only offers a few frame combinations and frames for integrated mid-motors were not available separately. I went for the RAW aluminum version of the standard frameset.
Motor
A description of a custom e-Bullitt build in a German bike forum revealed some handy information: The Bafang 8fun mid-motor fits into a Bullitt frame, but it needs to be disassembled to slide the motor in and assembled again when on the bike.
I decided to go for a Bafang 8fun 750W mid-motor with a P850C display. This motor offers a good combination of size and power needed for an e-cargo bike.
Gears
Cargo bikes require more power on the drive train, regardless if you ride electric or not. If you go for an internal hub, you should invest in a good one. The hub has a few disadvantages in terms of handling, e.g., when removing the rear wheel for a flat tire.
I chose the 11-speed Shimano SLX M7000 external gears. Since I use a Bafang motor, I only needed the rear drivetrain and gear shifter. In this case, the “M7000 upgrade kit” would be perfect. Except, none of the SLX sets were available anymore due to the increased demand and supply-chain shortages. I had to purchase all parts individually from different sources
Brakes
A Bullitt bike can load up to 180kg. With the bike frame and parts, you are moving 200kg. And in an e-cargo configuration, you are moving 200kg at high speeds. You absolutely need high-quality disc brakes.
After some consideration and many phone calls to a semi-professional cyclist friend, I decided the Saint BR.M820 4-ceramic piston brake calipers are my best option.
The disc brakes use 203mm for the front wheel and 180mm for the rear wheel, which are the largest discs compatible with the Bullitt. Last but not least, you’ll need the matching Shimano adapters (see github for exact part numbers).
Wheels
The front wheel is a carbon tri-spoke that I sourced from Aliexpress. It was pretty hard to find decent 20” carbon spokes, and I learned about the difference between 405 and 451 wheels. The 405 are standard 20” wheels while 451 are a little larger. The Bullitt fork has enough headroom for slightly larger wheels, so I gave the trip-spoke 451 a try.
451 bike tires are less common. Bike tires in 451 dimensions currently include:
- Schwalbe One 25mm
- Schwalbe Durano 28mm
- Kenda Small Block 8 Pro 28mm
- Kenda Kompact Race 28mm / 37mm
- Maxxis DTH 28mm / 37mm
- Primo Comet 37mm (low quality, doesn’t sit well on the rim)
- Michelin City J 37mm
Not produced anymore:
- Schwalbe Shredda
- Schwalbe Mow Joe
Handlebar and integrated display holder
Handlebars on converted e-bikes often get messy with cables and attachments. I tried to avoid this in several ways:
- An integrated handlebar made out carbon
- Leveraging existing mount systems like the Garmin mount
- Reducing the number of accessories to the absolute minimum: Display and 1 brake sensor (no thumb throttle, no second brake sensor)
This particular carbon handlebar comes with a 2-screw mount system, while the Bafang P850C display has its own mounting interface. I simply needed a holder that combines the two interfaces and places the display at a nice angle, considering the 17-degree drop of the handlebar.
Key parts:
- Shimano SLX M7000 11-speed
- Shimano Saint brakes BR-M820
- Bafang 8fun BBS02B 750W motor
Accessories:
- CONTEC Flat Fenders for 28” wheels that need to be cut and resized for 26” and 20”
- BUSCH + MÜLLER Mü rear light
- Cinelli straps
- Custom cable sets and tubes
- Brooks saddle
Ordering parts
During lockdown, a lot of bike parts became unavailable. The Shimano SLX 11-speed was (and still is) unavailable.
Most key parts like gears and brakes were ordered from bike shops in Germany. A few of the more exotic parts like the integrated handlebar and carbon tri-spoke wheel came from AliExpress.
My experience with orders from China mainly was positive when following some basic rules:
- Only order from vendors with positive ratings. Don’t order if a vendor doesn’t have ratings
- Read the reviews
- If in doubt: contact them
- Be patient (especially during a pandemic)
The longest shipment time was 4 months for the battery charger. Some parts arrived within 4 weeks. In a few cases, I had to pay extra customs on import.
The most significant benefit of ordering from AliExpress is direct contact with the manufacturer. When ordering the handlebar, I could ask questions about the matt finish and the Garmin mount and request them to cut the handlebar to a preferred width. None of this would be possible on standard parts ordered from more prominent brands (at least not without substantial extra charges). Kudos to those vendors for offering a fantastic service.
3D printed parts were first tested on my friend’s 3D printer and then ordered from Shapeways in Norway. The display holder was printed in black metal using metal sintering.
Assembly
This is where the fun starts. The first step is the assembly of the frame, fork, drop-outs, and steering rod. As long as you follow Larry vs. Harry’s excellent guide and checklist carefully, there is not much that can go wrong.
Here is a list of useful tools.
Must-have:
- Torque wrench
- Grease. A lot of grease
- A brush (toothbrush, watercolor brush) to apply grease
- Allen keys
- Cable ties
Nice-to-haves
- Bike stand
- Clipper
- Caliper
- Electric screwdriver / cordless drill
- Flex (angle grinder)
The Bafang 8fun mid-motor needs to be disassembled to fit through the crankshaft. This step was more challenging than expected. I had to apply a lot of force to open the Bafang chassis, even after removing all the screws. While doing so, the water-proofing insulation came loose and got slightly damaged. I tried to put everything back to where it was and decided to apply some extra water-proofing later.
Instead of a standard honeycomb board, I started to experiment with solutions that use the space between the cross bars of the load area. The 34AH battery dimension was chosen to fit into one of those areas, save space, and keep the heavy battery’s gravitation point as low as possible.
I cut the .5mm aluminum sheet to allow the steering rod to pass without touching anything. The aluminum sheet was then fixed with nuts and bolts.
Some more parts arrived, and I started to add the handlebar and run cables for the shifter and brakes. Most of this work is the same as for any standard bike.
Front wheel and hydraulic brakes
Here comes one of the most demanding challenges, in my opinion: The front wheel is far away from the handlebar and a standard 1000mm hydraulic brake hose that would fit a regular bike is simply too short. Even a 1700mm hydraulic hose for a rear wheel is too short. The only choice you have is to order a custom hose, fill it with brake oil and do the bleeding.
If you have a good bike shop nearby, I would probably recommend asking them to fit the brake for you.
I’ve ordered a 2000mm hydraulic brake hose from Aliexpress, which came with pins compatible with Shimano Saint brakes. I thought 2000mm is more than enough, but it turns out it’s still tight. Try to get a 2200mm hose to give some more flexibility for the cable routing.
I mounted the brakes and hose and used the Shimano TL-BT03S Bleed Kit to inject mineral oil into the hose. Once done, the brakes worked, but the response was too soft. Soft brakes are often a symptom of air trapped in the brake hose. Bleeding a standard front brake hose is relatively easy as the hose travels vertically up the front fork. The brake hose makes all kinds of turns on a cargo bike and travels horizontally along the frame.
Vibration works magic when you want to get liquids or air to travel through a tiny hose. So I propped up the rear wheel to let the air travel through the hose upwards to the handlebar and mounted an ERM (eccentric rotating mass) motor to the hose. ERMs are primitive vibration motors typically used for haptic feedback, e.g., in a Playstation 4 controller.
Here is a short video on Twitter showing the ERM in action:
It took a while, but I got the air removed, and the front brake now feels strong and tight.
Cabling
Electric cables should run inside the frame whenever possible. The Bafang motor has a 6V output for front and rear lights. For the Bosch&Müller rear light, I connected a small cable and ran it through a small hole in the frame up the seatpost, drilled a hole into the seatpost to exit the cable, and connect it to the light. Fiddly as hell, but doable.
The display and brake sensors connect to the main motor unit through a single cable whip. I wanted to avoid excessive cables around the cockpit by running the cable whip from the handlebar through the hollow steering rod.
A 3D printed ahead cap guides the cable, acts as a strain relief, and prevents dirt from entering the bottom steering rod.
It was more challenging to find a suitable solution for the top end of the steering rod. Exiting the cable through the Ahead cap still left a fair amount of the control cables visible.
A hole drilled into the aluminum shaft extender just below the stem seemed the cleanest solution to me. I only use a single brake sensor on the front brake and the display but omitting the manual speed control and 2nd brake sensor.
This fixed-size stem extension replaces the adjustable “Easy-up” extender that typically comes with each Bullitt.
The final look and feel of the handlebar are relatively clean for a DIY e-bike. The integrated stem and handlebar, internal cable routing, and minimized controls help the minimal approach.
Front and rear fender
My Bullitt uses Contech flat fender originally made for 28" wheels. The Bullitt front wheel is 20" and 26" respectively. Contech fenders are flat and made of sandwiched aluminum, which allows them to be bent to smaller sizes. It’s not ideal, but I really could not find any other alternative for flat fenders for either 20" or 26" wheels.
Both the fender and the aluminum rods holding the fender need to be cut with an angle grinder. I also cut the rear fender to perfectly fit into the Bullitt frame and extend downwards to provide some mud protection for the Bafang motor, which I think works nicely.
The biggest battery
For electric conversion, cargo bikes have a significant advantage over regular bikes. And I’m still shocked that none of the commercial e-cargo bikes are taking advantage of it: The low load area at the front is ideal for mounting a large battery while keeping a low gravitation point, like in a Tesla car. As a result, the battery weight has far less impact on the riding, particularly when turning.
When I ordered the battery on Aliexpress, I was joking about buying the biggest battery I could find in China. In fact, it was the biggest 48V pedelec battery I could find at the time, and I cannot imagine mounting this battery on a regular bike frame.
The battery offers 34aH at 48V and uses high-quality Samsung cells that discharge more consistently and have a longer lifespan than cheaper, unbranded cells.
The battery comes in a hard plastic casing and perfectly fits into the frame cavity. The aluminum sheets are cut out to hold the battery in place. One caveat: Instead of placing the battery in the center, I had to shift it to the left to allow the steering rod to pass without hitting the battery. In practice, this doesn’t affect rideability.
Learnings and optimizations
First up, I’m incredibly pleased with this Bullitt build. The electric drive solution and battery combination pack a bunch, and the SLX shifter and Saint brakes are excellent companions to ride fast and safely.
Some early concerns turned out to be just fine:
Motor clearance: The Bafang mid-motor reduces the ground clearance quite a bit. I had concerns that the bike motor would get caught on a high curb. In practice, clearance hasn’t been a problem, either in a curb or when going cross-country.
Noise from the aluminum sheet: The thin aluminum sheet for the front load area works as a massive membrane and creates lots of noise. However, once the sheet is mounted to the bike frame and the heavy battery placed on it, there is almost no audible noise coming from the aluminum sheet — even when riding over cobblestone streets.
Weight and size of the battery: Mounting the battery this low poses some risk that either the aluminum sheet or the battery gets damaged due to the low ground clearance. The .5mm aluminum might be too thin to hold such a heavy battery. None of this seems to be a problem in practice.
Maintenance
Cargo bikes often have disadvantages for maintenance and may require special parts and shops to do the repairs. The standard bike parts and external shifters, however, make maintenance easy.
Since the e-cargo is putting a lot more strain on both the drive train and brakes, I regularly check the frame and screws, tighten bolts and add grease.
Disc brake pads will need to be replaced every half year, and the chain probably once a year.
The raw frame is not coated in any varnish and will likely “age” over time and lose a bit of its shine. The integrated screw threads in the frame are likely to corrode, and I covered all screw threads with nail varnish to prevent or at least slow down any corrosion.
Riding
As I finish this blog, the COVID lockdown is still on us. But I did get to take my new Bullitt for a few rides, including a nice hilly 120km ride from Berlin to Buckow.
The external SLX 11-speed and Shimano Saint disc brakes provide a powerful combo for Bullitt riders who like to go fast and far.
I hope this summary and the parts list on github help and inspire more riders to build their own e-cargo bike.
Remember: The full parts list and additional pictures are on github: https://github.com/basslet/bullitt
Ping me or leave some comments if you have questions, and I’ll try to get back with answers.
Happy riding!
Huge thanks to my friends Amir Berrezag and Robert Michler for the ongoing support!