January 13th, 2021
Region locks are one way that Ninebot ESX (ES1, ES2, ES3, or ES4) scooters can be speed limited.
This is similar to the process used for a Ninebot Max/G30.
Often the max speed is set through a serial number prefix.
In order to change your vehicle’s region and unlock its max speed, change the 4th digit of your serial number.
Below is a list of serial prefixes and their effect on max speed.
Choose the one corresponding to the region you want.
At any point to return to the stock region, use the guide below to change your serial number to the one listed on the sticker on the side of the scooter.
It’s highly recommended that you make a note of it before changing or performing any of the steps below just in case.
On Windows, there are two main apps that can easily be used to change the Serial prefix.
Ninebot IAP and Ninebot Flasher are based on similar code bases but have different GUIs.
Ninebot IAP makes it a little easier to change a serial due to its one-click buttons for changing SN.
Both applications require your computer to have BLE support unless you are using serial UART for IAP.
Ninebot IAP is an app developed by Scooterhacking.org.
Once you have it installed, open it and press the “Start scan” button.
Select your device in the menu and press “Connect”.
It may ask you to press the power button to pair, in this case, short press the button that you would normally use to power it on or toggle the headlight.
If it shows version numbers in the “Installed Firmware” box, you have successfully connected.
From here head to the “Tools” menu under “Utilities”.
Press “Read” in the “ESC Serial Number” panel.
Next, press “Change SN” and type your serial number out exactly as it was before, but change the 4th digit to the prefix you chose above.
In my case, that would be changing the T after N2G to a K if I wanted the speed to be limited to 25 kmh.
Press “OK”, then you should hear your scooter beep twice in quick succession.
To confirm it has successfully changed, press “Read” again and you should see your new serial.
Test the new speed or appearance in the app and it should be good to go.
Ninebot-Flasher is available from the Microsoft store.
Once installed, press “Start Scan” and select the device you want to flash by clicking “Connect”.
It will likely prompt you to “Press the power button to pair”, but may not.
Short press the button that you would normally use to power it on or toggle the headlight.
You will know the connection is successful if the greyed out buttons become white and your Serial Number is printed in the console.
Copy that number down somewhere.
Click on the text box to the left of “SendCmd” and then press Ctrl + alt + a on your keyboard.
You should now have more options as shown below.
Paste your old serial in the box but change the 4th digit to the serial prefix you selected above.
Here I have the 25 kmh prefix K and am changing it to a fast prefix T, but you may be interested in speed limiting your scooter whether for a child or to avoid legal issues.
Press “Write ESC Sn” twice and your new region should be set.
By far the best method for configuring Ninebot scooters, ScooterHacking Utility (Often abbreviated SHUT or Utility) is a free, ad-free Android app.
Once installed give it permission to access ‘location’ so that it can connect to Bluetooth devices.
Select the device you want to pair to.
Click on the ‘Tools’ tab.
Click ‘Change Region’.
Click anywhere to dismiss this popup (not relevant for the time being on this model).
Click ‘Custom’.
Change your 4th character to the one selected above.
Head back to the ‘Info’ tab in order to confirm that the serial has changed.
At this point, reboot and confirm that the settings have been changed as well. Sometimes the serial change won’t stick.
XiaoFlasher is available from the Google Play Store and here is how to use it to change your region.
Once installed, give it permission to access files and “Location”.
XiaoFlasher just needs location access in order to use Bluetooth which we need for this tutorial.
On the next screen, agree to the TOS and close the changelog.
Click on the name of your device to connect.
If XiaoFlasher has successfully connected you will see firmware version numbers on the upper right-hand side.
Once successfully connected, press “Change Region”.
In this menu select the region you would like.
The developer has made a 15-30s wait time and an ad that you must watch in order to change the region.
Once you have sat through that and likely decided to use another app in the future, you will hear the scooter beep twice indicating a successful region change.
There is currently no options to change the region of an ESX on an iPhone.
Check back here often as I add information as it becomes available.
hello i have a ninebot e2 plus it went 25 now it goes 20 can i change it back please
What did you do that caused that?
hello i have a ninebot e2 plus it went 25 now it goes 20 can i change it back
Hi again Joey, and thanks for replying this fast.
I’ve changed the region to S (the 1st option, limited to ~30Km/h) but I’ve noticed no change on the top speed… Still limited to ~22Km/h.
(just for clarification, my ES2 only has the original battery, no 2nd extra one.)
I didn’t buy this scooter new, it was a used gift, but I don’t think it has ever been repaired so I believe all hardware including controller are originals.
I’ve checked with the ScooterHacking utility and the regional bit of the serial number remains set after multiple scooter reboots, and it showes the Sport Mode speed as 32Km/h but it never reaches there.
Extra comments:
– CFWs made on the ScooterHacking.org ignore all modes (eco, white and red S) and just behaves the same in all modes. I’ve read somewhere this can happen with non-original controllers, but I believe I have the original one.
– Just went out with a 100% charged battery. I live uphill and as soon I started (regenerative) braking the scooter started beeping. This happened 2 or 3 times so I suspected battery overcharge and used the rear brake. After some Kms the battery wasn’t full anymore and it never beeped anymore when breaking.
I know about possible damage by battery overcharge so I usually leave home with it at 80% so this has never happened to me. Clever usefull beeping, so thanks 9bot!
Well, back to messing around with CFWs… Would like to have this cute useful toy speed up to 30Km/h, but torque for going uphill back home is more important.
In the future I’d like to build my own 2nd external battery pack, but this has to be well done, I don’t want that thing to catch fire!!
Cheers.
Hey Joey! Nice post, thanks so much for this info.
I’m findling around with my ES2 trying different configurations of CFW generated by the scooterhacking.org tool. But all my settings related to max speed are ignored and in practice limited to ~25Km/h. Do you know if this might be related to a Region Lock setting that overrides CFWs? The region digit of my ES2 is U, meaning locked to 22Km/h, whick makes kind of a sense.
So now I’m tempted to change its region setting.
So, 2 questions:
1) I’ve read somewhere that you can only change the region setting once, can you confirm this? (I’m planning to use XiaoFlasher on Android.)
2) Above you show the different regions and a brief description.
Can you please clarify what it means “after reboot”?
Does it mean the setting only applies after the ES2 is rebooted, or the change applies only once and reverts back to factory (in this case U) after rebooting it?
Many thanks and cheers.
1) That is not correct unless the region you change to is the german region. That is still only true of newer scooters though the esx does not have those restrictions so change your region/sn to your hearts content!
2) I couldn’t find that in the article but i usually recommend rebooting after making changes to ensure that they stay changed, sometimes with clone hardware like dashboards there is some odd behavior.
Also I recommend you use ScooterHacking Utility instead of XiaoFlasher, I haven’t put instructions here yet but its the same instructions as for the max g30 article!
I have a previous rental ES4 on DRV 1.33. I’m not able to change the serial number neither using IAP or Ninebot Flasher. Any suggestions?
You likely have a clone dashboard if it was a decommissioned rental, many companies selling off their ex-rental esx stock cheaped out with the dashboards.
bonjioour j’ai actuellement une e45 segway ninebot avec xiaoflasher j’avais reussi a debrider depuis le firmware 2.6.15
imposssible de changer la region ou le SN dcp je suis bloqué a 20kmh
hello I currently have an e45 segway ninebot with xiaoflasher I had managed to debride since firmware 2.6.15
unable to change region or SN
i need help I’m stuck at 20 km/h
What model scooter do you have?
Hi, i also have F30E and the same problem(((
You likely have the latest firmware as mentioned to the other guy below which does not support region changing or downgrading
Hello. I have F30. Cannot change serial number neither downgrade a firmware. I downloaded firmware from scooterhacking.org specified for F-Series, but all your mentioned software shows that file is bad. Even Scooterhacking utility cannot install it. Everytime I try to flash a firmware or change region/serial number, scooter just beeps 3 times and thats it. Also, a weird thing is that I cannot factory reset it, usual way of doing that, written in manual doesnt work. Lost all the hopes with this thing…
Sounds like you may have updated it using the ninebot app. If that is the case there is not likely anything you can do at this point.
I can’t say for sure as I only have first-hand experience with the ESX and Max series.
hello, none of the way works, i just can’t change the serial number, are there any new options?
Make sure you are not on the latest firmware (DRV 1.7.0), you may have to downgrade…
I have problem that wont change speed. I have F30E and scooter hack utility when i click on change region show only custom serial. And when i put some serial… my orig is N5GQC2132K0435 what should i change? what it means Q? should i set for S? heeelp
I don’t have an F30 so unfortunately, I can’t offer help on that model.
Join the ScooterHacking discord or check the forums and see if they have a solution there.
Hello it’s not working any option . I can’t change the region
What happens when you try? You might have a clone dashboard.