Ninebot ESX How to Downgrade/Flash Back to Stock Firmware

January 15th, 2021





Ninebot sometimes puts out updates for their scooters that can have undesirable effects on their end-users.

To that end, it may be desirable to return to the pre-update experience.

Sometimes it may also be beneficial to flash stock firmware on the device after flashing custom firmware.

For the Max/G30/SNSC 2.0+ Series, follow this guide instead.

Use the links below to easily navigate to your preferred app/os:

OS:

App:

Windows

There are two main apps that allow the flashing of firmware to a Ninebot ESX: Ninebot IAP, and Ninebot Flasher.

Both require BLE/Bluetooth 4.0+.

Ninebot IAP

Ninebot IAP is a tool developed by ScooterHacking.

It can be downloaded here.

Below is how to use Ninebot IAP to downgrade firmware for the Ninebot ESX series of scooters.

Open Ninebot IAP and click “Start Scan”.

Scanning for an ESX.

Scanning for an ESX.

Select your scooter from the list of BLE devices.

Scanning for an ESX.

Scanning for an ESX.

If no options come up, you may not have BLE support on your device.

Press “Connect” and wait for version numbers to appear in the upper right-hand box labeled “Installed firmware”.

If no version numbers appear but IAP says you are connected, you may have a clone dashboard that is unable to support flashing.

Colored non-zero version numbers show a successful connection.

Colored non-zero version numbers show a successful connection.

From here download a stock DRV firmware file in the .bin.enc format from files.scooterhacking.org.

If you are unsure which file to use, I always flash DRV1.5.1 as it is known to be reliable.

Back in Ninebot IAP, click “Select File” and then open the .bin.enc file you downloaded.

It will freeze for a moment but then should say something along the lines of “Target Selected: DRV, Loaded DRV 1.5.1 (ESx)”.

Click “Flash!” and you should see it start flashing and going up in percentage.

Flashing in progress.

Flashing in progress.

After the progress gets to 100%, you should see “Update OK” in the box.

after getting to updating 100% IAP should tell you the flash was successful.

after getting to updating 100% IAP should tell you the flash was successful.

This means the flash was successful.

To confirm disconnect from the scooter up at the top and then select it and connect again and confirm the version was downgraded.

The version no longer says 5.5.1 and now says 1.5.1 for the DRV.

The version no longer says 5.5.1 and now says 1.5.1 for the DRV.

Ninebot Flasher

Ninebot Flasher is an app available on the Windows store.

It can be downloaded here.

Below is how to use Ninebot Flasher to downgrade firmware for the Ninebot ESX series of scooters.

Once installed press “Start Scan” and select your scooter from the list of options.

If no options come up, you may not have BLE support on your device.

 

Select the device you wish to connect to.

Select the device you wish to connect to.

Press connect once you have made your selection.

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

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

You should see your device name along with “Connected” at the top, and the ESC Serial Number shown in the box.

If you don’t see this info, your device may be on rental firmware or the dashboard may be a clone dashboard.

From here download a stock DRV firmware file in the .bin.enc format from files.scooterhacking.org.

If you are unsure which file to use, I always flash DRV1.5.1 as it is known to be reliable.

Back in Ninebot Flasher, select “OpenFile” and then open the .bin.enc file you downloaded.

It will freeze for a moment but then should say something along the lines of “Loaded DRV 1.5.1 (ESx)”.

A successful file load. It should not say "Bad File".

A successful file load. It should not say “Bad File”.

Next, press “Flash”.

You should see “Check File OK” and “Lock OK” followed by a brief pause.

It will begin flashing and showing the percentage as it completes.

Flashing in progress.

Flashing in progress.

This process will take a few minutes, but once the flash has completed, it should say “Update OK”.

Successful flash.

Successful flash.

To confirm that it has successfully downgraded, press “Version” in the top toolbar.

Some info related to the scooter will print out, but the number you are interested in is “Drv Ver:”

It should be the version you installed, in my case 1.5.1.

Checking the version on the DRV.

Checking the version on the DRV.

Android

Scooterhacking Utility

Scooterhacking Utility is an Android app developed by ScooterHacking.

It is currently in beta, and you can download it here.

Once installed, open the app and select your scooter from the list.

Select the device you want to flash from the list.

Make sure that the app has successfully connected and doesn’t show “0.0.0” for the version numbers.

A successful connection is shown by the non-zero version numbers.

If the version numbers are shown and the connection was successful, scroll down to the “Flash” section and click “Load Original”.

Clicking “Load original” brings up a list of available firmware types.

From here, click on “DRV”(another term for ESC/Control Board).

Choosing “DRV” will flash the ESC or Control board.

In the list of version options, I usually use DRV151 as I trust it to be stable and not have issues.

You can choose any of the ones you want but in general, choose 1.5.1 or the latest version available.

Here I’m looking to flash 1.5.1, so I select it from the list.

Lastly, click the “Flash” button and allow the process to complete while waiting near the scooter.

Confirm the file is the right one you want to flash before flashing.

The flash should complete shortly and your device will beep a few times after to indicate its rebooted.

XiaoFlasher

XiaoFlasher is an android app that can be used to flash and configure many models of scooters on the go.

It can be downloaded here.

This app is full of ads and it is much more recommended to use Scooterhacking Utility as shown above.

Open Xiaoflasher and scan for devices.

Scanning for devices.

Scanning for devices.

Click on the name of your scooter to connect.

XiaoFlasher is pretty buggy so sometimes after connecting the app will immediately disconnect.

You can fix it by clicking the plug icon next to “Status: DISCONNECTED” a few times until version numbers show up next to ESC, BLE, and BMS versions.

Sometimes you will need to reconnect a few times for the connection to establish.

Sometimes you will need to reconnect a few times for the connection to establish.

Once the status says “CONNECTED”, you can scroll down to the section labeled “Default – Official Firmware” and select a version.

I usually use 1.5.1 as it is stable and very proven by the community.

Click the button corresponding to the version you want to install and you should see information populate the section under “Selected File”.

The information for DRV 1.5.1 is displayed.

The information for DRV 1.5.1 is displayed.

From here hit the button labeled “Flash Selected zip File”.

Flashing in progress.

Flashing in progress.

Make sure it gets to 100% and then disconnect and reconnect to check the version has successfully downgraded.

iOS

There is currently only 1 app able to flash CFW/Firmware to ninebot scooters on iOS.

Scooter Companion

Scooter Companion is a beta app that is currently only available on testflight.

To flash back to stock firmware on iOS, you will need to install it.

 

 


Comments

2 thoughts on "Ninebot ESX How to Downgrade/Flash Back to Stock Firmware"

  1. Peter says:

    Hello
    I do the steps and all software options stops at Lock ok. No progress after that
    I need to update Drv from red to green
    Please help!

    1. joeybab3 says:

      Do you have a non-folding/rental model? If so you may need to replace the dashboard.

Leave a Reply

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