Downloading IAP installer (x86)..

The download of IAP V2.6.1 should begin in 5 seconds...
If it doesn't begin automatically, click here.


  • Added beta T15 support
  • Added support for up-to-date T15 firmware
  • Added up-to-date T15 BLE and DRV firmware to repo


  • Added E-series support
  • Added support for up-to-date firmware
  • Added up-to-date firmware to repo (incl. E-series)


  • Added "clear firmware buffer" and "lock" options in new menu strip
  • Added support for BMS149 (ESx) and BMS153 (Max)
  • (First pass at implementing graph readout for battery cell voltage)
  • Other minor bug fixes

2.5 - 2.5.1


  • Fixed BLE drop, now disposing of device properly
  • Fixed an occurence where reconnecting to a NBSec device would lead to crypto not being initialized
  • Better handling of Battery tab over BLE
  • Fixed all link checks before sending commands
  • Updated design chart


  • Fixed crash after BMS update over BLE
  • Fixed M365 BLE repo
  • Updated serial numbers and firware codes dialog style
  • Custom firmware codes don't require the target to be identified (and "no model restriction" lets you choose)
  • Added "Send RAW" for BLE link and made that function enabled by default


  • Added load from repo option for both Ninebot and Xiaomi, handles encoding selection
  • Other minor bug fixes


  • Added "Battery" tab, displaying all battery-related informations
  • Added BMS SN Change
  • Added BLE communication
  • Refactored core for the above functionnalities
  • Fixed administrator privileges required for caching CFW files (maybe removed false positive)
  • Other minor bug fixes

  • Added firmware caching for CFW codes (works offline!)
  • Now displaying firmware codes parameters
  • Added "Send heartbeat"
  • IAP can now send user commands either once or every second
  • Fixed readsn, now checks if SN is valid before passing it through
  • Fixed "vehicle not in locked state" error before flashing

  • Added custom firmware codes support along with its md5 check
  • Added "safe mode" support for ESx BLE 109 and BMS 146
  • Modified API calls to match new IAP services

  • Added compatibility for Ninebot-Flasher commands in "send raw". (you can now add 3E or 3D origin)
  • Added "Tools" tab (WIP)
  • Added Serial Number utilities (WIP)
  • Added changelog
  • "Connected" will now be in green only if a connection has been established to the target
  • flying rice

  • IAP can now detect the model of your scooter. It will be displayed in the "Installed firmware" section
  • Added model filters in safe mode to prevent bricks (Ninebot only)
  • Remodeled custom command interface for more intuitive inputs
  • Minor fixes and improvements

  • IAP safe mode (enabled by default, Ninebot scooters only) : firmware files are now checked upon loading and the target is selected automatically
    The use of the "Experimented user" mode (now available in the About tab) disables firmware checks, allows manual target selection and allows RAW commands to be sent
    ❤️ Ninebot-Flasher

  • Minor improvements at parsing RAW commands
  • Sets target from BMS #2 to BMS if Xiaomi is the selected vehicle type