Converting a road bike into an electric bicycle

Published on November 25, 2018

This is the guide I wish I had when I was researching how to convert a 2013 Giant Defy road bike in to an electric bicycle using a Bafang centre drive kit.

When I started I knew converting a road bike to electric wasn’t too common and that there would be difficulties. I had to read heaps of different blogs and watch lots of videos to figure out how to convert the bicycle. I managed to get it all working in the end and thought this retrospective might help others out!

Finished Bike
Finished Bike

Everything I needed for the project


  • 1 Giant Defy 2013 road bike - bottom bracket removed by bike shop
  • 1 BBSHD Bafang motor
  • 1 52v Panasonic 13.5ah GA Shark Pack
  • 1 Lekkie BBSHD Bling Ring 42T Red
  • 1 set of Bafang disc brake sensors
  • 1 custom bottom bracket adapter
  • 1 pack of bottom bracket spacers (variable widths combined to 10mm)
  • 1 Bafang gear change sensor
  • 1 DPC-18 colour display


  • Pedal wrench
  • Bike tool (Allen keys)
  • Chain breaker
  • Power drill (or Dremel if you have one)
  • Pliers
  • Snips
  • Metal file
  • Hacksaw
  • Bafang installation tool

Tools and consumables
Some tools and consumables


  • 80 grit silicon sandpaper
  • Cable ties
  • Epoxy for connecting the brake
  • Black electrical tape
  • Cable tidy
  • Blue Loctite
  • Plastic bumpers

The Bike

I’ve recently upgraded my 5 year old Giant Defy bicycle to a beautiful Cannondale Synapse. I have some great memories on the Defy cycling around New Zealand and Europe fully loaded as a tourer and I’ve gotten some serious use out of it but it is quite beat up at this stage.

I have 15 km bike commute here in Auckland. Lately I see more and more folks on electric bikes whizzing past me on the way to work not even breaking a sweat so I built an electric bicycle to replace my motorcycle for commuting on the days I don’t feel like riding a standard push bike.

Instead of just selling it on TradeMe for $100, I thought I could get a few more years out of it with an upgrade to an electric bike and save some petrol money this year too.

Bike in south island New Zealand
Bike in south island New Zealand

Somewhere in the Dolomites
Somewhere in the Dolomites

Climbing Stelvio
Climbing Stelvio

If I was building an electric conversion again I would buy a bike specifically to upgrade instead of doing it this way on the Giant Defy. The bottom bracket’s size and drop bar brakes are hard to work with on a modern road bike.

Choosing a motor

There are two common types of motors you can buy to convert your bike in to an e-bike. Mid drives and Hub drives and they all have different power options. I went with a Bafang BBSHD 1000W mid-drive unit. There are better options than this one with less power and cost but they wouldn’t fit on my bike. Getting a smaller motor means it’s cheaper, lighter and uses less battery power. So get the smallest you can in my opinion.

The motor
The motor

Quick note on hub drive motors

A type of motor you could choose is a hub-drive system. Hub drives are essentially a wheel you buy that has a built in motor. You pop the wheel in your bike and plug in a battery. It’s really convenient to install this type of bicycle conversion kit if it works for your bike.

A hub motor
A hub motor

I’ve read that there are some disadvantages with this type of motor around the way they feel to ride along with. They don’t work well with gears and don’t feel natural. Hub drives can understandably make changing the rear tyre a pain with the weight of the motor too. If you use Schwalbe Marathon Plus tyres you won’t be fixing punctures very often but I can still understand the weight issue, motors are heavy. I’ve never ridden a hub drive myself though so this info is all from articles I’ve read online.

I had some really nice Mavic wheels on my bike and I wanted to keep using those so changing one out for a hub drive was out of the question.

The second common type of motor you can buy is the mid-drive motor pictured in the previous section. These types of motors replace the drive system on your bike. You’ll get a motor that replaces everything that’s in your bottom bracket including a new chainring and cranks.

Choosing a brand

I did a couple of nights of research on brands and Bafang or “8fun” kept coming up. I looked in to other brands a little bit but there were always negatives compared to Bafang. Availability in New Zealand included. One of the more promising ones that can retrofit an existing bike is the Tongsheng tsdz2 500W but it wouldn’t fit my weird bottom bracket and didn’t seem as reliable as the Bafang. It was cheaper though.

There are some really well known names like Yamaha and Bosch making great e-bike drives but they are for frame manufacturers. You can’t retrofit them on to existing bikes. The frames are designed and built around those motors rather than the other way around.

Some good forums to do your own research are

The Bafang drives are available from reputable resellers here in Australasia and are widely available on Ali Express too. The Bafang company itself is notorious for not responding to direct contact on their website though so you are better off going through a reseller imho.

These resellers also sell all the spares and accessories you will need, usually as a package. There’s also heaps of videos and blog posts like this one describing bafang installations for various types of bikes to show you how to install the drive so it kind of makes sense to just get the most popular drive and save yourself some hassle.

Choosing a motor model

So once I decided on the brand the next step was figuring out a model. Bafang have three main models. The BBS01 is a 250W motor (some vendors tune it up to 350W), the BBS02 is a 500W or 750W motor and the BBSHD is a 1000W motor.

Bafang accessories work across all the motors so your decision should be based on what power you need, legality of the motor in your area and if the motor will fit on your bike.

Legal limit for motor power

Many countries have a legal limit for e-bike motor power on public roads and some have a speed limit also. Across Europe the limit is often 300W or so. Most bikes from the big manufacturers like Bosche, Trek or Specialized are 250-300W. That’s because this size motor works great!

These 300W bikes still get people around quickly and efficiently, the motors and batteries are light and the batteries last a long time. You might not need the biggest and baddest motor on the market unless you are riding in a very hilly area. The higher the output of your motor, the faster you will use your battery power. I would have gone for 500W if it would fit on my bike.

Bottom bracket diameter

The second really important consideration for buying a motor is will it fit in your bike? To check this you have to measure the bottom bracket on your bike with a ruler or callipers. You can get a rough measurement without taking anything off the bike but it’s even better if you can get the bottom bracket completely out to measure.

Bottom Bracket Diameter
Bottom Bracket Diameter

The Bafang motors are designed to fit in a BSA threaded bottom bracket that is 68mm or 73mm wide (that’s the distance between where the two cranks connect to the frame) with a 33.9mm diameter (the diameter of the hole in your frame). If your bottom bracket is skinnier than 33.9mm you will never be able to get the motor on to your bike. If your bottom bracket space is larger than 33.9mm diameter you will need an adapter to fill in the space.

You want to turn your bottom bracket diameter into BSA diameter to fit the motor. You can see some common bottom bracket descriptions and dimensions here: Some of those ones, especially the asymmetric bottom brackets are going to be REALLY difficult to work with. Maybe reconsider the bike you have chosen unless you have direct access to a lathe to make an adapter.

My Giant Defy has bottom bracket that is roughly 41mm in diameter. I had to buy a custom aluminium adapter from Luna Cycles that I put in the bottom bracket space to turn it in to BSA diameter.

Bottom Bracket Adapter Diameter
Bottom Bracket Adapter Diameter

You can also buy off the shelf adapters for some bottom bracket types to turn them into BSA. They typically only work bottom brackets that are the exact width of BSA and you are only changing the diameter. So this leads us to the second problem…

Bottom bracket width

BSA bottom brackets are usually 73mm wide and the Bafang motors are designed to support this width. My Giant Defy has a ~90mm wide bottom bracket. The BBS01 and BBS02 will only work in 68mm or 73mm bottom brackets.

Bottom Bracket Width
Bottom Bracket Width

The BBSHD is the only motor you can get that fits wider bottom brackets such as 100mm and 120mm. It comes in multiple sizes to accommodate more bikes. Most vendors of Bafang products only sell the standard 68mm and a larger 100mm. Bafang sell some other sizes like 90mm and 120mm but not all vendors sell these to keep stock under control I guess. You can get a motor that has a fitting that’s slightly longer than your bottom bracket width and use aluminium spaces to make it fit correctly.

Bottom Bracket spacers
Bottom Bracket spacers

This is what I did for the Giant. I bought a 100mm motor and used an adapter to make it 41mm diameter and used roughly 7mm of spacers to make it fit snuggly with its bracket. Please note that you don’t want to get a motor that requires too many spacers because it ruins your chain alignment by pushing out the chainring. Mine is borderline OK and I can’t use low gears. I probably should have gone for the 90mm direct from China but my electric bike does work OK, it’s just not optimal with the chainring alignment.

Bottom Bracket flush with spacers
Bottom Bracket flush with spacers

So if you have a road bike. And it has a weird, wide bottom bracket (wider than 73mm) then you have to get the BBSHD. And you have to make sure you get the correct width. You have to have enough threads on the motor coming out the side of your bottom bracket so you can secure it to the bike frame. But you can’t have too much extra width requiring spacers (more than 10mm imho) or you will ruin the chain alignment.

Bottom Bracket spacer affecting chain alignment
Bottom Bracket spacer affecting chain alignment

If you have a fat bike or some mountain bikes with a wide chain stay, you also have to make sure the cranks and chainring will fit and turn without hitting your chain stays.

I almost purchased my motor from Ali express but I noticed that the seller actually sold the 120mm Bafang model with spacers to get it to the length you ordered. This is a terrible solution because the spacers ruin your chain alignment.

When you’re purchasing the motor make sure that you are actually getting the specific length motor and not a 120mm one with spacers.

Choosing a vendor

There are lots of resellers of Bafang motors. In my research I found one company getting recommended all the time - Luna Cycles. This is a US company that resells bafang motors and all the accessories you might need. They have some kind of partner company in Australia called Luna Mate that sells similar kit to us down here in Australia and New Zealand.

I had already ordered some tools and parts from Ali Express before I found this company, if I was doing it all over again I would just order everything I could from Luna because they deliver really quickly and you have everything in one package so you can build your bike right away.

I paid NZD $1,850 for the BBHD, a huge 52V 13.5Ah battery and a great colour screen. I also got a brake sensor kit, a programming cable, a spacer kit, a throttle and a fancy Lekkie Bling Ring 42 tooth chain ring. Everything went super smooth and delivery was a week or so. I could have saved roughly $400 by purchasing from Ali Express but I was afraid I would have to deal with customs and sending back a defective unit would have been a pain in the ass! Luna Mate also stock batteries in Te Anau so you don’t have to deal with customs and mine was delivered in like 2 days.

I highly recommend Luna Mate!

Choosing a battery

For the BBSHD you need at least a 48V battery. I went with a 52V because that’s what Luna Mate had available. Other than that get as much battery (Ah) as you can afford I guess. Battery lifetime is in charging cycles so if you have to charge less often you should get more life out of the battery. I think you get something like 1000 cycles out of a battery so judge lifetime by your commute.

I don’t know much about batteries but there are some interesting YouTube videos comparing different voltages and such. I was happy to go with the choices on Luna Mate.

The “Bling Ring”

You can buy a special chain ring called a Bling Ring for the Bafang electric motors. I recommend getting one. It’s much lighter than the chain ring provided by Bafang and the chain fits the teeth FAR better. This means there’s much less chance of an unexpected chain derailment. They also have less teeth than the default chain ring which puts less strain on the motor and makes for a smoother take off. On top of all that they look a lot better too :)

Sizing the battery for your bike frame

You can get batteries in different packages. They can be mounted to your pannier rack, on the down tube or in a frame bag. This kind of depends on your bike. I went with a downtube battery. The bracket screws in to a bottle cage mount. It’s all pretty neat and easy really.

I added some rubber bumpers to the bike frame where the batter bracket could flex to help give it more stability. The bumpers are usually used to stop press doors from banging shut. 3M make them and you can get them in any hardware shop.

If you have a mountain bike the downtube battery may not fit inside the frame triangle so you need to get a triangle battery and a frame bag. Some people mount the batteries underneath the downtube. If you have a compact road bike frame, make sure the pack and bracket can fit on a bottle cage bracket without hitting the seat tube. I didn’t measure this and there is only like 5mm of clearance. I was just lucky!

Battery seat tube fit
Battery seat tube fit


Bike setup

You need make space for your new motor by removing the bottom bracket. Mine requires a special tool so I just asked my local bike shop to help. They did a fantastic job and even cleaned out the bottom bracket for me. If you have a press fit bottom bracket and don’t know what you’re doing you can damage the frame so be careful or get help!

If you look into the bottom bracket space there might be some spot welds or screws protruding into the space. This will prevent the motor and adapter to fit through easily so you need to sand them down until the motor and adapter fits through.

Spot welds inside bottom bracket
Spot welds inside bottom bracket

My bottom bracket tapered a bit towards the middle so I also had to sand a little bit off the diameter of the adapter I received from Luna Cycles to make it fit. I used a drill with sandpaper wrapped around a drill bit to do the inside of the adapter and the inside of the bottom bracket. This is stupid and dangerous though, use a Dremel tool if you can.

The bottom bracket adapter I ordered was also too long (my fault) so I had to hacksaw off 5mm from the end and file it down to be smooth. You need to have the adapter fit just inside the bottom bracket. It shouldn’t protrude out the side where the teeth of the motor bracket need to bite into the bike frame. Better to order too long from Luna Cycles though imho.

Adapter fit in bottom bracket
Adapter fit in bottom bracket

You need to completely remove the front derailleur. Just unscrew the bolts holding it on and break the chain to remove the derailleur from the chain. I just snipped the gear cable. You wont need it again.

On my Giant there was a plastic cable guide on the underside of the bottom bracket for the derailleur cables. This was too big for the motor to fit so I removed it, cut off the larger side and put it back on in reverse. Be careful here as this screw fitting is very fragile. It’s a steel bolt (strong) directly into the aluminium bike frame (very soft) so if you tighten it too much it will tear the threads.

Cable guide under bottom bracket
Cable guide under bottom bracket

I also hit the screw head with the motor during installation and bent it. I will never be able to remove it and reinsert without rethreading now. It may fall out at some stage so I will have to keep an eye on that.

Bafang motor installation

You want to have the bracket flush against the bike and perpendicular to the connection on the motor itself. To get the bracket flush against the bike frame there should only be threads on the motor protruding from the bottom bracket. You shouldn’t see non-threaded motor. To achieve this you put spacers on the drive side until only threads are showing on the non-drive side.

These spacers mean that the bracket will be offset from the motor connections so in your kit from Luna you will have received some washers and longer bolts to get this right. The bracket should be perpendicular to the bike frame and the motor to get a correct fit.

Bad bracket spacing
Bad bracket spacing

Note, you want to use as few spacers as possible because they force the chain ring out of alignment with the rear cassette. I found it was ok to have about 2mm of non-threaded motor protruding from the bottom bracket because the motor bracket is roughly 5mm thick anyway.

Bottom Bracket Width with motor
Bottom Bracket Width with motor

The bracket should have the ridged side with all the ‘teeth’ turned towards the bike frame and should be in contact with the bike frame (not the bottom bracket adapter). This locks the motor to the frame and prevents the motor from hanging down.

Battery and battery bracket

You screw this in to the bottle cage screws. Make sure it is positioned high enough on the down tube so the battery can fit without hitting the seat tube. Be very careful working on the battery bracket with the motor plugged in. One of the bracket screws is right by the terminals and the motor holds power even without the battery plugged in.

Battery bracket
Battery bracket

I got a nasty fright when the screw hit two terminals and it arced. I thought I was fine without the battery connected but there is definitely some power stored in the motor somewhere so be careful! Plug out the battery bracket from the motor if you’re doing any work near the pins.

Speed sensor

The speed sensor is used by the motor to detect motion of te bicycle. If you’re pedalling and the back wheel is moving (detected by the speed sensor) then the motor will start giving you assistance.

The speed sensor sits on your chain stay and the magnet is put on the spoke. On mine there was already some cured blue Loctite on the magnet that made it difficult to attach. I had to use two pliers to get it on there. There should only be 4-5mm gap between the magnet and the sensor. There’s a target marked on the sensor where the magnet should be positioned. I just used cable ties to keep the wiring tidy.

Speed sensor distance
Speed sensor distance

Speed sensor wiring
Speed sensor wiring

Brake sensors

It’s a good idea to have a sensor that stops the motor when your brake is applied. It’s hard to fit these on a road bike’s drop brakes. Luckily I had some Cane Creek cross top levers already on my bike ( I was able to epoxy the magnet on to one of the levers and I used cable ties and tape to tidy it up.

Brake sensor
Brake sensor

I’ve ordered another gear sensor that I’m going to inline in to the brake lever cable so I have motor shut off when on the drop brakes also. If you only have drop handlebars I recommend purchasing a second gear shift sensor to use a brake sensor. Get two if you want front and back.

Gear detector

The gear sensor is used to cut off the motor when you change gears. This prevents putting too much strain on the chain and making a jerking riding experience. I installed this sensor on the chain stay but found out afterwards that this is incorrect.

Gear sensor my way (wrong)
Gear sensor my way (wrong)

The correct way to install these sensors is to put them in line with the cable housing. You have to disconnect the cable from the derailleur pull it out, put it through the sensor and then back through the housing. I’ll be changing mine next time I replace the cable.

Gear sensor correct
Gear sensor correct


The screen mounts were too small for my handlebars but I just kind of forced it over the bars. I thought it might snap but they were flexible enough to fit without cracking. The thumb control attached to the screen was far to small to close around the handlebar with the given screw fitting so I just used cable ties to keep it on my handlebar.

Thumb control attached with cable ties
Thumb control attached with cable ties


I just used cable ties to tidy everything on to the seat tube. It doesn’t look great but does the job. I used a cable tidy to keep the handlebar area looking ok. I ran all the cables up the down tube by the battery.



I did some basic waterproofing with black electrical tape around all the connections. I will be putting some grease where the cables leave the motor housing. The Anderson connection where the battery connects to the motor is a bit of a worry for me. It rains all the time here in Auckland’s sub tropical climate! I have wrapped it in electrical tape but will need to think of something more long term like a plastic container with a proper gasket of some kind.


Finished Bike
Finished Bike

Darragh ORiordan

Hi! I'm Darragh ORiordan.

I live and work in Sydney, Australia building and supporting happy teams that create high quality software for the web.

I also make tools for busy developers! Do you have a new M1 Mac to setup? Have you ever spent a week getting your dev environment just right?

My Universal DevShell tooling will save you 30+ hours of configuring your Windows or Mac dev environment with all the best, modern shell and dev tools.

Get DevShell here: ✨

Read more articles like this one...

List of article summaries


How to add canonical meta tag in NextJs

It’s important to add a canonical meta tag to your pages to improve SEO or to avoid issues with query params in crawled pages.

You can easily add a canonical meta tag in NextJs by using the next/head component.


Open Telemetry in NextJs and NestJs

I wrote about how to use open telemetry with NestJs and React previously.

I wanted to add open telemetry to my NextJs app that calls a NestJs backend. The paradigm of SSR preferred by NextJs is a bit different than the CSR paradigm of React.

I’ll describe the differences and how I added open telemetry to NextJs that propagates to other backend APIs.


Comparing next start and next standalone with docker

I wrote about how to use nextjs with docker.

I wanted to compare using next standalone like in the article and just using next start.


Force RSA key support for Azure DevOps Git SSH

If you’re using Azure DevOps Git SSH you have to use an RSA key. This is because Azure DevOps doesn…