How To Connect Ninebot IAP to the IoT Port of a Ninebot ESX

February 28th, 2020


Ninebot IAP makes flashing files to your scooter a breeze. It can also come in handy to downgrade the firmware or fix errors when flashing over BLE has failed.

This method should only be used if Bluetooth is not available for some reason. If you have Bluetooth and a BLE-enabled computer, use this guide instead.

Alternatively, view all connection methods here.

What you will need:

  • Male IoT cable or Male Jumpers
  • Jumpers
  • USB Serial converter, search “CP2102” on amazon

If you have a Wemos you can use that as the serial converter using this guide, or this guide if you have a NodeMCU.

Ninebot IAP is the easiest to use when the scooter has an IoT port, and this post describes how to use it when the scooter does have a port.

Not all scooters have an IoT port though, so if you have one without it, use this guide instead.


If you have the male side of the IoT cable, this process will be a lot easier. Assuming you still have the GPS unit, the 5 pin Male Julet connector can be harvested from it.

Connect the Green wire from the IoT cable to the TX output of the USB Serial converter, and the Yellow wire to the RX input on the converter.

Connect ground/black to ground/GND on your serial converter as well.

If you do not have the cable, plug the male jumpers from your serial converter into the female side of the IoT cable on the scooter on RX, TX, and GND as shown below:

IoT Pin out.

Holding the connector so that the bump is facing up, connect a jumper to GND directly to the right of it, RX to the hole below that, and TX to the bottom hole.



From here, open Ninebot IAP, which can be downloaded from here.

Open device manager and find out which com port your USB Serial device is on. Scroll down to “Ports (COM & LPT)” and find the device you are using.

Below is a screenshot showing my CH340G USB Serial device on port “Com 11”.

In Ninebot IAP, make sure you select the correct COM port and for “vehicle” choose “Ninebot”, then “Interface” should be set to “IoT (3D)”.

Press “Connect” and verify that versions show up in the upper right-hand window.

If there are no versions shown, try swapping your RX and TX lines on the IoT port.

Below the versions, there should be a field that says “Scooter: Ninebot, ESX”.

If it says “Unknown” but shows versions, go to the “About” tab and tick the box that says “No Model Restrictions”.

If you have everything set up and versions showing you should be able to flash whatever files you need.


4 thoughts on "How To Connect Ninebot IAP to the IoT Port of a Ninebot ESX"

  1. fey says:

    why cant read my scoot BLE???

    1. joeybab3 says:

      As I mentioned on your other comment, make sure the computer/device you are using to flash has BLE support and the dashboard on your scooter is OEM

  2. Ivan says:

    Ive done everything right, but the versions are not showing, if i click on connect it says connected but it isn’t, i already swapped the lines but nothing helps

    1. joeybab3 says:

      Make sure you have the correct serial port selected and that your computer has the drivers installed

Leave a Reply

Your email address will not be published. Required fields are marked *