SWISSDIAG PRO · Support

Help and FAQ

Frequently asked questions about the SWISSDIAG PRO app for Android: adapter and connection, reading fault codes, supported vehicles, buying PRO on Google Play, data and the discovery report, languages and contact. The answers describe the version on sale. The full user guide is in the app: Settings › Help & about › User guide.

Getting started

Adapter and connection

What do I need to use SWISSDIAG PRO?

A phone running Android 8 or later, a vehicle with an OBD-II port and an ELM327- or STN-compatible Bluetooth adapter. A Wi-Fi connection to an ELM/STN adapter is also available, as an experimental feature. The adapter is not supplied with the app.

Without an adapter, the demo (Settings › OBD adapter › Try the demo) shows simulated values and codes. It reads nothing from a vehicle.

Which adapter is compatible?
  • Classic Bluetooth (SPP): ELM327, STN and SPP-compatible adapters (for example OBDLink, vLinker, Vgate). Active.
  • Bluetooth Low Energy (BLE): BLE serial profiles recognised automatically. Active.
  • ELM/STN Wi-Fi TCP: manual connection by IP address and port. Experimental.
  • Not supported: USB serial, DoIP / Ethernet, CAN FD, J1939.

“ELM327 v1.5” clones advertise the five OBD-II protocols, but they often fail on J1850, can be slower and handle short timeouts poorly: the exploration of the control units often stays incomplete. Prefer an adapter from an identified manufacturer. For a GM vehicle with a Class 2 bus, the adapter must support the SAE J1850 VPW protocol.

The Adapter page shows, from the make, model and model year, the expected OBD protocol and the type of adapter that supports it. Adapter names belong to their owners; no affiliation.

How do I pair the adapter over Bluetooth?
  1. Plug the adapter into the OBD-II port. It is usually under the dashboard, on the driver’s side.
  2. Switch the ignition on. To read codes, leave the engine off.
  3. Turn on the phone’s Bluetooth.
  4. Open Settings › OBD adapter › Find a Bluetooth adapter. On the Home tab, the CONNECT button also starts the search as long as no adapter has been saved.
  5. Grant the permission Android asks for: “Nearby devices” (Android 12 and later) or “Location” (Android 8 to 11, because Android requires it to search for Bluetooth devices). Without it, the search cannot run.
  6. Choose your adapter among the “Nearby Bluetooth adapters” tiles: only devices detected during the search are listed. If the same adapter appears as “Bluetooth” and as “Bluetooth LE”, prefer “Bluetooth”.
  7. If Android asks for a PIN, enter the adapter manufacturer’s PIN (often 1234 or 0000). Android keeps it; SWISSDIAG neither reads nor stores it.

After the first successful connection, the app suggests a name for the adapter; this name stays in SWISSDIAG, on this phone. From then on, at start-up, the app reconnects by itself to the adapter of the vehicle selected in the Garage, otherwise to the last adapter used.

The adapter does not appear in the list

The normal search hides headphones, car radios and other Bluetooth devices, and only shows devices detected during the search: an adapter that is paired but switched off, unplugged or out of range does not appear. EXTENDED SCAN (or Settings › OBD adapter › Extended Bluetooth search) shows all nearby Bluetooth devices.

Also check that the adapter is fully plugged in, that the ignition is on, that the phone’s Bluetooth is active and that the Android permission has been granted. If the saved adapter does not answer within about 8 seconds, the app does not insist: if adapters are detected nearby, it offers them; “Previously used” marks those SWISSDIAG already knows.

The PIN is requested every time

Android keeps the PIN from the first pairing. It stays valid for this adapter, on any vehicle. If Android asks for it again, the adapter has forgotten the pairing: some adapters erase it when they are unplugged, and the app cannot prevent this.

  1. Enter the manufacturer’s PIN again.
  2. If this keeps happening, remove the adapter in Android’s Bluetooth settings, then pair it again from SWISSDIAG.
  3. If it still continues, this adapter does not keep the pairing.

Help in the app: Settings › OBD adapter › “PIN requested every time?”.

“The vehicle is not responding”, or the link drops

Before a scan, the app checks that the vehicle responds. If not, the message “The vehicle is not responding” guides you: ignition ON, engine off, adapter fully inserted, then TRY AGAIN.

If the link is lost (adapter unplugged, switched off or silent, Bluetooth link lost, phone Bluetooth turned off), a red “Adapter disconnected” banner appears at the bottom of the screen. It does not block anything. The app makes 3 attempts to reconnect to the same adapter; after that, tap the banner: CONNECT retries the same adapter, SEARCH looks for another one.

No Live values: check that the status strip shows CONNECTED, not DEMO or OFFLINE. “—” means that the vehicle has not recently responded for this value.

The vehicle is not identified: what should I do?

Once connected, the app detects the protocol and requests the vehicle identification number (VIN). If the vehicle provides it, a profile is created in the Garage; the make, model and year are derived from the VIN on the phone, depending on the data available. The “Vehicle detected” box invites you to check the make, then to enter the model and year if you know them (also later: Garage › profile › Complete information).

If the VIN does not give the make, the app asks “What make is this vehicle?”: choose it from the list, or I DON’T KNOW. You can add it later (“Choose the make”, or Settings › Vehicle garage).

If the vehicle provides no VIN, the app asks “Which vehicle is connected?” before the scan: choose a Garage profile, “Other vehicle” (which asks for the make and creates the profile) or “Scan without identifying”. In the Garage, “+ Manual fallback profile (VIN unavailable)” creates a profile by hand.

Diagnostics

Fault codes and scans

Confirmed, pending, permanent codes: what is the difference?

The scan (DIAGNOSTICS tab › START OBD-II SCAN or MULTI-ECU SCAN, ignition on, engine off) reads the standard OBD-II codes: confirmed (mode 03), pending (mode 07) and permanent (mode 0A). From the other control units queried, it reads their fault codes. At the top: the number of codes to examine (standard OBD codes and, with PRO, fault codes of the other control units) and the status of the engine warning light (MIL ON or OFF).

What is shown:

  • Active during scan (red, with PRO): the active fault codes of the other control units; the section only appears when such a code is active.
  • Stored / pending (orange): standard OBD codes confirmed in memory (“OBD · confirmed in memory”), pending (“OBD · pending”) and, with PRO, permanent (“Permanent · cannot be cleared by command”). A confirmed code does not prove that the fault is still active. With PRO, the confirmed or pending faults of the other control units are listed there too, as well as their codes that are only stored (no active fault): listed and counted in the section, they count neither in the number of codes to examine, nor for “Ready for the inspection?”, nor for the status by system.
  • Fault outside standard OBD (orange): a control unit reports a fault outside standard OBD whose code is not listed (without PRO, or the state of the code cannot be read): have this control unit read by a garage. This fault counts in the result: the summary is then never green.
  • Incomplete read: a control unit or the standard OBD codes have not been read; this is not a “no fault” result, and the app shows “—” instead of “0”. Run the scan again, ignition on, engine off.

Each code appears only once, with its states. Without PRO: confirmed and pending codes, with their description; permanent codes and the fault codes of the other control units are read and counted, but their list requires PRO (“2 manufacturer codes · visible with PRO”). With PRO, the codes of the other control units are listed as read (code, “ECU · 0x…”, state), without description: their meaning depends on the manufacturer; under a code in SAE notation, the “Google ↗” link; a 6-digit hexadecimal code is raw, with no search. A permanent code stays in memory until the ECU confirms the repair; clearing does not remove it.

Where do the code descriptions come from?

Each standard OBD code has a label. Generic codes also have a workshop description: meaning, checkpoints and, where useful, safety warnings. The app contains more than 9,500 descriptions, in French, German and English, readable without internet access. These texts are written by SWISSDIAG; a tag shows where they come from (“SWISSDIAG · generic label” or “SWISSDIAG · workshop description”).

A manufacturer-specific OBD code has no validated description: the app does not guess it. On an identified GM vehicle, some codes have a GM-specific meaning; the app then shows a neutral text instead of the generic description.

A code does not prove that a part is faulty: check with the manufacturer’s documentation and with measurements. No code does not mean that no ECU has a fault, because standard OBD-II mainly covers the engine, the transmission and emissions. SWISSDIAG is a diagnostic aid; it does not replace the manufacturer’s documentation, the vehicle’s warning lights or a qualified professional.

Can I search for a code on the internet?

Yes: under each standard OBD code shown, with or without PRO, and, with PRO, under each code of another control unit in SAE notation (never under a raw 6-digit hexadecimal code), the “Google ↗” link opens a Google search in the phone’s browser, only when you tap it. The search contains the code and, if known, the vehicle’s make, model and year, with the words “diagnostic DTC”. The VIN is never included.

SWISSDIAG itself sends nothing: your browser transmits the search to Google; Google’s terms and privacy policy apply. The app itself does not look up codes online. See the privacy policy, section 5.

How do I clear the codes?

Clearing requires PRO: DIAGNOSTICS tab › CLEAR DTCs, after a scan, with the vehicle connected. It only targets standard OBD codes: the button is active only if the vehicle has answered the reading of the standard OBD codes during this connection and there is at least one read standard OBD code to clear. Otherwise it stays greyed out and a sentence under the button says why, for example “No standard OBD code read: nothing to clear.” A fault reported outside standard OBD never makes the button active. In Demo mode, nothing is cleared.

  • With the engine running, clearing is refused: switch the engine off and leave the ignition on. Just before the command, the app checks that the speed is zero and that the engine is off; if it cannot confirm this, nothing is sent.
  • Before any command, the app saves a short report of the last scan; if it cannot be saved, nothing is cleared.
  • After your confirmation (SAVE AND CLEAR), it requests the standard OBD clear (mode 04), and nothing else; no manufacturer clear command is sent: a fault reported outside standard OBD may therefore remain stored.
  • Clearing can delete the freeze frames and reset the emission monitors: an emissions test can then fail until they are ready again.
  • It repairs nothing: if the cause remains, the code comes back. A permanent code stays in memory until the ECU confirms the repair.

The result stays on screen: a green tick “Clearing accepted” if the vehicle confirms the command; a red cross “Clearing not completed” otherwise. An accepted command does not guarantee that the fault has gone. As soon as the command has been sent, the last scan is reset and no scan restarts by itself: run the scan again to check the remaining faults. If nothing was sent, the last scan is kept.

This is the only function of the app that changes the state of the vehicle: SWISSDIAG does no coding, adaptation, programming or actuator tests.

Clearing codes on a vehicle under warranty: what should I know?

SWISSDIAG reads data without changing the vehicle’s programming. Warranty conditions depend on your contract with the manufacturer or the seller. On a vehicle under warranty, keep the report before clearing codes and, if in doubt, ask your garage. Clearing leaves a trace that a garage can see (distance since the codes were cleared, engine tests reset).

What does the multi-ECU scan cover?

In addition to standard OBD-II, depending on the vehicle, other control units are read in read-only mode; with PRO, their fault codes are listed as read, without description (see below).

Exploration: on an identified 11-bit CAN vehicle whose platform the app does not know, the first scan ends with a read-only exploration of addresses 0x700 to 0x7FF, once per vehicle (a second time if it could not finish). It can take a few minutes depending on the adapter; STOP interrupts it. After that, it can be run again on demand: Settings › OBD adapter › Explore the control units.

What is shown, with or without PRO: the ECU map (the control units queried, those that answered and their reply), the standard OBD-II codes (the list of permanent codes requires PRO) and the number of fault codes of the other control units; without PRO, a fault they report is stated in a sentence, without a code; with PRO, their codes are listed as read, without description. No manufacturer pack is for sale.

The control units read depend on the vehicle, the protocol and the adapter. In the app, Settings › Help & about › ECU scan coverage says what SWISSDIAG shows: standard OBD codes and, with PRO, the fault codes of the other control units, without description.

Does the app start scans by itself?

No. Every scan starts at your request: DIAGNOSTICS tab › START OBD-II SCAN (also from the Diagnostics tile on the Home tab), or Settings › OBD adapter › Explore the control units. No scan starts by itself, neither when the adapter connects nor after clearing.

On the first scan of an identified 11-bit CAN vehicle whose platform the app does not know, the scan you start takes longer: it ends with the exploration described above, read-only, which the STOP button interrupts.

Vehicles

Compatibility and limits

Which vehicles are compatible?

Vehicles that answer standard OBD-II / EOBD through the 16-pin port, on a classic protocol: CAN / ISO-TP on 11 or 29 bits (active; on 29-bit CAN, standard OBD codes only), SAE J1850 VPW for GM Class 2 (active; GM ECUs read in read-only mode, fault codes with PRO, without description), SAE J1850 PWM (active, standard OBD), ISO 9141 / KWP2000 (experimental, no manufacturer coverage) and UDS on 11-bit CAN (experimental: ECUs read in read-only mode, fault codes with PRO, without description). The adapter detects the protocol; if needed, Settings › OBD adapter › OBD protocol lets you choose it for the next connection (automatic by default). Standard OBD-II mainly covers the engine, the transmission and emissions. The result depends on the vehicle, model year, protocol, ECUs and adapter.

For a specific vehicle, the Adapter page shows, from the make, model and model year, the expected OBD protocol and the type of adapter that supports it. In the app, Settings › Help & about › ECU scan coverage says what SWISSDIAG shows: standard OBD codes and, with PRO, the fault codes of the other control units, without description; depending on the vehicle, other ECUs are read in read-only mode. It is neither a licence nor a guarantee that every ECU will respond.

What are the limits?
  • Not supported: USB serial, DoIP / Ethernet, CAN FD, J1939, reading manufacturer codes on 29-bit CAN, and functions that require manufacturer authentication. Wi-Fi is experimental.
  • Codes outside standard OBD: the app reads the control units it knows, read-only. With PRO, it lists their fault codes as read, without description: their meaning depends on the manufacturer; have these control units read by a garage. Without PRO, a fault they report is stated in a sentence, without a code, and counted.
  • Recent vehicles with an Ethernet gateway (DoIP): they answer standard OBD on the port; behind the gateway, the app’s coverage of the other control units is limited. The app does not support DoIP: ENET cables and DoIP adapters are of no use with it.
  • OBD on UDS (SAE J1979-2): not supported.
  • Electric vehicles: the OBD-II standard targets emissions; standard OBD responses may be absent or partial, and a more advanced adapter makes no difference. The app contains no ECU profile for these vehicles.
  • Vehicles from before OBD-II: before 1996, no standardised OBD-II protocol is expected (mandatory in the United States from 1996, in Europe from 2001 for petrol and 2004 for diesel). The 16-pin port and a standard OBD response are not guaranteed.
  • Secure gateways: the app does not bypass any secure gateway, manufacturer access control or authentication mechanism. It reads data; it does no coding, adaptation, programming or actuator tests.
Purchases

Free, PRO and Google Play

The app is on Google Play (Android 8.0 or later).

What does the free version include?

SWISSDIAG can be used without a purchase. Without a purchase, you can:

  • connect an adapter, identify the vehicle (VIN, protocol) and analyse its capabilities;
  • read confirmed and pending standard OBD codes, with their description and the “Google ↗” link, and see the status of the engine warning light; a fault reported outside standard OBD is stated in a sentence, without a code, and by the number of codes, visible with PRO;
  • see, after a scan of the control units, the ECU map: the control units queried, those that answered and their reply;
  • show four Live values: engine speed, speed, coolant temperature, voltage;
  • use the Garage, with no limit on the number of vehicles;
  • use “Ready for the inspection? (OBD part)”: engine warning light, faults and monitors, no gas measurement, never green unless the codes were read;
  • calibrate the voltage, use the demo and the local learning of codes.
What does the PRO licence add?

In the app, the PRO offer sums up what PRO adds:

  • Full Live: every OBD value the vehicle announces (decoded or raw), 180 s trends and the Live Snapshot report;
  • Trips: recording with GPS track, trip map, Black Box and trip report;
  • Diagnostics: list of permanent codes, codes of the other control units without description with Google search for SAE codes, status by system, PDF report and clearing of OBD codes (mode 04).

In detail:

  • the list of permanent codes (mode 0A);
  • the fault codes of the other control units, as read (code, control unit, state), without description; under a code in SAE notation, the “Google ↗” link;
  • clearing of standard OBD codes (mode 04), ignition on, engine off, when there is a read standard OBD code to clear (see “How do I clear the codes?”);
  • full Live data: six priority values, categories, trends over 180 seconds and the other standard OBD values the vehicle announces;
  • status by system, analysis and recommended checks;
  • trips, with the app in the foreground: GPS track, speed, altitude, CSV file, map without background and gradient colours, PDF report created when the trip is stopped;
  • the Black Box, with captures (CSV file) listed with the reports, to export and share;
  • PDF diagnostic, trip and Live Snapshot reports; the diagnostic report lists the standard OBD codes and the fault codes of the other control units (code as read, control unit, state; without description).

PRO does not include any manufacturer pack; it lists the fault codes of the other control units without description: their meaning depends on the manufacturer. Detailed list in the app: Settings › Help & about › Features by licence.

How do I buy PRO? Is it a subscription?

Settings › Purchases & licences › UPGRADE TO PRO. It is a one-time in-app purchase, with no subscription, handled by Google Play. The final price, currency and applicable taxes are those shown by Google Play at purchase time; see the Pricing section of the home page.

After the purchase, the licence is verified by Google Play and by the SWISSDIAG server. Open the app with an Internet connection at least once every 30 days (14-day grace period); after that, PRO is suspended until the next verification. The licence remains usable as long as the purchase remains valid with Google Play (neither refunded nor cancelled).

If Google Play has confirmed the purchase but the SWISSDIAG server could not verify it, PRO still works, provisionally, for 14 days at most. If Google Play reports that the payment is pending, the app says so: once the payment has been confirmed, open SWISSDIAG with an Internet connection to activate PRO.

PRO is not recognised, new phone or reinstallation

Use the same Google account as for the purchase, turn on internet access, then Settings › Purchases & licences › RESTORE / SYNC MY PURCHASES: the app reads your purchases again from Google Play and verifies them again with the SWISSDIAG server.

If the problem persists, write to contact@swissdiagpro.ch and include the app version (Settings › Help & about › About SWISSDIAG) and, if there is one, the code shown by the app (for example LIC-400).

Can I get a refund?

Payments and refunds go through Google Play, under its rules. Within 48 hours of the purchase, the request is made to Google Play, with the Google account used for the purchase; Google Play decides depending on the purchase.

After 48 hours, Google Play refers you to the developer: write to contact@swissdiagpro.ch with your Google Play order number (it starts with GPA.). The publisher reviews the request and can issue a refund through Google Play.

Under Google Play’s rules, a refund removes access to the purchase. The mandatory consumer rights provided by the applicable law are not limited. See the terms of use, section 15.

Are manufacturer packs for sale?

No. No manufacturer pack is for sale, and no pack purchase is offered. The built-in manufacturer control units are read in read-only mode; with PRO, their fault codes are listed as read, without description; without PRO, a fault there is reported in a sentence, without a code.

Data

Discovery report and local data

What is the discovery report? What does it contain, and what is never sent?

After a completed scan of a confirmed vehicle, if you have accepted it (see the next question), the app sends to the SWISSDIAG server in Switzerland an anonymous technical report: make, model and model year of the vehicle (only values from a closed list, never typed text), OBD protocol, scan profile, scan duration, control units queried with a generic name and their reply (addresses, network, service, refusal code if any), present and supported fault codes with their status, number and format, app version, and a random number drawn for each report to avoid duplicates. It is used to learn, model by model, which control units answer and which fault codes exist, in order to improve vehicle support.

Never sent: the VIN, whole, partial or as a fingerprint; the serial number of a control unit; the registration plate; the location; any identifier of the device, the installation or an account; the adapter address; the date and time of the scan; the country or language; any typed text; measurement series and trips. The server does not record your IP address.

Details: privacy policy, section 9.

How do I accept or decline the report?

Nothing is sent without your consent. In Switzerland, at the first launch, after accepting the terms of use, the screen “Help improve support for your car” explains it and offers DECLINE or ACCEPT AND CONTINUE; only ACCEPT AND CONTINUE turns sending on.

Outside Switzerland, or if the country cannot be determined, the app asks you once, after your first completed scan (“Share an anonymous report?”, DON’T SEND or SEND). Nothing is sent without SEND. The country comes from the Google Play account country, otherwise from the SIM card, without any location access; it stays on the phone.

At any time, Settings › Privacy & data › Discovery report lets you turn sending on or off; turning it off deletes the pending reports. Declining removes no diagnostic function. After an update that changes the legal texts, your choice is normally neither reset nor asked again; it is, once, when the content of the report changes, as with 0.10.64: if you had accepted sending, the screen or the question comes back, and nothing is sent before your new answer.

What data stays on the phone, and how do I delete it?

Stays on the phone: Garage profiles (VIN, make, model, year, name, photo), remembered adapters, observed codes (without the VIN in plain text), voltage calibration, trips (CSV files with GPS positions, without the VIN), Black Box captures (with the VIN and, if GPS was active, positions), PDF reports and preferences. The “Google ↗” link, only when you tap it, opens a search in your browser with the code (standard OBD code or, with PRO, code of another control unit in SAE notation) and, if known, the make, model and year (never the VIN). Only two transmissions go to the SWISSDIAG server in Switzerland: the verification of a PRO purchase and, if you accept it, the anonymous discovery report. No advertising, no audience measurement, no SWISSDIAG account; location is only used during a trip, in the foreground.

Deleting:

  • Settings › Privacy & data › DTC learning & research › “Delete all local learning data”;
  • Garage › profile › Delete this profile;
  • Settings › Privacy & data › Fully reset SWISSDIAG: APP DATA erases the internal state and keeps the PDFs; DATA + PDF also deletes the accessible SWISSDIAG reports;
  • uninstalling the app erases its data; PDFs saved in the Download folder remain, delete them with the file manager.

Reports already sent: they carry no identifier, so SWISSDIAG cannot find yours. On request to contact@swissdiagpro.ch, with the make, model and model year, SWISSDIAG deletes all matching reports. Data linked to a PRO purchase: SWISSDIAG deletes it on request to the same address. The purchase remains recorded with Google Play: at the next synchronisation, the app has it verified again, which recreates the data needed for the licence. To prevent any data from being recreated, uninstall the app before the request. After a refund or cancellation, purchase-related data is kept for three years as evidence and to prevent fraud, like the records of Google Play notifications (cancellations, refunds); see the privacy policy, section 8.

Languages

Français, Deutsch, English

Which languages is the app available in?

French, German and English. Settings › Display & notifications › Application language: Automatic (system), Français, Deutsch or English. In automatic mode: German if the phone is set to German, French if it is set to French, English in all other cases.

The chosen language applies to the interface, the code descriptions, new PDF reports (diagnostic, Live Snapshot, trip, Black Box and short “Before clearing” report), the user guide, the terms of use and the privacy policy. A report already created keeps its language; the PDF report of a Black Box capture is recreated whenever it is opened or shared, in the current language. This page also exists in Français and Deutsch.

Contact

Support and documents

How do I contact support?

Write to contact@swissdiagpro.ch. For a useful answer, include:

  • the phone model and its Android version;
  • the SWISSDIAG version (Settings › Help & about › About SWISSDIAG);
  • the make, model and year of the vehicle;
  • the adapter (make and model);
  • what you did and what the app showed, with a screenshot if possible.

Do not send more personal data than necessary: the VIN, the registration plate or your positions are generally not useful. A trip report contains your GPS track; a Black Box capture (CSV file) contains the VIN and, if GPS was active, positions: keep this in mind before attaching them. Support is provided by email.

Where do I find the user guide and the documents?

In the app: Settings › Help & about › User guide (in the app’s language), Terms of use and Open-source licences; Settings › Privacy & data › Privacy policy. Settings › Help & about › Support opens this page in the browser.

On the website: Privacy and Terms of use (version 0.10.64). The previous versions remain available: privacy policy 0.10.62 and terms of use 0.10.62, privacy policy 0.10.60 and terms of use 0.10.60, privacy policy 0.10.45 and terms of use 0.10.45. Publisher: David Béguelin, Rue du Tilleul 13d, CH-2743 Eschert, Switzerland.

Contact

A question not answered here?

Write to us: the vehicle model, the year, the adapter and a screenshot help us answer quickly.

contact@swissdiagpro.ch