December 11th, 2020
Region locks are one way that Ninebot Max scooters can be speed-limited.
This tutorial is similar to the one for the Ninebot ESX Series.
Often the max speed is set through a serial number prefix.
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 and vehicle app appearance, courtesy of myself and FoxMaster at ScooterHacking.
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, two main apps 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 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 D after N4G to a C 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”.
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 fastest prefix S and am changing it to a 25kmh prefix C 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.
ScooterHacking Utility (SHU/SHUtility) is available from the Google Play Store and here is how to use it to change your region.
Once installed, the app will prompt you for location permissions.
This is to allow it to access your Bluetooth.
Once you press ok, android will ask if you want to give SHU location access, press allow.
After giving it Bluetooth access, the app will give you a warning message that lets you know the risks of flashing custom firmware.
Read it and press agree.
Now that you’re past the warnings and TOC’s, you can scan for the scooter you want to change the region on and select it from the list.
After a successful connection, note the current serial number, and write it down in case something happens in the future or you lose it.
A successful connection will show the firmware version numbers and serial number.
After saving your old serial number, proceed to the lower part of the main screen to get to the “Tools” section and click “Change Region”.
From here, a list of region options will pop up. Choose the region you wish to change to (Choose US for the fastest speed).
Once you click an option, you will hear the scooter beep a few times and then the serial will have been changed and the region will be set.
*Deprecated, recommended to use ScooterHacking Utility as mentioned above
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 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.
The beta was removed and the original creator no longer maintains it.
There is currently only one application for iPhone/iOS to change the region of a Ninebot Max/G30 and it’s still in beta as of the time this post was written.
You will need Testflight to install it, but this link should install it if you don’t.
Download Scooter Companion https://testflight.apple.com/join/RaFiBTgi.
Open the app and scan for your device.
Click on the scooter that you want to perform the region change on.
Once it connects and displays information about the scooter, click on “Utilities” on the top menu.
From here, scroll down to “Adjust scooter region” and click the region you want (US would be fastest, followed by EU, then DE).
Sooo my scooter has a GSB region, you dont liSt A or B as regions and what their limits are.. B seems locked at 25 goong to 30 on S mode.
I believe the US would be “locked at 30” and manage 32-34?
N4GSB would still be the “S” or us/worldwide region as we are checking the 4th digit, the 5th is not important for vehicle behavior. That region is not “locked” on 30, its a hardware limit on most vehicles. I.e. it can’t go faster without using a custom firmware power algorithm that is able to get more speed out at the expense of efficiency.
To clarify you are on the “US” region and ubnless you install shfw or another cfw that allows for field weakening that is likely the fastest you will go.
Also worth checking which motor generation you have as that will play into speed limits as well.
Hi, I have buy new Segway-Ninebot Kickscooter Max G30E II, and connected to Segway apps and ask me to update firmware to V 1.8.8 and my region DE its 22 speed.
How I can do downgrade and which version I have to go back to and the steps please I’m new user and need your help please.
You will need to use an STlink to downgrade, you can use ScooterHacking ReFlasher to do that once you identify which version of ESC you have.
I have a guide for the old esc here: https://joeybabcock.me/blog/electric-scooters/how-to-stlink-fix-bricked-ninebot-max-g30-controller-esc/
Unfortunately, I don’t have a gen 2 ESC so I can’t make a guide quite yet for it but if you have a gen 1 then you can use the guide I posted above.
I changed my serial number version code P to E . then downgrade speed of ninebot max G30 e ii. only getting 22kmpg. my Driver version is 1.8.8. how to reset to old original serial number ? this scooter i bought only 2 days before. anybody can help me? please
Once you change the region on DRV 1.7.0+ to german you are stuck there. To switch back you will need to downgrade using an stlink to change it
i don’t change region please help me
I tried to downgrade the firmware but it is giving error “Update Failed! Reason: Data Format Error Power cycling your phone & vehical might help”
If you google that error, you’ll see that it is most likely caused by having DRV 1.8.3/1.7.13.
What version are you on currently?
Hello there Joey
Can you please tell me what to do to get rid of an error code 21 on my e25a ninebot
I have 40v in the battery with flashing blue light and all connections seem good.
If there is a problem with the controller can u tell me which semiconductor to change
I did notice master control v2.6.15
And ble v2.1.3 but bms says v0.0.0
Could it be software related
Also when using the app I’ve noticed it’s connected but bound to an aajaja and I’m connected as unknown
Have you checked the connectors to make sure they didn’t come unplugged?
Hi. I’ve tried to change the region using an android phone, I’ve tried to change the serial number using Ninebot IAP and Ninebot-Flasher, but whatever I do it will not make any changes in the scooter. It just goes immediately back to the original region and original serial number. Any suggestions? It’s a Ninebot Max G30D ||
Make sure you are not on the latest firmware (DRV 1.7.0), you may have to downgrade…
Perhaps you could help with power button not turning off scooter or turning light on or off? I’m using SHFW currently, though I would prefer using CFW, to control the power. Also, I am currently installing external 12v battery. Let me know where to reach you! Thanks Joey!
That’s interesting, I haven’t heard of that one before… I would suggest reaching out to the SHFW engineers on the ScooterHacking discord, they are still working on SHFW in beta so they may already have a fix.
Umm, beta testing doesn’t accept more with the only iPhone app? What should I do? Please help!
Unfortunately, there are no longer any apps for iOS. You will have to borrow a friends android or buy a cheap one online.
Can I use the ” custom serial #” on xiaoflasher region change to change my sn, and activate a new motherboard?
Yeah, I can’t remember if XiaoFlasher has an activate option but I know scooterhacking utility does.
but when I change the region, when the scooter is turned off and the charger is connected, the display does not show charging indication
Yes that is normal when the scooter is turned off