February 23rd, 2022
Sometimes when updating a Ninebot Max/G30/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 updated it to 1.7.0 or 1.6.3 or any future versions where Ninebot restricts the downgrading of the firmware.
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 causing a fire.
Start by removing the 18 Security Torx T-15 screws on the bottom.
Using an M4 Allen/Hex wrench or bit, remove the two screws holding the ESC in place.
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.
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 fulldump 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 make sure 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.
Once it completes, check the log for error messages.
After that it should be ready to use again!