How to Downgrade Ninebot Max/G30 DRV 1.7.0 Without STLink

March 27th, 2022

NOTICE: Future versions may never get a downgrade. If you upgraded (1.7.1+) and lost your ability to downgrade you will need to STLink.
WARNING: Make sure not to update or use the official app in the future to avoid these issues! All features available in the official app (lock, activate, etc…) are available using other apps that will NOT force updates on you.

Earlier this month, Ninebot released the DRV 1.7.0 update for the Ninebot Max/G30/G30P/G30D/whatever model you find yourself with that locked downgrading.

Thanks to the work of the folks at, we now have a fix!

Best of all it does not require an STLink or taking apart your scooter.

This will solve the issue where flashing with ScooterHacking Utility says “Update failed! Reason: Data format error.

Warning (No Longer an Issue)

As of the latest version of ScooterHacking Utility the below section is no longer an issue.

If you have a max with the new version of the ESC (SN late 21-22), this will brick your controller.

Do not proceed until this has been fixed if you have a new ESC.

If you have accidentally gone through with this procedure on the new ESC, follow this guide on RollerPlausch (in German).


This solution requires an android device with BLE and ScooterHacking Utility (SHU) installed.

Download SHU from ScooterHacking.

Make sure the app is up to date before beginning. If you just downloaded it this shouldn’t be an issue.

Open the app and give it Bluetooth/location permissions if you have not already.

Select your device from the list.

The list of available BLE devices.

The list of available BLE devices.

After clicking the device, you will be prompted letting you know you are on a restricted DRV.

Click “yes” to begin the downgrade.

The prompt notifying you of the restriction.

The prompt notifying you of the restriction.

It will then say “Removing DRV firmware restrictions”.

The prompt notifying you of the restrictions being removed.

The prompt notifying you of the restrictions being removed.

Click outside this message to begin the flash after 30 or so seconds.

Flashing 'stock' 1.6.3.

Flashing ‘stock’ 1.6.3.

Your version number should now reflect the downgrade to 1.6.3 and you can reflash your custom firmware or stock.

Make sure you do not use the official app as it may force an update again.

1.6.3 showing a successful downgrade.

1.6.3 showing a successful downgrade.


38 thoughts on "How to Downgrade Ninebot Max/G30 DRV 1.7.0 Without STLink"

  1. Jo says:

    Hi joeybab3,
    I’m stuck with US region and not able to revertback. I’ve tried with ninebot IAP (by changing SN), I’ve tried scooterhacking utilities, and xiaoflasher .
    My scooter model is : G30 LE II
    FW version is 1.7.1
    The actual SN starts with N4GS (old one was N4GA).

    Any idea ?? please help

    1. joeybab3 says:

      Sounds like you need to downgrade your firmware. I don’t have much info on the 1.7.1 version, it seems that it was possibly a regional release.

  2. David says:

    Hey bro my region is stuck at eu and now my scooter doesn’t go above 20kph every time I tried flashing it never flashed please help

    1. joeybab3 says:

      Did you update to 1.7.13? If so you will be out of luck unless you stlink

  3. Nicklas says:

    Hey Joeybab3
    I have a ninebot max, from late 20 – i want to donwgrade firmware so I can flash it, but will I be able to do so without an android phone? I have acces to a windows computer if that helps?

    1. joeybab3 says:

      Depends which version you have, if you have 1.6.13, or 1.7.0+ then you will need an Android phone or to borrow a friend’s phone

  4. Nicolcea says:

    if I have the new version of controller v1.1, if I change the serial number, can I downgrade after that without bricking the controller?

    1. joeybab3 says:

      No, you won’t be able to change the serial number anyways with the newer version but flashing the downgrade would brick it since it is meant for the older controller.

  5. Kid says:

    How would I know if it is a “new version of the ESC”? is it a specific serial number range or physical differences between older and new?
    Thank you

    1. joeybab3 says:

      Both, I’m not sure the specific range other than it was late 2021/early 2022 that they started. There are some other physical differences in the labeling as well.

  6. Kid says:

    Sorry, noob here. What do you meen by;
    If you have a max with the new version of the ESC (SN late 21-22), this will brick your controller.
    Do not proceed until this has been fixed if you have a new ESC.

    I just bought a new G30 and it has 1.7.0 firmware on it. It looks to be a version 2 motor. I want to take advantage of a bit more torque cuz I’m >220lbs.
    Do I need to take out the ESC and confirm its version?
    Thank you

    1. joeybab3 says:

      It would be best to take the bottom cover off to check. If you attempt this process otherwise it will brick.

  7. Fares says:

    Were you able to get it fixed? I have the same issue

    1. joeybab3 says:

      Not sure who you are replying to here?

  8. Henri von Steen. says:

    Good day

    ninebot G30ii

    I did exactly as described. Now my scooter does not want to turn on. anymore. Bought it two days ago.

    any help will be greatly appreciated

    1. joeybab3 says:

      When you say it doesn’t turn on anymore, what exactly happens, any beeping/lights at all?

  9. Max Mellström says:

    is there an way to do it with the ninebot api on windows?

    1. joeybab3 says:

      No DRV 1.7.0 must be done with ScooterHacking Utility, future versions must be done with an stlink.

  10. James says:

    I brought a brand new G30P and it already had the new firmware on it, so scoothacking utility prompted me to downgrad the firmware. I said yes and it seemed to flash ok, but then it could no longer connect to the scooter and my scooter was bricked. 🙁 I would not do this process for new scooters.

    1. joeybab3 says:

      Interesting, that’s the first I’ve heard of that happening. Could you provide a bit more detail into what you mean by bricked? If it’s behaving weirdly but still has Bluetooth or some functionality you may be able to fix it without stlinking.

  11. CaptainWinsEmAll says:

    I have a less herd of brand of shared escooter brands called SPIN I was told it’s a snsc2.0 I tried to flash using SHU but after it connects after I press flash nothing happens the screen don’t upload the flashing loading bar it just stays on the same setup options screen

    1. joeybab3 says:

      Well assuming you got that rental scooter legally it’s still going to have rental firmware on it so it will need to be STlinked.

  12. Patrick says:

    I’m guessing I Ned to ST link to the BMS to downgrade the BMS to allow for custom firmware install? The BMS is the only thing left of the old rental equipment. My dash shows BLE 9.9.9 although it seems to take the flash of BLE 110. I didn’t get an error code on the app or on the dash. The app said success but when I reboot it shows BLE 9.9.9.

    My DRV shows 2.4.5 and my BMS shows 2.5.5; can’t download any other DRV usin Bluetooth from ScooterHack Util

    1. joeybab3 says:

      Well if you have clone equipment then you will need to get rid of it if you want to be able to experiment with flashing anything… As for the other versions, assuming the clone hardware isn’t just reporting fake versions to prevent updating since it can’t then those don’t look like the SNSC 2.0 versions I’m used to so if you are trying to do that for an SNSC 2.2+ then it will not work with retail firmware.

  13. Patrick says:

    Hey guys.. hoping you can help me out here. I havace a former LYFT which I’ve replaced the ESC and dash using unit’s I got from Amazon. It’s a XBOT (clone) G30 ESC and dash. I managed to flash BLE 110 onto the dash, but after reboot it still shows BLE 9.9.9 in my info list. I’m unable to install SHFW,. It gives me an error code 10 whenever I try flashing the SHFW or when trying to flash DRV versions from the server.

    Any ideas?


  14. badmug says:

    Will this work with Lyft BMS battery installed to flash BMS to stock.

    1. joeybab3 says:

      You cannot remove rental versions without an STLink

  15. Andy says:

    I hope someone figures out 1.8.3 downgrade. I’m lazy and don’t want to st link.

  16. Rain Berezin says:

    Is there any way to downgrade Ninebot Max DRV 1.7.0 without STLink using Windows`?

    1. joeybab3 says:

      No, you must use an android for the time being

  17. Sanin says:

    Crvena lampica ,prva od pokazivaca baterije..blinka non stop..nema veze jel punjač upljen il ne..isto pokazuje koliko idem na sat,i nmž se prebaciti u S mode……ka mislim da sam sve metoze resetovanja probao al,ne rade..svi pokušaji preko apl dowgrade i scoterhacking da vratim na staru verziju i orginalni su neuspjeli..IMA LI IKO RIJESENJE ..(da ga ne rastavljam po mogućnosti)?? TEK SAM KUPIO XIAOMI-PRO2…i oma belaj..unabrijed hvala

  18. boringf30 says:

    With the 5.8.5 update I now cannot downgrade the firmware of my Ninebot F30, if you know how then please make a tutorial on that aswell. Thanks!

    1. joeybab3 says:

      I don’t have an F-series and do not currently know of any ways to get around this, sorry.

  19. Tom says:

    What is BLE??

    1. joeybab3 says:

      Bluetooth low energy

  20. Dries says:

    I got an error. Flashing Failed! Update Failed Reason Page index error.
    The flashing starts and then atfer 2 or 3% its stops an says this error.
    Ik have the latest app and rebooted step and phone.

  21. Goku says:

    I did this and now the Ninebot Max won’t stay on or connect via Bluetooth. Have you had anyone else with this experience? Not sure what to do.

    1. joeybab3 says:

      It’s possible the flash failed. It’s very rare (1/100+ flashes) but it can happen even with OEM updates. You may need to STlink to put the old firmware back.

Leave a Reply

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