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 a DRV 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.


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.


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 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 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.


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

  1. 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.

  2. 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.

  3. 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?

  4. 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?

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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?


  10. 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

  11. Andy says:

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

  12. 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

  13. 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

  14. 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.

  15. Tom says:

    What is BLE??

    1. joeybab3 says:

      Bluetooth low energy

  16. 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.

  17. 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.