This tab links straight to Google Play store. It is suggested to use SH utility for flashing the herein generated firmware.
In case your device does not come with Google Play or Google Service Framework installed, you can download the apk here: https://utility.cfw.sh/apk
This category contains suggested presets, set up by community. You can base your template on any of them, however it’s suggested to start from vanilla configuration.
You can also save presets in your browser or import/export them into a file
This will patch out new limitation imposed in 223/224 DRV that beeps when the target speed reaches 30km/h or more.
If you intend on using external battery through the charging on, turn this on. For all other uses, keep it off.
Artificially inflates the firmware version number in order to prevent any official apps from unsolicited upgrading. No side effects are to be expected with sideloading different firmwares. Recommended
Current in the following rows should be thought as torque. More amperage means more torque, but also more stress on the components and motor, usually less range on single charge. It is suggested to start from factory values and proceed up only if necessary. 25A on Sport mode is already high enough that the motor cannot exert this level of torque for long without overheating. Bear in mind that the motor case temperature are only a fraction of the heat generated by coils, which are usually 50-60C hotter than the case.
Estimated draw is the 'older' setting for current. In practical sense, this would be the target current you'll reach during operation, with small fluctuations based on the current elevation or speed.
Current limit was previously known as phase current limit . This is the peak envelope power on the ABC phases, measured by the ESC itself. __Treat this as hard limit, and the estimated draw as soft limit.u When unsure, you can set this to 2-3 times of the estimated draw.
Max speed is rather self explanatory, in speed mode, your max speed will be limited by this setting. The scooter never actually reaches this, due to various factors. Generally, 1km/h should be added here to reach the target speed, e.g. for 25km/h, set 26.
Changes the way the throttle reacts:
This setting controls how is the full current applied, relative to your active current. The idea here is not to stress the motor at low rotations per minute, where its efficiency is the lowest. 16000 is the allowable maximum.
If you limit the current limit to conservative values, you can max this out, to get current-accurate DPC.
Motor will not exert any torque unless this speed is reached. Please note that even when this is set to 0, the scooter won’t accelerate from dead stop. Minimum speed here is >0.01kmh represented by the value “0” on the slider.
Lever virtual limit – modifies the linear response of the brake lever in such a way, to apply the maximum value sooner based on relative position of the brake lever. 130 results in fully linear response, 0-100%, 85 reaches the maximum braking power at about 70% of the brake lever range.
If you have separate lever or thumb throttle for ebrake, set this to maximum to get the best dynamic range, otherwise keep to 75-100 with combined levers.
Sets the strength of how your brake will be pulling. It is advisable not to go over 30A, as there are reports of broken controller boards due to regenerative braking. Furthermore, there is a limit to how much braking can be achieved per system voltage. Going over this limit means the scooter will try to brake by applying current instead of regeneration. This can stress the components excessively, and shouldn’t be used in other cases except emergencies. More braking power can be unlocked by raising system voltage to 48V or beyond.
Disables automatic braking when no acceleration is applied. Recommended, as the default automatic braking has no significant advantages, and only results in applying throttle more than necessary. Furthermore, small current is applied when the scooter is moving even without any throttle set. This can help with coasting, as the static magnetic forces of the motor are overcome, which would normally cause drag.
Again, same as with adding torque, this controls the relation of the braking current applied to the speed you’re moving. Lower setting might help with finding balance between good downhill speed and regeneration, while higher values will pull more current faster, leading to quicker stop.
Changes the way the rear light reacts to braking
Sets the flashing frequency for rear light in flashes per minute.
By default, the rear red light will blink when the brake lever is pressed. Check this to keep that from happening.
Sets the time until cruise control is applied, when the throttle is kept at the same position. After the beep, your speed or power will be kept constant, until you touch the throttle again, or apply brakes.
Check this guide for what errors will be raised with the applied settings: https://wiki.scooterhacking.org/doku.php?id=nberrorcodes
Stock, unmodded scooter should have this set to level 0.
If you have higher voltage battery with no “smart” bms, set this to level 2 to prevent ESC from triggering error 21
Level 3, known as stealth level bypasses all errors. Not recommended for general usage
With this enabled, the scooter will be always on in lock mode, with blocked motor to prevent theft.
Enable this only if you used open source BMS, as detailed on BoToX github.
Keep as is, if you use stock 8.5” tires. This directly affects speed limits set earlier, and should be set only in case 10” tires were put on.
9.47 for XuanCheng tires
9.0 for Wanda P1237 tires
9.0 for Deli SA-206 tires
Change this only if you increased battery voltage. The threshold should be maximum 4.3V per cell.
So 51.6V for 12s, 55.9 for 13s, 60.2V for 14s and 64.5 for 15s.
Select the output format based on the flashing app you use, and then click Download ZIP
Congratulations, you have successfully cooked your custom, tailored firmware. Now load it in Scooter Hacking utility, DownG or XiaoFlasher (deprecated) and enjoy