Double your Xiaomi e-scooter range for $100



Here is the typical reaction of a person who is thinking about modifying the battery of his scooter and finds out the prices of quality custom batteries:

Typical reaction to custom batteries price

And that reaction is understandable. The whole aliexpress is full of lots “Dolidadta 100000mAh” for 50 bucks, which to the consumer look no worse than the batteries that local battery workshops sell for the price of another scooter, and the capacity is even “10 times greater”:

Typical cheap aliexpress battery

People also don’t get it: if a good battery costs as much as a whole scooter, then how does Xiaomi manage to sell not just a battery for that price, but a whole good scooter with a great battery?


Regarding Chinese 100,000 mAh batteries for 50 bucks: these batteries simply do not meet the declared characteristics. Their capacity may be 20 times less, low current capacity, cheapest BMS without balancing, and horrible build quality. They should not be bought at all, they’re not even worth the money they’re asking for, and they also might be flammable.


To be fair, not all aliexpress batteries are crap. I do know that there are some very good chinese batteries for their price. Let’s say I make a battery of expensive brand-name cells, and sell it for  $300. But the Chinese can make a battery of cheaper cells, buying them in large quantities at a wholesale price, finally selling the battery for $150. Yes, the battery is 1.5 times worse, but the price is 2 times less! I’ve heard many times that “Aerdu” brand batteries are good for their price. But there’s no guarantee that their quality won’t go down tomorrow, so don’t take this example as a recommendation to buy:

Some aliexpress batteries are fine for its price

So, if you take the time to choose a good seller, there’s a chance to get a battery that looks fine for its price, but there’s still a risk that the battery will degrade after a hundred of charge-discharge cycles, while the batteries assembled from branded cells are guaranteed to work 500+ cycles.


Now, regarding the second point: how do Xiaomi manage to make a scooter so cheap, while there is a good battery inside? The answer is obvious: such a giant manufacturer has a very low wholesale purchase price of components, high efficiency of manufacturing lines, and low price markup. No small “garage” company will ever be able to offer the same prices as a huge corporation. Let’s say we produce great quality batteries for $300, and, to tell the truth, there is no big profit – after parts ordering, rent and salary payments, customs duties and taxes – I am happy if I have money for food. But on the other hand, if Xiaomi was making the same batteries – they would easily reduce the retail price to $200.


It’s sad but true: if you want something unique that is not a mass-market product – it is usually expensive.

Additional internal battery idea

Are there two options only? Either play Chinese roulette, or pay the local battery manufacturer the cost of another scooter for a new custom battery? Actually no, there is a third alternative option, and that is what this article is about.


Original Xiaomi batteries are very good quality, but with a full battery replacement you have to sell your battery, often unreasonably cheap. So, the key idea is that there is no reason to COMPLETELY replace the scooter battery with another huge capacity one, it is better to ADD another small battery with a capacity approximately equal to the original one, finally getting the same double capacity with both batteries installed.


This kind of additional battery is not too huge, so it stays under $100 even if assembled of good branded cells. The battery is connected via a cheap wires splitter and located inside the scooter, so you do not have to spend money on an external bag as well.


Let me show you the final look first, and then I’ll show you the making process in detail step by step. We are making such a funny flat battery:

Additional internal battery

Then we place it under the original battery:

Additional internal battery

Of course, there is not enough space inside the scooter, so we install a 3D-printed spacer, which will add the necessary volume, losing some clearance:

3D-printed spacer

And this is the final look of the scooter:

Final look
Final look

The range is increased by 80%, and the total cost of the upgrade is less than $100 if you do everything with your own hands.


A small inconvenience is that Xiaomi M365/Essential/1S/3 and PRO/PRO2 are slightly different in size, so we will have to design two batteries, but that’s okay, because the difference is small. We’ll take a very detailed look at how the battery is made and installed on M365/Essential/1S/3 models, and then briefly walk through the difference in the case of the PRO/PRO2 models.


Interested? Then prepare  your 3D printers and soldering irons! =)

Xiaomi M365, Essential, 1S, Mi3 additional internal battery

Making the battery

The following materials are required:

Required materials

18650 high-capacity cells, such as LG MJ1 or Samsung 35E – 20 pcs

Insulator rings – 20 pcs

8mm width and 0.1-0.15mm thick nickel strip – 1m

“Double” nickel strip – 1m

Daly BMS, 15A, common port – 1 pcs

XT30 plugs – 3 male ones and 2 female ones.

16AWG silicone wire: red – 1m, black – 1m

100mm heat shrink wrap – 2m

4-5mm heat shrink tubing – a few cm

10mm heat shrink tubing – a few cm

80mm self-adhesive fish paper insulator – 2m

Glue, sealant

Self-adhesive PVC foam tape

Screws M3x35, M3x30, M3x14, M3x6.

“JST” plug

Required tools:

Required tools

3D printer with a 300×300 heated bed, PETG filament.


Hot Air Gun

Soldering iron, soldering wire, flux

File, side cutters, scissors, screwdriver, paper cutter

Drill/screwdriver, 3.5mm drill bit, countersunk head chamfer

I have designed a 3D model of the battery first:

Additional internal battery 3D model

There is nothing special, let’s start with the cage, which consists of 7 parts tightened with screws:

Additional internal battery cage model

The parts are finished after 10 hours of printing:

Printed cage parts
Join them with M3 screws
Additional internal battery cage
Install the cells according to the 3D model:
Cells installed into the cage
Then we weld the cells. With this layout, all the current flows through a narrow strip of nickel, so it is necessary to weld the strip in two layers. And we keep pads for balance wires soldering:
Welded cells
Welded cells
Solder the balancing wires:
Soldered balancing wires
Stick out the positive lead of the battery:
Soldered positive power output
Solder the blue “B-” wire of the BMS, plug the balancing connector, stick the BMS to the double-sided foam tape, lead out the black “P-” wire of the BMS, solder the XT30 female plug:
Installed BMS
Cover the battery with fish paper:

And wrap it into heat shrink:


That’s it, the additional battery is finished!

Battery installation

Now we have to make an “Y-cable” – a splitter, which makes it possible to connect an additional battery in parallel with the original one:


The current consumption is distributed between the batteries equally. Smart original battery measures the current in half the real one, but  “believes” that you are just going with the wind, so it works fine without any warnings.


Both batteries are charged through the standard scooter charging port. When the original battery is being charged, its voltage rises, which causes current flow from its discharge port to the extra battery. Imagine that you feed a child, but he eats just half ot the meal, inconspicuously feeding a cat under the table =)


Pay your attention: this is really important to equalize batteries’ voltage before joining them. The voltage difference must not exceed 1V, for example 36.2V and 37.1V is fine, but 36.2V and 38V is too much. If this condition is not met, a high current flows between the batteries, damaging plugs, wires, and even the batteries. 


The simplest way to equalize the voltages is to fully charge both batteries, so their voltage is about 41-42 volts. The original battery is easy to charge: just plug the charger into the scooter as usual and wait until the battery is full. But it’s more complicated with the extra battery, because it doesn’t have a round charging port, and there are 2 options to sort out this problem. The first solution is for people who like to make it nice, clean and perfect. You have to buy a “JST” wire, the same as the charging port of the original battery. Such wires are widely used for rc-car and aircraft hobbies:

JST plug

Then make the following adapter:

JST to XT30 adapter

The adapter connects the extra battery to the scooter charging port, so you can charge the battery with the original charger:

Additional battery charging

Well, if you don’t have the patience/time to buy a special wire and make an adapter, you can just plug the wires into the charging connector of the scooter:

Additional battery charging

After charging is complete, it is strongly recommended to make sure that both batteries are fully charged and their voltages are almost equal:

Original battery voltage
Additional battery voltage

Okay, the voltages are equalized, let’s plug it all:

Additional battery is connected via Y-cable

Turn the scooter on, launch some app that can monitor the scooter’s battery, like m365tools –, swipe to the battery screen and check the current value. It normally does not exceed a few amps, otherwise check if batteries’ voltages are really equal or if polarity is correct. But it should be fine, after all, this is not rocket science.


So we made the battery and successfully connected it to the scooter. I mean that nothing exploded or melted, but in fact we have a couple more problems to deal with before we can screw the scooter bottom cover and go for a ride.


The main problem is “Charging mode.” The thing is that even though we have equalized the batteries’ voltages, later during riding, under load, due to different internal resistance, the voltages will become a little different, which can cause current to flow between the batteries from the extra battery to the original one, so the original bms wrongly detects that a charger is plugged, sending a corresponding signal to the main controller, which will stop the motor until the battery voltages are equalized again after a few minutes so there is no more charging current. It is a real fail to suddenly find yourself in such “charging mode” at a traffic light. 


This problem is solved by flashing a custom scooter firmware, where the charging mode is totally disabled. There are different ways to flash the scooter, but the most popular and relevant in 2022 are XiaoDash and ScooterHacking. The first one is paid: it is required to pay about 10 EUR to activate the application, after which you can flexibly customize the parameters of the scooter firmware.On the other hand, ScooterHacking requires no money and you can use it for free, but the developers are open to donations via PayPal and you can pay later, if you are satisfied with the final result. Both teams of developers are cool guys and do a great job, implementing new features non-stop and overcoming spokes in wheels from the scooter manufacturer, which is under pressure from some governments who don’t like unlocked scooters racing 50 km/h.


I will use XiaoDash today. Find the application in Play Market – – install and launch. You can see many settings that are currently inactive. The first thing to do is clicking “Perform scooter upgrade now” button to install XiaoDash firmware to your scooter:

XiaoDash first launch

Then you have to wait quite a long time until the firmware is installed:

XiaoDash upgrade is in process

And finally after a few minutes we get a message about successful installation:

XiaoDash successfully installed

That’s it, the scooter has been successfully flashed. Find the option to disable charging mode and toggle the slider:

XiaoDash - disabling charging mode

Of course, disabling charging mode is only a tiny part of the functionality of this firmware, and in the future you can still adjust a huge number of parameters, such as maximum power, speed, and there is even a secret combination to switch the scooter from stock mode to powerful and fast (of course, to protect children, exclusively for testing on your own private land). But all these features are beyond the scope of this post. 


Okay, we solved the problem with the charging mode, but there is still one more left: how to fit this extra battery into the scooter? We use a plastic spacer, printed on a 3D printer. Here is its model, which I specifically splitted into two parts, which fit into the standard 300*300 heated bed:

Spacer 3D model

Print it, glue the parts together, finish it with a file, expand holes with a 3.5mm drill:

Finished 3D spacer

Let’s try it:

Spacer 3D model
Before screwing the cover on, you need to make sure the battery is tightly seated, and there are two options here.
1. The most common option. Scooters produced since 2019 have rubber pads on the cover that support the original battery in the middle, protecting it from bending, and we glue foam tape on the cover in several layers, so that it is just above the pads. In this case, the required thickness of the spacer is 23mm:
New original cover
2. If your scooter is very old, or the cover is not original, then there are no rubber pads on it. Then it is enough to glue the foam tape in just one layer, which obviously reduces height, so the required thickness of the spacer is 21mm:
Old original cover
This is also necessary to make a soft, tight joint between the batteries, so we glue the foamed tape also on the top side of the extra battery:
Foamed tape at the battery
Before screwing the cover through the spacer, do not forget to cover the perimeter of the spacer with foamed tape or sealant. The sealant must be neutral! If you feel vinegar smell – your sealant is wrong. Well, that’s it now: screw the cover with M3x30 screws, and we have this final look:
Final look
Final look

Performance gain test

How much performance gain we expect to get? The battery is made of LG MJ1 cells, 3500mAh each, so the capacity of the whole 10s2p battery is 7000mAh, which, given the capacity of the original battery is 7650mAh, multiplies the scooter’s range by 1.9. Almost twice as much! And by the way, even 15% more than a stock PRO/PRO2. Now let’s proceed to field tests. I rode on the stock scooter and the modified one, writing down the following ranges:
Scooter range vs additional battery
Good result, we literally turned M365/1S/3 models into PRO/PRO2, in terms of the range. But how far will PRO/PRO2 go with such an extra battery?

Xiaomi PRO/PRO2 additional internal battery

We went through making and connecting the battery for the M365/1S/Essential/3, and it’s pretty similar for the PRO/PRO2, the only difference is the size of the scooter body, which causes several changes. First, the PRO/PRO2 body is a little wider and longer, so it is possible to build a battery from 21700 cells instead of 18650, getting about x1.5 more capacity:
Additional batteries: PRO/PRO2 vs M365/Essential/1S/Mi3
There is not enough space if use 21700 cells, so I have to save every millimeter. I removed spacers between parallel group cells, so they touch each other, but this is absolutely normal and safe, because they are connected in parallel anyway:
PRO/PRO2 battery 3D model
Welding the cells, soldering the balancing and power wires, installing the BMS, covering by fish paper, packaging in heat shrink, connecting to the scooter via Y-cable – everything is done exactly the same as in the case of the first battery for M365/1S/3. But the spacer for the PRO/PRO2 is different in size, although the shapes are very similar:
Spacers: PRO/PRO2 vs M365/Essential/1S/Mi3
Install the battery and the spacer. The cool thing is that the original aluminum PRO/PRO2 battery is flat, so there is no need to stick anything between it and the extra battery for a tight fit. Saving half a millimeter!
PRO/PRO2 additional battery
PRO/PRO2 additional battery

The PRO/PRO2 covers also have battery supporting pads in the middle, but they are not too high, so a single layer of foam tape is sufficient for perfect fit:

PRO cover with PVC foamed tape

M3x30 screws are not enough, they screw in just a couple of millimeters, so it would be better to use 32-33 millimeters ones. I wasn’t able to buy it, so I took 35mm screws and cut them. Finally, it looks like this:

PRO final look
PRO final look

The extra battery is made of Samsung 50E cells, each 5000mAh capacity, so the capacity of the whole 10s2p battery is 10000mAh, which, given the capacity of the original battery equal to 12400mAh, in theory, will multiply the scooter range by 1.8. I rode on the stock scooter and the modified one, marked down the following ranges:

PRO performance gain test

Is it worth it?

I promised to double your scooter range for $100 – and it’s almost true. If using LG MJ1 and Samsung 50E cells, the range is increased by 80-90%, and the cost of materials is less than $100.

We overclocked the Xiaomi M365/1S/Mi3 range from 18 km to 33 km. Xiaomi PRO/PRO2 – from 29 km to 51 km.

By the way, I would like to clarify something about the scooter range, especially for those who have never owned an electric vehicle.
You probably have a question: 50+ km of range? Isn’t it too much? My entire city is 10 km in diameter. Who needs it? Delivery couriers only?

And the answer is below: imagine, if your combustion engine car is almost out of fuel, its acceleration and maximum speed is not reduced, it will just stop once the fuel is out. On the other hand, electric vehicles’ power depends on their battery charge level. If your battery is full – you have full speed and acceleration. If the battery is half charged – your speed and acceleration is not perfect, but still fine. But when the battery is less than half charged – the scooter becomes really slow and boring. That’s why you need 50km range to ride 20km with fun and joy.

For me, 40-50 km range is just enough to ride comfortably, not thinking about how many kilometers of charge are left and where to recharge.

So, I would say that this upgrade is a great option for Xiaomi M365/1S/Mi3 owners: you pay just $100 and almost double the range. Another way to get more range is selling the scooter and buying the PRO/PRO2 version instead, but it costs several times as much, just because you can’t sell a used scooter for a good price.

As for the PRO/PRO2, it’s not so obvious. The thing is that its original battery has good capacity, which is enough for most regular customers. But if you want more, there is no option to just buy a pro model, so the only way is a battery upgrade, and the extra flat battery is a very good choice compared to a full battery replacement, which costs $200-400.

In short, the additional internal battery mod, described in this post, is probably the best of cheap Xiaomi e-scooters upgrades. It’s really cheap, and the increase in performance for such a price is really impressive. At the same time, using my ready-made 3D models and guides, you can make it quickly and reliably. Links to all the models and materials are listed below, but first …

Advertising break

I kept this project as simple as possible, trying to let everyone with basic DIY skills could easily make the same battery. But I also made an advanced version of this battery, which I sell in my store. I had to use more complicated technologies such as milling two kinds of plastic and steel laser cutting. Even if you’re not going to buy anything, just check out how cool it is:
"Boat" battery
"Boat" battery

This battery is actually a solid “bottom cover”, with cells and BMS compactly placed inside, and there are just two pairs of wires sticking out – for connection to the internal battery and to the controller. Can you imagine how convenient it is: unscrew the original cover, and just screw a new “fat cover” in its place, connecting just a couple of plugs:

"Boat" battery

I especially made it rounded at front and back so the scooter wouldn’t look like an iron:

Installed "Boat" battery

I also took care of the problem of voltage equalization at the first connection moment: my battery has a round port compatible with the original Xiaomi charger plug. And there is also a fuse in case the user still forgets to equalize the voltages during installation:

"Boat" battery plugs and wires

I paid great attention to protecting the battery from mechanical damage: the cover is milled of a solid 30mm HDPE sheet. This material has a ductile structure and is impossible to break by impact, and also slides well on obstacles. Next, after the HDPE layer, there is a 1mm steel plate responsible for protection against sharp, penetrating impacts. Yes, you can drive nails into this battery cover and it will be fine!

"Boat" battery internal structure
"Boat" battery internal structure

You know, I’m keen on Plug&Play solutions, so I couldn’t ignore the “charging mode” issue. There are 2 annoying things if you try to solve it by flashing:

1. Actually, you have to flash the scooter. It’s not too easy for dummies, and also newest versions of the scooter are getting harder and harder to be flashed due to manufacturer limitations.

2. After disabling the charging mode, the scooter stops responding visually to the charger connection. It doesn’t beep, doesn’t show the percentage of charge on the screen, and doesn’t flicker with the tail light.

So, I designed a tiny hardware emulator that joins the data exchange between the battery and the main controller, analyzing information about the current flowing. It checks if this current is similar to the current of the connected charger, and if not, it emulates the data as if there is no flowing current at all, so the controller does not enter the charging mode. And if the current behaves as if the charger is connected – the emulator doesn’t change the data exchange, and the scooter is charging as usual, displaying percentages on the screen and blinking with the back lamp. It’s a neat solution, isn’t it?

Charging mode supressor
Installed charging mode supressor

In summary, my battery set is as user-friendly as possible, I really have no idea how to make it even easier:

1. Fully charge the scooter as usual

2. Fully charge the extra battery through the compatible port on it

3. Unscrew the original battery cover.

4. Connect the emulator. You don’t need to flash the scooter.

5. Connect the extra battery

6. Screw the new “fat cover”

7. Enjoy


I like to give my products funny and easy to remember names. I was inspired to name this battery by my friend Peter from Hungary. When he saw it for the first time, he immediately said: “Wow, this battery looks like a boat!” So, say hello to “Boat battery” =)

That’s it, commercials are over. I know how smart people are pissed off by native advertising integrations, I hope at least half of the readers didn’t close the page in rage. =) The rest is all for you, and it’s free.

Links to 3D models and materials

3D models:

M365/1S/3/Essential 18650 cells based battery cage –

M365/1S/3/Essential bottom cover spacer –

PRO/PRO2 21700 cells based battery cage –

PRO/PRO2 bottom cover spacer –


18650 cells LG MJ1 –

18650 cells Samsung 35E –

21700 cells Samsung 50E –

21700 cells LG M50LT –

Insulator rings 18650 –

Insulator rings 21700 –

8mm width and 0.1-0.15mm thick nickel strip –

“Double” nickel strip –

Daly BMS, 15A, common port –

XT30 plugs –

16AWG silicone wire –

105mm heat shrink wrap –

80mm self-adhesive fish paper insulator –

Sealant –

Self-adhesive PVC foam tape –

“JST” plug –

Heat shrink tubing –


If you like this post, please share it on your social networks and e-scooter communities you belong to. It will really help me to get more customers, grow my small business, and release new cool devices. =)

I also invite you to join my telegram group related to Xiaomi and Ninebot electric scooters, where I share the newest inventions and answer the questions:

Thanks for your attention!