Administrators, Swags, Bureaucrats, Administrators
2,914
edits
No edit summary |
No edit summary |
||
(34 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
In the case of a bricked ESC/Controller/Control Board, STLinking can save the | In the case of a bricked '''ESC/Controller/Control Board''', STLinking can save the master control board from needing to be replaced in some instances. | ||
This is often the only way to save a board that has been bricked when the wrong firmware was flashed or an update failed. | |||
This guide shows how to STLink the Controller/Master Controlboard/ESC for the following scooters: | |||
{{Ninebot ESX Series Model List}} | |||
==Accessing the Debug Pins== | |||
{{Ninebot ESX Access Internals}} | |||
===Disassembling the ESC=== | |||
The internal battery unplugs fairly easily but the BMS connector may need needle-nose pliers to remove the connector. | |||
3 longer hex screws hold the heat sink in place. | |||
[[File:NinebotESXESCHeatsinkScrews.jpg|thumb|center|400px]] | |||
2 shorter hex screws hold the charging port in place. | |||
[[File:NinebotESXESCChargingPortScrews.jpg|thumb|center|400px]] | |||
2 shorter hex screws hold the external battery port in place. | |||
[[File:NinebotESXESCExternalBatteryPortScrews.jpg|thumb|center|400px]] | |||
Once all screws have been removed, you can pull the ESC to remove it port end first. | |||
[[File:NinebotESXESCRemoving.gif|thumb|center|400px|The ESC being removed from the housing/heatsink.]] | |||
[[File:NinebotESXESCRemoved.jpg|thumb|center|400px|The ESC removed from the housing/heatsink.]] | |||
==Download Software== | |||
{{ Install STM32 STLink Utility }} | |||
==Flashing== | ==Flashing== | ||
[[Category: Scooters]][[Category: Ninebot]][[Category: ESX]] | ===Connect the STLink to the Master Control Board=== | ||
Connect pins to 5v/VCC, GND, SWDIO, and SWCLK as shown below. | |||
[[File:NinebotESXESCSTLinkPinout.jpg|thumb|center|400px|The pins and where they should be connected.]] | |||
You can solder to these for a better connection or hold DuPont connectors as shown in the image. | |||
[[File:NinebotESXESCSTLinkConnectors.jpg|thumb|center|400px|Using dupont cables to connect to the STM32.]] | |||
Here I did a poor solder job but it still works. | |||
===STM32 STLink Utility=== | |||
Download the [https://github.com/scooterhacking/firmware/blob/e0b55b1ef90aebf44305ab679d2494ceece0ce62/Ninebot%20ESx%20and%20SNSC1.x/DRV/esc139_fulldump.bin 1.3.9 full dump .bin from ScooterHacking]. | |||
You can only flash full dump files or the ESC will not function. | |||
Always check that you are downloading files from trusted sources(aka ScooterHacking) to avoid flashing malicious firmware. | |||
Open STM32 STLink Utility and attempt to connect to the esc with the button shown below. | |||
[[File: STM32STLinkUtilityConnect.png|thumb|center|400px|Click the button shown here to attempt to connect.]] | |||
You should be warned that readout protection is enabled if it is connected successfully. | |||
[[File: STM32STLinkUtilityReadoutProtectionWarning.png|thumb|center|400px|The warning will be fixed in the next steps.]] | |||
Next, press CTRL + B to open the chip settings. | |||
Select "Disabled" under "Read out protection". | |||
[[File: STM32STLinkUtilityChipSettings.png|thumb|center|400px|The warning will be fixed in the next steps.]] | |||
Next, click the open icon on the far right as shown. | |||
[[File:STM32STLinkUtilityOpenFile.png|thumb|center|400px|Click to open the file.]] | |||
Select the esc_fulldump139.bin file you downloaded earlier. | |||
[[File:STM32STLinkUtilityOpenFulldumpFile.png|thumb|center|400px|Click to open the esc_fulldump139.bin file you downloaded earlier.]] | |||
Click Target->Program & Verify or press CTRL + P. | |||
[[File:STM32STLinkUtilityProgramAndVerify.png|thumb|center|400px|Open the programming menu.]] | |||
Confirm one last time that the file you are flashing is the full dump and then press "Start". | |||
[[File:STM32STLinkUtilityStartProgramming139FullDump.png|thumb|center|400px|Match the settings and confirm the file before pressing start.]] | |||
The program will now program the chip with the full dump. | |||
Once it finishes check the console to make sure it was successful. | |||
[[File:STM32STLinkUtilitySuccessfulProgramming139FullDump.png|thumb|center|400px|Completely finished and successful programming.]] | |||
==Reassembly== | |||
{{Ninebot ESX Reassemble Internals}} | |||
[[Category: Scooters]][[Category: Ninebot]][[Category: ESX]][[Category: STLink]] |