October 4th, 2023
Sometimes when updating a Ninebot Max G30/G30E/G30D/G30P/whatever other models Ninebot comes out with, the update may fail.
This can happen even without trying to flash CFW or Custom Firmware.
In the case of a bricked ESC/Controller/Control Board, STLinking can save the controller from needing to be replaced in some instances.
This guide will also be useful if you have updated it to DRV 1.7.0 or DRV 1.6.13 or any future versions where Ninebot restricts the downgrading of the firmware.
This is also the only fix for DRV 1.8.3/1.7.13 or DRV 1.8.7. Anyone promising you a fix over Bluetooth is probably attempting to scam you.
For this process you will need:
This process can be dangerous if done incorrectly so take caution when performing these steps and make sure you use a computer you are comfortable possibly destroying.
If you short a battery line you could end up blowing up your STLink, Computer, ESC, and more, or even cause a fire.
Check out the difference between the Ninebot Max ESC Generations and use the steps below depending on which one you have.
There are 3 different board layouts.
Click the image above to go to the guide that corresponds to your model. This one is for the Gen 1 ESC with bullet connectors, but 3 capacitors as well. This generation is used for the G30D regional variant.
Check my wiki article for the different NinebotMmax ESC generations for more info.
Start by removing the 18 Security Torx T-15 screws on the bottom.
The locations of the 18 screws.
Using an M4 Allen/Hex wrench or bit, remove the two screws holding the ESC in place.
The ESC after being removed.
Carefully unplug each of the connectors.
You may need to scrape more rubber potting compound away from some of the connectors in order to unplug them.
Carefully scrape away the potting compound, making sure not to remove any of the small surface mount components.
Be very careful not to damage any of the smaller SMD components.
A new option recently was published by the team at ScooterHacking for STLinking ESCs.
You can download it here.
Download STM32 STLink Utility from the ST website.
Scroll down and click “Get Software” and enter your email to receive a download link.
Install it and open it.
You will also need the full dump file from ScooterHacking.
You can download it directly here: https://files.scooterhacking.org/firmware/max/DRV/esc126_fulldump.bin
A note on downloading firmware: Always ensure you get it from a reputable source.
Always download from ScooterHacking whenever possible, DO NOT TRUST ANYONE TO GIVE YOU FIRMWARE.
I do not host firmware files for this reason.
Connect the STLink to the ESC according to the diagram below.
The BMS port red and black wires can also be connected to provide power instead of using the BMS connector and ground point.
The pinout for the STLink for the data pins.
Before connecting pins, make sure the battery is unplugged and the onboard capacitor has no energy by either shorting the capacitor leads or pressing the dashboard power button a few times while it is plugged in but not connected to the battery.
Connect your STLink to the pins as shown, you can choose either location for 5v and GND.
No error messages about “Unable to connect to target” should display.
At this point, a red LED should light up on the board.
Once it completes, check the log for error messages.
After that, it should be ready to use again!
Very informative. Thank you!