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.
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 GUI’s.
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 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.
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.