Skip to content
WIP Cross-Platform UI for Py9b
Python Other
  1. Python 99.1%
  2. Other 0.9%
Branch: master
Clone or download
Latest commit 7905b05 Jan 25, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
.android a bunch of stuff Dec 19, 2019
packaging increment version Jan 25, 2020
vendor 'cleanup' lol Dec 18, 2019
.gitignore lots of stuff from troubleshooting Dec 24, 2019
.gitmodules submod Dec 18, 2019
LICENSE Stable Apr 18, 2019
README Update README Jan 3, 2020
adb-log.bat added debug shell and batch scripts Oct 14, 2019 added debug shell and batch scripts Oct 14, 2019 'cleanup' lol Dec 18, 2019 maybe fixed progress bar Jan 19, 2020 maybe fixed progress bar Jan 19, 2020 'cleanup' lol Dec 18, 2019 changed bool used for connection state change Jan 25, 2020 'cleanup' lol Dec 18, 2019
ninerift.kv maybe fixed progress bar Jan 19, 2020
py9b 'cleanup' lol Dec 18, 2019 fixed undeclared variable Jan 3, 2020


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 ./

To build for Android read up on Buildozer or just get it off the Play Store.

After that, you can either run NineRiFt on your Windows, Mac, or Linux machine by opening using your Python3 interpreter or you can use a prebuilt APK for Android (you could also compile a build if you want).

On Android, BLE and TCP-Serial is supported.

On, Windows, Mac, and Linux, BLE, Serial, and TCP is supported.

The 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

At the moment only Segway-Ninebot SNSC, ES1, ES2, ES3, and ES4 and Xiaomi M365 dashboards are supported in 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.

SNSC dashboards cannot be flashed without either TCP-Serial or Serial interface.

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.