Ninebot ES/SNSC Custom Firmware Toolkit

Disclaimer

Configure your own custom firmware by adjusting the options below.
There are safety checks in place to ensure your scooter will not be bricked.
Be aware that a higher motor power will shorten the lifetime of your battery and could damage your motor.
By default nothing will be patched, enable patches with the "Patch?" checkbox next to them.


1.3+ is recommended over 1.2.0, because you most likely won't have to downgrade the BMS.
Select ZIP V2 if you want to flash using NineFlasher
Select ZIP if you want to flash using NinebotFun / ES DownG / NineFlasher
Select Encoded bin if you want to flash using Ninebot-Flasher / py9b / NineRift / IAP
Select Bin if you know what you're doing. Don't flash that file.
Optional, must be alphanum and less than 20 chars
Speed in km/h at which the scooter will start braking on it's own when the motor is not active.
You will still have recuperative braking when using the brake lever.
If you want "KERS OFF" then just put this to 40km/h.
Disabling KERS might result in failure of the control board and in injuries caused by strong braking. (...)
At which factor the KERS strength is divided.
Only 6 and 2 are available to prevent bricks.
The scooter will stay below this speed. Use it if you're running at limited speed even in Sport mode.
How many seconds it takes for cruise control to kick in.
Minimum speed in km/h before the motor will start.
Lower = More power. Too much power is not recommended for battery and motor life.
Modifying this value without knowing what you're doing will surely break your scooter.
For 10" wheels use 315, don't change otherwise. Experimental!
Makes the version number higher to prevent updates from the Ninebot app. Updated!
Enables the SWD interface, allowing real-time debugging using ST-Link. Testing!
Prevents any error from raising and allows the scooter to run on any battery without the need of a Ninebot BMS. Experimental!
Warning: Warning: without a proper BMS connected, the scooter won't provide any info on the current battery state, voltage, or remaining capacity. (Looking for a BMS emulator ?)
Instead of speed-based, the throttle will work on a power-based algorithm (like in a thermal engine vehicle).
Max speed is ignored if you enable this.
Disables auto shutdown when the scooter is locked so it stays on forever. Updated!
ESC will ignore input from the charging line, scooter will be rideable during charge. Useful for non-official external batteries.
Only if you use the nonexistent compatible open source BMS!
Make sure to double check all of your entered values before submitting!

⚠ INFO The tool makes .zip files with both encoded and raw firmware and an info.txt inside. (Learn More...)

Source code on GitHub