How to Change Region Ninebot ESX

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.

    • B is limited to 23 kmh/14.3 mph
    • K is limited to 25 kmh/15.5 mph
    • S is limited to 30 kmh/18.6 mph (ES4)
    • T is limited to 30 kmh/18.6 mph (ES2)
    • U is limited to 22 kmh/13.7 mph

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.

Windows

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

Ninebot IAP is an app developed by Scooterhacking.org.

Download it here.

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.

Firmware versions other than 0.0.0 showing in the upper right-hand corner.

Firmware versions other than 0.0.0 showing in the upper right-hand corner.

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.

 

A successful serial number read. Make note of it.

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.

Changing the serial prefix from a ‘T’ to a ‘K’.

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.

A successful change.

A successful change.

Test the new speed or appearance in the app and it should be good to go.

Ninebot-Flasher

Ninebot-Flasher is available from the Microsoft store.

Download it here.

Once installed, press “Start Scan” and select the device you want to flash by clicking “Connect”.

Click "Start Scan" then "Connect" once you've found your scooter.

Click “Start Scan” then “Connect” once you’ve found your scooter.

It will likely prompt you to “Press the power button to pair”, but may not.

Press the power button briefly to connect.

Press the power button briefly to connect.

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.

A successful connection is shown by the serial number in the console.

A successful connection is shown by the serial number 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.

Pressing Ctrl + alt + a will open advanced options.

Pressing Ctrl + alt + a will open advanced options.

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.

Changing my "K" prefix to a "T" which will remove the 25kmh speed limit.

Changing my “K” prefix to a “T” which will remove the 25kmh speed limit.

Press “Write ESC Sn” twice and your new region should be set.

Successful region change.

Successful region change.

Android

ScooterHacking Utility

By far the best method for configuring Ninebot scooters, ScooterHacking Utility (Often abbreviated SHUT or Utility) is a free, ad-free Android app.

Download it here.

Once installed give it permission to access ‘location’ so that it can connect to Bluetooth devices.

Select the device you want to pair to.

The list of available devices.

The list of available devices.

Click on the ‘Tools’ tab.

The Tools menu.

The Tools menu.

Click ‘Change Region’.

The 'change region' menu.

The ‘change region’ menu.

Click anywhere to dismiss this popup (not relevant for the time being on this model).

Ninebot has not yet released restricted firmware for the ESX series.

Ninebot has not yet released restricted firmware for the ESX series.

Click ‘Custom’.

The only option is Custom.

The only option is Custom.

Change your 4th character to the one selected above.

Same serial just with a different prefix.

Same serial just with a different prefix.

Head back to the ‘Info’ tab in order to confirm that the serial has changed.

The serial has successfully been changed.

The serial has successfully been changed.

At this point, reboot and confirm that the settings have been changed as well. Sometimes the serial change won’t stick.

XiaoFlasher

XiaoFlasher is available from the Google Play Store and here is how to use it to change your region.

Download it here.

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.

 

Press "Change Region"

Press “Change Region”

Once successfully connected, press “Change Region”.

In this menu select the region you would like.

Region options in XiaoFlasher

Region options in XiaoFlasher

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.

iPhone/iOS

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.


Comments

20 thoughts on "How to Change Region Ninebot ESX"

  1. liam says:

    hello i have a ninebot e2 plus it went 25 now it goes 20 can i change it back please

    1. joeybab3 says:

      What did you do that caused that?

  2. liam says:

    hello i have a ninebot e2 plus it went 25 now it goes 20 can i change it back

  3. Zeh says:

    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.

  4. Zeh says:

    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. joeybab3 says:

      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!

  5. Jesper36 says:

    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?

    1. joeybab3 says:

      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.

  6. mhdiel says:

    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

    1. joeybab3 says:

      What model scooter do you have?

  7. paszs says:

    Hi, i also have F30E and the same problem(((

    1. joeybab3 says:

      You likely have the latest firmware as mentioned to the other guy below which does not support region changing or downgrading

  8. Edgaras says:

    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…

    1. joeybab3 says:

      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.

  9. Milkman says:

    hello, none of the way works, i just can’t change the serial number, are there any new options?

    1. joeybab3 says:

      Make sure you are not on the latest firmware (DRV 1.7.0), you may have to downgrade…

  10. wandererra says:

    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

    1. joeybab3 says:

      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.

  11. Daniel says:

    Hello it’s not working any option . I can’t change the region

    1. joeybab3 says:

      What happens when you try? You might have a clone dashboard.

Leave a Reply

Your email address will not be published. Required fields are marked *