Electric Motorcycle Conversion (eBandit) Build Log

Hey Folks,

A while back we approved a long term project which is mine and my friend’s electric motorbike conversion. Here is the first update.

So our initial battery pack design features 3 individual battery packs that can work independently and separately from each other. This will allow us to start off with just 1/3rd of the cells and give us the most flexibility with cost and placement. Each battery pack will be 100.8v and consist of 15 parallel cells, or 24s18p. It will be able to discharge about 15kW of continuous power and store around 5.2kWh of energy. Each battery pack will be built and added to the other packs (in parallel) over time. You can see a functional design of the battery pack below, with each battery pack consisting of 24 lots of 15 cell modules (3×5) placed in series.

(above) The logical design of the bike’s battery system, 3 individual 5.2kWh battery packs.

Each battery pack will take up about 41cm x 38cm x 7.5cm of space. Below you can see the 3 separate battery packs layed out in 2D, and my 15″ MacBook Pro for reference. Now that I’ve seen the physical space the battery packs will take up, it’s much easier to visuale where they’re going to fit on the bike. I’m also confident that we’ll be able to re-use the tank as a storage area because we’ll be able to fit the batteries below it.

The cell holders from the 3 battery packs are laid out on a table with a MacBook Pro visible for size reference.

In the photo above, you can see the cell holders have all been joined together. Each 3×5 cell holder has small plastic bits that allow you to join them together to make bigger battery packs. When they’re attached to the bike, they won’t be perfectly square as in the photo above. Doing this would waste a lot of space. Instead, each pack will be put in and around the bike’s frame to maximise space. You can see some of the individual cell holders in the photo below.

Three individual 3×5 cell holders with a keyboard numpad for size reference.

You can also see this on our blog here.


It’s been a while since I’ve posted due to HSBNE’s lockdown due to COVID-19. However, a lot has been happening and I’ve put up a new blog post. There’s a copy of it below, but be sure to view it on my blog for best results.

I hope everyone is staying safe and healthy during the current COVID-19 global pandemic. It’s affected this project as I had to put in on pause during our mandated lockdowns. A lot has happened since my last post! Unfortunately my friend Matthew is too busy to work on the project so I’ve taken it over completely now.

I’ve decided on the ZEVA EVMS for the traction pack BMS. This is a hybrid BMS and EV control system. It has many great features, like: contactor control, motor controller precharge, integration with CAN bus chargers, detection of traction circuit isolation faults, battery state of charge, CAN bus API, etc. Overall this system was the best value in terms of price and features. It is even made right here in Australia. The CAN bus API also means it can be easily integrated into the touch screen dashboard further down the track.

It’s a pretty neat system, and is very modular / configurable. This will allow for future expansion and design changes relating to the traction pack. There are 4 main components of the system, of which are summarised and explained below.

Note: all images were sourced from the www.zeva.com.au website.

The EVMS (Electric Vehicle Management System) “master unit”

This is just called the EVMS, but it acts like the “master unit” or brains of the whole system. An example wiring diagram from their user manual has been included below. As you can see this EVMS serves two main purposes. Firstly, it acts as the BMS system. It monitors the battery state of charge (SOC), current in/out of the battery and individual cell voltages. Secondly, it acts as an EV controller. This means it takes care of things like the main and auxiliary contactors; monitoring insulation integrity of the traction system; start, stop and control of a connected charger via CAN, and a few other useful things.

A diagram showing all of the components that make up a typical EV traction system controlled by an EVMS.

A diagram showing all of the components that make up a typical EV traction system controlled by an EVMS.


The EVMS BMS-12 module monitors up to 12 lithium battery cells in series. You can add multiple of these BMS modules in series and parallel. The ID selector on board allows you to select a unique ID. This means you can have up to 16 of these BMS units connected to the same EVMS master unit. They also have shunt resistors in them that are used for balancing the packs at up to 120mA. This is a pretty decent balancing rate. The current traction pack battery will probably be around 26s or 96v nominal which means I need 3 of these.

The EVMS BMS-12 module. You can see the 12S cell connector on the bottom with other connectors for the CAN bus.

The EVMS BMS-12 module. You can see the 12S cell connector on the bottom with other connectors for the CAN bus.

EVMS CAN Current Sensor

ZEVA have two types of CAN based current sensors. The first is a hall effect type which goes around one of your traction pack wires. The other one is a shunt type that you wire in series with one of your traction pack wires. I chose the hall effect type as it will be a little bit easier/cleaner to install. The version I got will measure up to 300A of current. This should be suitable for the expected 220A peak current draw of the entire system. Try to source the smallest rated version you can get away with, as they will generally give you the most resolution/accuracy.

The EVMS CAN current sensor with the CAN bus connector on top and the blue ring you feed a traction pack wire through.

The EVMS CAN current sensor with the CAN bus connector on top and the blue ring you feed a traction pack wire through.

EVMS Monitor V3

The EVMS monitor is a small screen that connects to the EVMS CAN bus. It allows you to view pack voltage, current, power, state of charge, temperature and auxiliary voltage, among others. It also allows you to configure the EVMS system and a range of devices that are on the CAN bus. You can configure things such as system cell count, min/max voltage cutoff, etc. The EVMS monitor will be initially used while developing the motorcycle. However, later on it will most likely be replaced with the custom touch screen dashboard that I’m developing. I chose the panel mount version so I can integrate it into the bike more permanently if I end up deciding to do that.

The EVMS monitor showing an example of the current system voltage and other information.

The EVMS monitor showing an example of the current system voltage and other information.

Powertrain Selection (QS Motor 8/16kW)

I’m happy that I’ve finally decided on a motor. After talking with the QS Motor sales team, I’ve decided on their 8,000/16,000 watt hub motor. I still haven’t quite decided on a controller yet, but I’m leaning towards a Sevcon one as they look very nice. This motor has a continuous rating of 8kW and a peak rating of 16kW. I think it also has very short burst rating of about 20kW, but I’m unsure. The ideal nominal battery voltage is 96v (109v fully charged). I expect to get really good performance out of this motor – in the order of a ~5 second 0-100km/hr time. This of course depends on the final traction pack, bike weight and motor controller. This should exceed the performance of my 310cc BMW G310r all while not making any noise – this makes me very happy :).

The higher powered version (12/24kW) was originally what I wanted. However, the total cost for the motor and controller goes up quite a bit, and I’d need to widen the rear dropout. The QS motor sales team were very helpful and convinced me to go down from the 12kW to the 8kW as it was better suited to my needs. They are trying to sell me an APT 96600 controller. The APT doesn’t have a CAN bus for configuration, throttle control or monitoring real time data like RPM. All of which I’d really like, but aren’t a hard requirement. I also can’t find almost anything about this controller online so I’m hesitant to use it and will likely go with a Sevcon one.

ELV Auxiliary Power System (12v)

Even EVs need a low voltage auxiliary power system. There are two main reasons for this. The first is it’s simply easier to run all of your headlights, dashboard, and other standard automotive equipment off of 12v. The second is a legal requirement under the VSB 14 NCOP (national code of practice) for electric vehicle conversions. The last line is important to observe when speccing out a suitable battery capacity to use. The relevant excerpt is included below for reference.

An independent auxiliary ELV (nominally 12V) must be used to guarantee the supply of power to safety equipment such as lights, brake boosters and windscreen wipers in the event of a shutdown of the main battery system in the vehicle. … The auxiliary supply must be capable of operating the hazard lights (four-way flashers) at normal duty cycle, for a minimum period of 20 continuous minutes.

Vehicle Standards Bulletin (VSB 14) – National Code of Practice for Light Vehicle Construction and Modification

I haven’t decided yet what battery I’m going to use for the ELV system, but I’m thinking of one of those small 12v LiFePO4 batteries with a built in BMS etc. These are about 1.5-2x more expensive than a 12v lead acid battery but are around half the weight, last significantly longer (5-10 years vs 1-3 years), and are a drop in replacement for lead acid batteries. This means I can use any standard 300W – 500W DC DC converter that charges a 12v lead acid battery like the elcon or sevcon units.


I’ve spent countless hours over the last few weeks researching different options so I am hopeful that I’ve made the right decision. All of the parts from ZEVA above have been ordered and should be with me in the next couple of weeks. I also ordered a Gigavac GV241BAX 400A DC contactor for the main traction pack (way higher rated than I need, but ZEVA had them in stock so it was easier), and a ZEVA 12v low voltage cut off for the ELV system. This will allow me to start running some experiments necessary for developing the main traction pack and ELV system. My credit card has already had enough of a work out for the time being, so I’ll be ordering the motor and controller in a few weeks when it’s had a chance to recover :joy:.

You can also see this on my blog here .

Some of you may have noticed me in the metalshop teaching myself how to weld. Well the fruits of my labour have paid off and I’ve finished most of the battery cage for the eBandit (what I’ve now decided to call the bike!). Here is a copy of my latest blog post (website version here).

Over the last few weekends I’ve been teaching myself how to weld (gassless mig). I’ve also been practising a lot as the last thing I want is a shoddy weld to come apart on the highway! The HSBNE metalshop has a range of awesome welders. However, I’m just learning to weld so I bought a cheap unit that I could thrash/abuse without risking damage to the expensive ones.

Learning to weld was actually a lot harder than I thought. I have a lot of experience with soldering and have found the technique and process is the most important part. I found (at least in my experience with my welder) that the welder settings are actually more important than the technique. If you’re just slightly too high you’ll blow a hole right through the material. On the flip side, if you’re not high enough it will just spatter everywhere.

After a lot of test welds and thinking about how the battery cage would fit into the bike I started cutting up steel and welding. You can see my progress in the photos below. I’ll be up front and say this could have been done a lot better. It fits, and all of the welds look strong and solid so I have confidence in it.

The front and bottom of the cage.

I started by making a “U” piece and welding some angled steel on the top to bolt in place. This was measured fairly well but didn’t quite line up so I clamped it into place then welded a flat bar cross section to hold it. This worked well and now fits excellently. Then I attached a U shaped section at 90 degrees that forms the bottom of the battery cage. For the two bottom edges, I used some 90 degree angled steel so it’s easier to attach a tray to the bottom.

The battery cage attached to the bike with the rear bracket welded on.

The battery cage with an extra vertical support beam and most of it painted with primer.

The battery cage is nearly finished and is now attached at all of the points it can be. The only thing left really is to install a diagonal piece of right angle steel from the bottom back to the top front on each side. This will help with mechanical strength as the engine use to be a structural part of the frame.

Now I have to work out how to enclose the cage and seal it off from the elements reasonably well. My current plan is to cut a thin piece piece of plywood to fit snugly on the bottom. I’ll probably screw it into the steel, then seal around the edges with a high quality automotive grade sealant. I might add another piece of flat bar in the centre for extra support too. As for the sides, I’m probably going to try to find some sheet metal to wrap around the outside and again, use some automotive grade sealant to keep water out at the edges.


Time for another update! I’ve been having more fun welding and have pretty much finished off the battery cage side of things and I mounted the charging port. Here is my latest blog post, also copied below:

I’ve now worked out pretty well how the battery is going to come together. There will be 3 main packs in the bulk of the battery cage, and a fourth one sitting on the top. There will also be a couple of rows sitting on top of that. I made some placeholder packs out of the 18650 cell holders and a handful of cells. These placeholder packs were very useful in helping me to get the spacing right when welding together the mounting tabs and upper rail.

Each mounting tab will have a bolt through it that will pass through the entire plastic cell holder pack (through one of the gaps). I’ve 3D printed some large plastic spacers out of ABS to help properly secure the battery packs. In the bottom section (pictured below), there will be about 810 cells, or approximately 60% of the cells I intend on using.

The bottom section of the battery cage before the top rail was welded on.

The next step was to weld up the rail for the top layer of battery cells. This is the same size as one of the 3 packs in the bottom section, but is fitted sideways to maximise space. As you can see in the picture below, the top rail extends out the front of the main chassis a small amount. It’s pretty close to the front mud flap, but there should be enough room to avoid any problems. This top section isn’t “structural” as such, and it’s only job is to hold a small amount of batteries in place and be a convenient place to attach a sheet metal cover to enclose everything.

The battery cage attached to the bike with most of the top rail welded on.

My Type 1 charging port arrived so I decided to mount it on the bike. Even though it’s getting a bit old and isn’t as popular, I went with a type 1 port because my Nissan Leaf uses it too. This will make it much easier to share the charger from the Leaf, etc. I ended up welding a small angled section of steel to the battery cage and used a Linisher to remove a curved section to fit around the plug socket. Once this was welded on and the holes were drilled out, I could bolt the Type 1 port onto it. The wiring attached to the Type 1 plug is long enough to reach anywhere in the bike that I’d want to put the charger so that will make it convenient to hook it up when the time comes.

My Nissan Leaf EVSE plugged into the Type 1 port to see if it’s mounted in a suitable place (note: EVSE was not connected to mains).

That’s it for now! Stay tunes for a battery update and a little more work on the electronics side of things.

1 Like

Looking ace, bro :slight_smile:

Another update :slight_smile:

Available on my blog and also below:

On the weekend I finished the bulk of the welding that needs to be done. I sourced some 1.2mm Aluminium sheets from Bunnings and headed into my local hackerspace. Although it was nearly twice the cost, I decided to go with aluminium because it looks a lot nicer, doesn’t need any extra work to “finish” it (ie painting etc.), and it’s at least half the weight of steel.

The HSBNE table saw was used to cut the first sheet up into two pieces so they could be riveted onto the sides of the battery cage. These pieces were then cleaned up on the Linisher. As this was my first welding project, the battery cage isn’t quite square which made cutting out the sheets a little more of a challenge. I got them as close as I could, then used the Linisher to trim a little bit off one of the edges so it lined up correctly.

The battery cage with two of the aluminium sides riveted in place. I think the shiny aluminium with the pattern on it looks really cool!

I think this turned out pretty well so far, and I’m excited to finish off the remaining sides. After I’ve finished riveting all of the sides together, I need to go around the inside with some automotive silicon sealant. This will help to keep most of the joins water tight and help to avoid corrosion occurring inside the battery cage. For now, the top right (in the picture above which is rear of the battery cage) isn’t going to be enclosed as I haven’t quite worked that out yet. I’ll probably end up using some of the aluminium sheet and hinging it off the top left part and use some rubber or something to give it a bit of a seal.

A quick update on the battery pack while I’m here. Some of the parts have started arriving for my monster cell tester/cycler. I’ve also collected around 400 cells so far, or about 1/3rd of what I need for the complete battery pack. It’s taking a little longer than I thought, but I’m slowly getting there.

Another update! Available on my blog here and copied below.

I’m now inducted on the HSBNE table saw which means I’m allowed to use it unsupervised. This means I can now cut up sheets as I need them and have progressed further along with enclosing the battery cage. I’ve now enclosed the majority of the battery cage with 1.2mm aluminium sheets.

For the front and bottom of the battery cage, I wanted to use a single piece for strength and to aid with waterproofing. This was because the bottom front of the battery cage is the most likely to see water and debris flicking up from the road. This piece was cut to size then bent to 90 degrees using some clamps and a hammer as HSBNE doesn’t have a pan brake (yet!).

Once the sheet was bent to about a 90 degree angle, it was then clamped into place onto the bike. I drilled holes along the battery cage frame sections so I could pop rivet the sheet onto the frame. Now that most of the sides are in place, I need to tidy up some of the rough edges and seal the inside.

My new head light also arrived and by happenstance it fits! I had to bend the aluminium mounting bracket slightly but otherwise it bolted right in. I need double check, but at first glance I don’t think the integrated indicator lights meet the ADRs. I may need to install some additional front facing indicator lights to meet those requirements. I’m very happy with the look of the headlight though.

1 Like

Update time, this time it’s more focused on my battery charger that I just built. As always the original post is available on my blog here.

I’m starting to focus a little more on batteries now that I have most of the components for my 18650 discharger/tester and I’ve got about 1/3rd of the cells I need. I have previously made a large 18650 charger out of TP4056 modules, but these aren’t very good and require a huge 5v power supply. They don’t start charging if the cell is above a certain threshold (which is nowhere near full) and are a bit “delicate”.

I’m not sure when they became available, but courtesy of a friend from HSBNE (Australia’s largest community workshop), I found the excellent TP5100 modules. These take a wide input voltage (5v up to 12v) and support charging up to 2S (2 cells in series). I’m only interested in charging 1S, but the 12v input and higher charge rate was appealing so I ordered 40 of them.

I must admit that I “fried” a few of them before working out that the labels on the PCB are wrong! The input and the output are actually reversed. This was annoying, but for less than $1/piece I wasn’t too bothered. In the picture I took below, you can see the correct labels. Make sure the 5-12v input is always on the side with the large black surface mount inductor. The positive and ground labels seem to be the correct orientation.

Now onto the TP5100 “charge-o-saurus” that you came here to read! My intention was to originally use a single large piece of plywood and attach all of the TP5100 modules to it. However to make it easier to transport and minimise the chance of any wiring problems etc. from taking out all of the modules, I split them up into 8 module boards. I then put an XT30 (my new favourite connector for low to medium current draw applications!) on each one.

18650 holders glued onto an MDF board and attached to the TP5100 modules.

After I finished gluing each 18650 holder and TP5100 to the board, I then used some 18awg wire to hook everything up. Out of convenience, I soldered the positive pad on each TP5100 module directly to the 18650 holder. Be careful if you want to do this as it’s more difficult to get a good reliable solder joint.

A quick test run of each 8 way TP5100 module board to make sure it’s hooked up correctly.

When each board was completed, I hooked each one up separately to a bench power supply. This was to make sure everything was wired correctly and to test each one before hooking them all up. Once I was confident each board was working correctly, I made an XT60 > 3 way XT30 adapter. This allowed me to hook up the 3 boards to my modified server power supply that can provide 12v at around 70 amps.

3x 8 way TP5100 charging boards hooked up to my modified server power supply.


Available on my blog here.

I’ve done some more work on the battery cage and it’s nearly finished. I’ve cut out, bent and riveted all of the front and rear aluminium sheet now. Soon I can start working on sealing all of the edges and corners with automotive grade silicon to try and reduce water ingress. As we all know electricity + water = bad.

Side view after the front/top and rear of the battery cage have been enclosed.

The top was a bit challenging as I needed a way to access the internal area so that I can install the batteries and for maintenance etc. To achieve this, I decided to hinge the front top section so that it can be easily opened when the battery cage is removed from the bike. I need to source some rubber edging to help seal the gaps from water ingress.

Side view of the battery cage with the top almost fully closed.

Side view of the battery cage with the top almost fully open.

A short clip showing the top of the battery cage opening and closing on the hinge.

A short clip showing the top of the battery cage opening and closing on the hinge.

I’ve made some progress on processing my recycled battery cells too. I’m about 50% of the way there so I’m getting closer. The PCBs I ordered for my battery discharger are now on their way, and all of the components I was waiting on have now arrived. I’m hoping to get at least one of these assembled in the next couple of weeks and start writing some of the software!

A render of the 20x20cm PCB that I designed for my 8 way 18650 discharger.

That’s all for now! Stay tuned for more work next week where I’m aiming to finish off the the other half of the top lid and source some rubber edging to help seal the gaps around the lid.

It’s been a while, but I’ve finally gotten a chance to write up a new blog post updating my progress on my battery discharger. I’ve also got another one that I will publish within the next week detailing the arrival of the motor and controller, and the initial installation/testing of them.

Post available on my blog too.

I’ve designed a battery testing board (the initial version is discharge only) specifically for testing 18650s. The aim is to have a “cheap and cheerful” board that is accurate enough to be useful. I’m calling this board the jCharge D8 (d for discharge, and 8 for 8 channels). You’ll be able to plop a full/nearly full 18650 cell into one of the channels and control it from the web dashboard. You’l be able to monitor the state, save the discharge graph/capacity and even calculate an approximate internal resistance. This will make testing and categorising recycled 18650 cells much more practical and efficient.

I received the first batch of discharge boards and they had a few problems (mainly with relying on inconsistent third party breakout boards). I ended up redesigning the entire board to rely on mainly SMD components as JLCPCB have a cheap assembly service that solders almost all of the components onto the boards for me. Going to an SMD design allows for smaller/cheaper boards, and the ability to get JLCPCB to do most of the assembly work.

V1 of the SMD board design was almost perfect, but I forgot a pull up resistor and mistakenly put the current sensing resistors on the low side instead of the high side (oops!). This meant I couldn’t read the voltage of the cells – a bit of a problem! I fixed up those minor issues, added a bunch of copper for increased thermal mass, and sent them off to be made.

Once I’ve received the boards and have tested the hardware designs, I’ll publish all of the easyeda online designs here on this blog. For now, here’s some photos of the schematics, v2 PCB layout and v1 assembled boards. The basic principle of these boards is that each 18650 cell is discharged through a load resistor at approximately 2A. There’s an inline current sensor that allows for the total capacity to be recorded and logged. There’s also a status LED and temperature sensor for each channel allowing convenient status feedback and over temperature protection.

jCharge D8 v2 schematic design.

You can see a rendering of the PCB layout below, showing where all of the pre-assembled components will be placed.

PCB layout / render of v2 of the battery tester board.

A photo of an assembled v1.2 board (the first SMD one).

I’ve also been working on a web/app based cell database, and interface to control the jCharge D8 board. I’m currently developing an open source API specification that will allow other similar battery chargers to seamlessly discover and connect to the jCharge server. You can see a brief preview of what the jCharge server software looks like below, and it’s current limited functionality. The jCharge server software is available on my GitHub repository here. It’s currently severely lacking features/documentation, so I suggest you star the repository to keep up to date with any changes.

jCharge server software preview.