Skip to content

Practical guide · Motorcycles

ELM327 for motorcycles: which apps work and which adapter you need

An ELM327 is not just for cars. With the right cable and the right app it reads fault codes on many motorcycles too, and it works particularly well on BMWs. What you need for your make and year.

By Redacción de Satkit Updated 18 min read 15 sources cited

Coiled black adapter cable for BMW motorcycles, with the round 10-pin plug at one end and the 16-pin OBD2 socket at the other
Photo: Satkit (satkit.ie) · Original

In short

  • BMW: MotoScan (Android) or Biketune (iPhone) with an ELM327 and, on bikes from before 2017, a 10-to-16-pin cable.
  • Ducati, KTM, Triumph, Aprilia, Benelli Tornado and Moto Guzzi (the models on the TuneECU list; Ducati up to the 1198, Aprilia up to 2020): TuneECU (Android) with a Bluetooth ELM327, such as Satkit's, or with its USB cable.
  • Many bikes do not have the car-style OBD2 socket: you almost always need an adapter cable for your make's socket.
  • Some makes (Honda or Kawasaki before Euro 5, for example) use their own protocols that a normal OBD2 app does not understand.

An ELM327 speaks the same diagnostic protocols that many motorcycles use, so it works on motorcycles too. But bikes differ from cars in two ways worth knowing before you buy anything:

  1. The socket. Many bikes do not have the 16-pin OBD2 socket found in cars but their own 3, 4, 6 or 10-pin one. To plug in the ELM327 you need an adapter cable for your make.
  2. The app. Several makes speak their own "language" instead of standard OBD2. Torque or Car Scanner are not enough there: you need an app that knows the make.

Both pieces fit best on BMWs: there are two apps built for them that work with an ELM327, MotoScan on Android and Biketune on iPhone. For the Ducati, KTM, Triumph and other European models on its list there is TuneECU. We start with BMW.

If you are new to the adapter, the basics are in what an ELM327 is, and the car apps in our guide to ELM327 apps.

First: which socket does your bike have?

  • BMW up to model year 2016: a round 10-pin socket. You need the 10-to-16-pin cable.
  • BMW from model year 2017: they have the 16-pin OBD2 socket, like a car. The ELM327 plugs straight in.
  • Other makes: their own 3, 4 or 6-pin sockets (Yamaha, Honda, Kawasaki, Suzuki, KTM, Harley-Davidson…). The shape depends on the make and era, so the cable must match your model.

EU rules have required on-board diagnostics (OBD) on new motorcycles since Euro 4 (every bike registered from 2017) and extended them with Euro 5 (from 2021). That does not mean they all have the 16-pin socket: many use a smaller, sealed 6-pin one.

Where the socket is

It is usually under the seat, near the battery or fuse box, sometimes behind a rubber cap. Your owner's manual shows the exact spot.

BMW: MotoScan and an ELM327

MotoScan is an app by the German company WGSoft dedicated to BMW motorcycles only. It covers every series (C, F, G, K, R and S) from the early 2000s, both those using the older protocol (K-Line, KWP2000) and those using CAN, such as the water-cooled R 1200 GS (K50).

Round 10-pin plug of the cable for BMW motorcycles from before 2017
Fig. 01 The round 10-pin socket on pre-2017 BMWs needs this plug Photo: Satkit (satkit.ie)

What you need:

  • An Android phone or tablet. MotoScan is Android only: there is no version for iPhone, Windows or Mac. On an iPhone, the alternative is Biketune.
  • A Bluetooth ELM327, such as the ELM327 Bluetooth v1.5. MotoScan recommends Bluetooth adapters and advises against Wi-Fi ones.
  • On BMWs from before 2017, the 10-to-16-pin cable. From 2017 you do not need it.

With an ELM327 you can identify the control units, read and clear fault codes and see live data. The app has a built-in adapter test that tells you whether yours is suitable for K-Line and CAN bikes.

What MotoScan cannot do with an ELM327

An ELM327 cannot send long messages to the control unit. So with it you cannot reset the service reminder (the bike's date has to be set), some coding is not possible and the ABS on some older bikes cannot be diagnosed. For those jobs MotoScan asks for specific adapters (OBDLink LX or MX+, UniCarScan).

Which BMWs MotoScan recognises

MotoScan publishes on its website the list of bikes, control units and functions it diagnoses. Here it is, grouped by series (C, F, G, K, R, S and Husqvarna) and by electronics generation (in brackets, BMW's internal code, the one you will see in the app). The diagnosis column comes from the protocol MotoScan gives for each control unit (KWP or UDS):

Models (BMW code) Control units it reads Diagnosis
C1 Engine and ABS K-Line
C 600 Sport (K18), updated C 650 GT (K19 MUE) Engine, cluster, ABS, tyre pressure and alarm K-Line (KWP2000)
C 650 GT (K19) Engine, cluster, ABS and tyre pressure CAN (UDS)
Single-cylinder F 650 GS and GS Dakar (R13), F 650 CS (K14) Engine and ABS K-Line
F 650 GS and F 800 GS (K72), F 700 GS (K70), F 800 S, ST and GT (K71), F 800 R (K73), F 800 GS Adventure (K75) Engine, cluster, ABS, central module (ZFE), alarm and tyre pressure, radio and suspension K-Line (KWP2000)
G 650 GS and Sertão (R13), G 450 X (K16), G 650 Xchallenge, Xmoto and Xcountry (K15) Engine and ABS K-Line
K 1100 and K 1200 RS and LT (K589) Engine and ABS K-Line
K 1200 S and K 1300 S (K40), K 1200 R and K 1300 R (K43), K 1200 GT and K 1300 GT (K44) Engine, cluster, ABS, central module (ZFE), alarm and tyre pressure, radio and suspension K-Line (KWP2000)
K 1600 GT and GTL (K48) Full electronics: 12 control units (engine, ABS, cluster, base module, headlights, alarm, ESA and semi-active suspension, switch units, tyre pressure, keyless ride and radio) CAN (UDS)
Oil/air-cooled R 850, R 1100 and R 1150 boxers (259, R21, R22, R28), R 850 C and R 1200 C (259C), R 1200 CL (K30) Engine and ABS K-Line
R 1200 GS and GS Adventure (K25), R 900 RT and R 1200 RT (K26), R 1200 R (K27), R 1200 ST (K28), R 1200 S and HP2 Sport (K29), R nineT (K21) Engine, cluster, ABS, central module (ZFE), alarm and tyre pressure, radio and suspension K-Line (KWP2000)
Water-cooled R 1200: GS (K50), GS Adventure (K51), RT (K52), R (K53) and RS (K54) Full electronics: 12 control units CAN (UDS)
HP4 (K42), first-generation S 1000 RR (K46) Engine, cluster, ABS, central module (ZFE), alarm and tyre pressure, radio and suspension K-Line (KWP2000)
Updated S 1000 RR (K46), S 1000 R (K47), S 1000 XR (K49) Full electronics: 12 control units CAN (UDS)
Husqvarna TR650 Strada and Terra, Husqvarna Nuda 900 and 900 R Engine, cluster, ABS, alarm and tyre pressure K-Line (KWP2000)

K-Line is the diagnostic line on BMWs with older electronics (KWP2000 protocol); the ones with full electronics are diagnosed over CAN (UDS protocol). With an ELM327, MotoScan works with both, within the limits in the warning above.

If your BMW is not in the table

More recent models, such as the R 1250, the F 750, F 850 and F 900, the G 310, the R 18, the M 1000 RR or the S 1000 RR from 2019, do not appear in the published list. MotoScan says the list is not complete and that the app also recognises new models not yet on it. The free Lite version tells you whether it recognises your bike before you pay anything.

MotoScan versions

The Lite version is free and lets you check that your bike and adapter get along before you pay. The paid versions are bought inside the app (prices from the MotoScan website, October 2026):

Version Price What it adds
Lite Free Identification and limited reading of faults and data
Basic €14.99 Read and clear fault codes and see live data
Professional €29.99 Actuator tests, adaptations and service intervals
Ultimate €49.99 Everything, including service functions (ABS bleeding, idle actuator synchronisation, tyre pressure sensors…) and coding

The functions available depend on the model and its equipment: not every control unit has them all.

Step by step: reading a BMW's fault codes with MotoScan

  1. Install MotoScan from Google Play (start with the Lite version).
  2. Plug in the adapter: on bikes from before 2017, first the 10-pin cable into the round socket and the ELM327 on the other end; on newer ones, the ELM327 straight into the OBD2 socket.
  3. Switch the ignition on without starting the engine.
  4. Pair the ELM327 in Android's Bluetooth settings. The code is usually 1234 or 0000.
  5. In MotoScan, open settings, choose your adapter and run the adapter test.
  6. Choose your model and the control unit (engine, ABS, instrument cluster…) and connect.
  7. Open the fault memory, write the codes down or take a screenshot and, if you want, clear them (Basic version and up).

Battery

With the ignition on and the engine off, the bike drains its battery. If you will be a while, connect a battery charger or maintainer.

Other makes: what works with an ELM327

Beyond BMW, the answer depends on the make and, above all, the year. This table sums up what you can do with each.

Make and era Socket ELM327 + cable? App
BMW up to 2016 Round 10-pin ✓ Yes, with the 10-to-16-pin cable MotoScan (Android) or Biketune (iPhone)
BMW from 2017 16-pin OBD2 ✓ Yes, no cable MotoScan (Android) or Biketune (iPhone)
Triumph (models on the TuneECU list) 16-pin OBD2, under the seat ✓ Yes, with a Bluetooth ELM327 plugged straight in or with the TuneECU USB cable TuneECU (Android)
Ducati and Moto Guzzi (models on the TuneECU list) 3-pin ✓ Yes, with a Bluetooth ELM327 and a 3-to-16-pin adapter, or with the TuneECU USB cable TuneECU (Android)
KTM, Aprilia and Benelli Tornado (models on the TuneECU list) The make's own socket ✓ Yes, with a Bluetooth ELM327 and the make's OBD2 adapter, or with the TuneECU USB cable TuneECU (Android)
Suzuki 2017-2019 (GSX-R, GSX-S, V-Strom, SV) 6-pin ✓ Yes, with the 6-pin cable and a CAN reader General OBD2 app: Car Scanner, Torque
Yamaha 125s and scooters from Euro 4 (about 2017-2018 on: YZF-R125, MT-125, NMAX, XMAX…) 3-pin ✓ Yes, with the 3-pin cable and a CAN reader General OBD2 app
Euro 5 bikes (new from 2021) 16-pin OBD2 or 6-pin Depends on the model: many let you read engine faults and data; others do not respond without the maker's tool General OBD2 app
Honda and Kawasaki before Euro 5 4 or 6-pin ✕ Not with a normal OBD2 app: they use their own protocols The make's own tools
Harley-Davidson 4-pin (until about 2010) or 6-pin With its own cable and an app that knows Harleys Harley-specific tools

Do I need it?

Your bike has the socket but the app will not connect? First try with the ignition on and the engine off, and check the cable matches your model. If it still does not respond, your bike most likely uses the maker's own protocol.

Other motorcycle apps

MotoScan is not the only motorcycle app that works with an ELM327. These are the others worth knowing, depending on your make and your phone. The three main ones go head to head in MotoScan vs Biketune vs TuneECU.

TuneECU: Ducati, KTM, Triumph and other European makes

TuneECU is an Android app that diagnoses, tests and reprograms the engine control unit of Aprilia, Benelli, Ducati, KTM, Moto Guzzi and Triumph motorcycles, plus some Husqvarna, Moto Morini and Gilera models. It does not cover all their bikes: its website publishes the model list and the functions available for each. For Ducati it goes up to the 1198, the Hypermotard 1100 and the Multistrada 1100 (not the Panigale or the Multistrada V2 and V4), and for Aprilia up to the 2020 RSV4 and Tuono V4.

  • Connection: TuneECU works with a Bluetooth ELM327 or a USB/OBD2 cable (KKL with an FTDI chip) connected to the phone through an OTG adapter. Satkit's generic ELM327s are compatible with TuneECU: they are full ELM327s with the PIC18F25K80 chip, such as the ELM327 Bluetooth v1.5.
  • With the Bluetooth ELM327 you get diagnostics and maintenance: read and clear fault codes, see sensor data and run the tests and adjustments TuneECU offers for your model (fuel pump, injectors, fan, throttle position sensor reset…).
  • To reprogram the ECU (read and load maps, remove the speed limiter) you use the USB cable. On Triumphs with a Bluetooth-only ECU, reprogramming works with the Bluetooth adapters on its list: OBDLink LX, MX or MX+, UniCarScan UCSI-2100 and Vgate vLinker MC+. TuneECU's model list shows the connection and functions for each bike.
  • The cable for each make: Triumphs have the 16-pin OBD2 socket under the seat and the ELM327 plugs straight in. Ducati and Moto Guzzi use a 3-pin socket (3-to-16-pin adapter), and KTM, Aprilia and Benelli Tornado the make's own socket with its OBD2 adapter. Benelli TNT and Trek (Walbro ECU) do not use an ELM327: they need the special USB/RS232 cable TuneECU specifies.

TuneECU is not on Google Play: you download it from its developer's website and buy the licence inside the app with PayPal. The standard licence costs €25 and covers 5 bikes for one year; the Pro licence, for workshops, costs €300 and lasts three years with no bike limit. The old Windows version is no longer available.

Biketune: BMW on an iPhone

Biketune is the iPhone counterpart of MotoScan: MotoScan only exists for Android, and Biketune only for Apple devices (iPhone, iPad and Apple-silicon Macs). It is a diagnostic app for BMW motorcycles that connects to the OBD2 adapter over Wi-Fi or Bluetooth LE. It covers everything from the classic air- and oil-cooled boxers and K-Line BMWs to the latest bikes: S 1000 RR, R and XR, M 1000 R and RR, R 1200, 1250 and 1300 GS and RT, R nineT, R 12, R 18, F 750 to F 900, K 1600, the G singles, the C and CE scooters and BMW-era Husqvarnas. On any other bike or car with OBD2 over CAN it does the standard OBD2 reads.

  • Free: fault codes from the control units (engine, ABS, cluster…), live data, tyre pressures, reports to send to your mechanic and a demo mode with no adapter.
  • Biketune Pro (€17.99, one-off purchase): clear fault codes, reset the service reminder, coding, adaptations and actuator tests.
  • Adapter: on an iPhone you need a Wi-Fi or Bluetooth LE adapter. At Satkit, the ELM327 Wi-Fi, the Vgate iCar2 Wi-Fi or the Vgate vLinker BM+. With them you read fault codes and engine data; for the Pro write functions, Biketune recommends the UniCarScan UCSI-2100, OBDLink CX, SX or MX+, Veepeak OBDCheck BLE+ or vLinker MC+.
  • Adapter check: when pairing, Biketune tells you your adapter's tier and lets you test each function on your bike before buying Pro.
  • On BMWs from before 2017, as with MotoScan, it works through the 10-to-16-pin cable.

GS-911 and BMW ISTA: their own hardware

Two BMW tools that do not use an ELM327:

  • HEX GS-911: a dedicated diagnostic device for BMW motorcycles, used from a phone, tablet or computer. It reads and clears fault codes, resets the service reminder, shows live data and runs tests, calibrations and basic coding. Owners, travellers and workshops use it.
  • BMW ISTA: the diagnostic system of BMW dealers and workshops. It runs on a computer with BMW's workshop interface (ICOM): a professional tool.

Car Scanner and Torque: Euro 4 and Euro 5 bikes

On bikes with standard OBD2 diagnostics (many Euro 4 and Euro 5 models, like the Suzukis and Yamahas in the table) a general OBD2 app is enough: Car Scanner (Android and iPhone) or Torque (Android) read and clear engine fault codes and show live data, just as on a car. They are the same apps as in our guide to ELM327 apps.

How to check your adapter

  • Android and BMW: MotoScan Lite, free, has an adapter test that tells you whether yours works with K-Line and CAN bikes.
  • iPhone and BMW: when pairing, Biketune shows your adapter's tier, tests each function on your bike before you pay and has a demo mode to see everything without an adapter.
  • Any ELM327 on Android: ELM327 Identifier sends the adapter the ELM327's AT commands and tells you which version it really supports.

Which adapter to choose

Frequently asked questions

Does any ELM327 work with a motorcycle?

It works if three things are true: you have the cable for your bike's socket, the bike speaks a protocol the ELM327 understands, and the app knows your bike. With BMW and MotoScan all three are true; with some Japanese bikes from before Euro 5 they are not.

Is there a MotoScan for iPhone?

No. MotoScan only runs on Android: there is no version for iOS, Windows, Linux or macOS. For a BMW on an iPhone there is Biketune, which connects to a Wi-Fi or Bluetooth LE adapter and has BMW-specific functions.

Does TuneECU work with a Bluetooth ELM327?

Yes. TuneECU works with a Bluetooth ELM327 for diagnostics, tests and adjustments on the models on its list. Satkit's generic ELM327s are compatible with TuneECU: they are full ELM327s with the PIC18F25K80 chip. To reprogram the ECU you use the TuneECU USB/OBD2 cable or, on Triumphs with a Bluetooth-only ECU, one of the Bluetooth adapters on its list.

Do I need the 10-pin cable for my BMW?

Only if your bike is from before model year 2017 and has the round 10-pin socket. BMWs from 2017 have the 16-pin OBD2 socket and the ELM327 plugs straight in.

Can I reset my BMW's service reminder with an ELM327?

Not with MotoScan. The reset needs the bike's date to be set, which only adapters such as the OBDLink LX or MX+ and UniCarScan allow. With an ELM327 you can read and clear fault codes and see live data.

Bluetooth or Wi-Fi for the bike?

On Android, Bluetooth: it is what MotoScan recommends, as it advises against Wi-Fi adapters, and what TuneECU uses. On iPhone, Wi-Fi or Bluetooth LE, because iOS does not support the classic Bluetooth these adapters use; Biketune works with both (at Satkit, the ELM327 Wi-Fi, the Vgate iCar2 Wi-Fi or the vLinker BM+).

Can I read my Honda's or Kawasaki's fault codes with Torque or Car Scanner?

On bikes from before Euro 5, usually not: they use their own protocols that a general OBD2 app does not understand, even with the cable. Recent Euro 5 models have better odds, but it depends on the model.

Products mentioned

Coiled black adapter cable for BMW motorcycles, with the round 10-pin plug at one end and the 16-pin OBD2 socket at the other

BMW bike 10-pin cable

Links the round 10-pin diagnostic socket of BMW motorcycles to an ELM327 or any other 16-pin OBD2 adapter. For use with MotoScan on Android or Biketune on iPhone.

Where to buyfrom €13.53

Prices incl. VAT checked on 7 October 2026; they may change.

Black ELM327 Bluetooth v1.5 adapter with an orange label and a 16-pin OBD2 plug

ELM327 Bluetooth OBD2 v1.5

Bluetooth OBD2 adapter to read and clear fault codes and see live engine data on an Android phone or a PC.

Where to buyfrom €8.60

Prices incl. VAT checked on 7 October 2026; they may change.

Short adapter cable for Suzuki motorcycles with a red 6-pin plug and a black 16-pin OBD2 socket

Suzuki bike 6-pin cable

Adapts the 6-pin diagnostic socket of several 2017-2019 Suzukis to an ELM327 or any other CAN-capable OBD2 reader.

Where to buyfrom €17.23

Prices incl. VAT checked on 7 October 2026; they may change.

Adapter cable for Yamaha motorcycles with a white 3-pin plug and a black 16-pin OBD2 socket

Yamaha 3-pin cable

Adapts the 3-pin diagnostic socket of recent Yamahas (YZF-R125, MT-125, NMAX, XMAX and others) to an ELM327 or any other CAN-capable OBD2 reader.

Where to buyfrom €9.23

Prices incl. VAT checked on 7 October 2026; they may change.

Sources

You may also like

Black ELM327 Bluetooth v1.5 adapter with an orange label and a 16-pin OBD2 plug

Practical guide · Apps · 12 min read

ELM327 software: which apps exist and how to use them

The adapter does nothing on its own: what you see on screen depends on the app. Which ones exist for each system, what they cost, which adapter they work with and how to do the most common jobs step by step.

Black ELM327 Bluetooth adapter seen at an angle, with the 16-pin OBD2 plug in the foreground

Buying guide · Basics · 9 min read

What an ELM327 is, its versions and which to buy

The small adapter that turns your phone into a fault-code reader. What is behind the name, why almost all of them are clones and which one suits you.