Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
77 lines (40 sloc) 3.23 KB
This is an Open-Source Ninebot and Xiaomi compatible scooter interface app.
THIS TOOL IS ONLY FOR USE ON DEVICES YOU OWN!!! It is still being added to but is in a functional state.
This application is written in Python3.
This application works with Windows, Mac, Linux and Android.
The Android version is available on the Google Play Store:
To install required libraries and launch NineRiFt for Desktop, run the following few commands:
git clone --recursive
cd NineRiFt-Lite/packaging/
python3 -m pip install -r requirements.txt
cd ..
python3 ./
In some cases, one may need to install Kivy and it's dependencies manually.
For Kivy installation instructions refer to the appropriate link below:
Windows -
Mac -
Linux -
To build for Android read up on Buildozer and pick through my buildozer.spec or just get it off the Play Store.
After all dependencies are met, you can run NineRiFt on your Windows, Mac, or Linux machine by opening using your Python3 interpreter.
On Android, BLE and TCP-Serial is supported.
On, Windows, Mac, and Linux, BLE, Serial, and TCP is supported.
Download screen is for downloading firmware:
1. Select device you need firmware for in the dropdown on the left
2. Select the firmware version you need
3. Click "Download it!" and wait for download to complete
The Flash screen is for flashing firmware:
1. (Optional) Type the first few digits or the full length of the MAC address of the target scooter for flashing
2. Select the interface you want to use to connect (if wired, plug it in first)
3. Select the part you wish to flash
4. Select the firmware file you want flashed to the target scooter. DO NOT SELECT AN MD5 FILE!!! THIS IS NOT THE FIRMWARE!!!
5. Click "Flash it!" and wait for flashing to complete
The Command screen is for issuing commands:
1. Select the command
2. Provide the necessary inputs where appropriate.
3. Select Execute by tapping or clicking
At the moment only Segway-Ninebot SNSC, ES1, ES2, ES3, and ES4 (versions 1.0.7 or below), Segway-Ninebot Max BLE555, and Xiaomi M365 dashboards are supported in open source builds of NineRiFt Lite as interfaces.
NineRiFt Pro builds for Windows, Mac, and Android as well as source code can be provided to anyone that has a valid transaction ID for NineRiFt Pro on the Play Store and can send an email from the associated address (once builds are complete; there are a few things to improve before then).
Some features will not be made available in open-source builds until the affected devices fall into obsolescence or are no longer actively supported by the manufacturer.
SNSC dashboards cannot be flashed without either TCP-Serial or Serial interface.
If Serial flashing fails, verify the connections between the dashboard and motor controller are good and that the motor controller is running a retail firmware.
If you appreciate my work, be sure to donate at or any of the other options listed on my GitHub.
You can’t perform that action at this time.