Custom sensors (PIDs)

Car Scanner allows you add custom sensors (also known as “custom PIDs”) to get data, defined by your car manufacturer.

To create custom sensor you need to know at least 2 things:
1. How to make a request to ECU to get the data you need:
Command = Mode + PID,  e.g. 010C for engine RPM
Header = address where to send request, e.g. 7E0 for CAN 11bit protocol. You can leave header blank. In that case default functional header for current protocol would be used. Most of custom PIDs requires correct header!

2. How to decode received data: Formula (Equation).
To point at certain bytes in response use latin letters: A, B, C, D .. Z, AA, AB, .. AZ, BA, BB, .. BZ, … etc. , where letter A stands for 1st byte in response, letter B stands for second byte in response, etc.
Attention! Formula is case sensitive!
To determine first byte, Car Scanner skips some bytes in response from ECU: header bytes, data length, response to certain mode marker (e.g. mode 01 -> response marker 41) and PID id.
Example: request 010C (engine RPM) would give you response: 7E804410C0C9C, where Car Scanner would skip 7E804410C.
So we have only 0C9C data left.
Letter A would mean 0C, letter B would mean 9C

You can use mathematical operators like *, /, , +. Example: A+B
To change calculation order use brakets ( ), like: (A*256+B)/4
You can use floating point numbers in formula using dot “.”: e.g. A+13.54

Bitwise functions supported:
Bitwise unary complement: @~
Bitwise AND: @&
Bitwise exclusive OR: @^
Shift left: @<<
Shift right: @>>
Examples: A@<<16, C&7, etc.

Additional functions (funtion arguments should be always separated by “,“):
GetBit(A,N), where A – byte number, N – bit number, from 1 to 8
SIGNED(A), signed(A), Signed(A) – treat byte as signed (-128 .. 127)
ShortSigned(A,B) – treat 2 bytes as 16-bit signed value
And(A,B) – bitwise AND, same as A@&B
Shr(A,B) – bitwise shift right, same as A@>>B
Shl(A,B) – bitwise shift left, same as A@<<B
MAX(A,B) – returns maximum value from A and B
MIN(A,B) – return minimum value from A and B
abs(A) – return unsigned value, e.g. abs(-1)=1, abs(-123456)=123456, abs(123456)=123456
FLOAT32(A,B,C,D), float32(A,B,C,D) – returns IEEE 754 floating point value from 4 given bytes.
FLOAT64(A,B,C,D,E,F,G,H), float64(A,B,C,D,E,F,G,H) – returns IEEE 754 floating point value from 8 given bytes.

if(A,B,C) – logic function, if A=1, returns B, else returns C. You can use “=” or “<” or “>” for comparison.
Example: IF(A>5;5;A).  If A greater than 5, return 5, else return A. With A=6 this would return 5. With A=3 this would return 3.

Car Scanner doesn’t support formula, that points to another sensor or another PID.

You can add commands, that would be executed BEFORE and after requesting PID (Start diagnostic command and stop diagnostic commands). This commands should be fully qualified ELM327 commands, separated by “;” or “,” or “\”. Example: ATCRA7E8,ATFCSH7E0,ATFCSD300000

Action PIDs.
Action PIDs are executed when you tap on them. Response is not decoded.
Example of usage: create custom action pid for some command, that starts a routine, like forced DPF regeneration.
Don’t forget, you still need to know header and command for that.

Name and Short name fields can be entered as you wish.
Minimum and maximum fields can be skipped.

Configuring Bluetooth connection on Android

First of all make sure, that you have OBDII ELM327 adapter with Bluetooth.

You should plug it inside the diagnostic socket in your car (known as “OBDII socket”) and turn on ignition or start the engine. If your adapter has a power button on it’s body – press it.

Step #1: Pair your phone/tablet with OBD2 adapter. If you have already done that – skip to Step #2.

WARNING! Depending on different Android versions, pairing may be done in some other way.

Open Android settings and locate Bluetooth section. Turn on Bluetooth and wait until your adapter would be discovered.

Usually it’s called “OBDII”, “obd2” or something like that. If it’s branded, it could be called as it’s brand (e.g. “Viecar”, “VLink”, etc.). Please, note, that it’s NEVER called like your car brand or “MY CAR” or something like that.

Tap on it to pair your phone/tablet with OBD2 adapter. Adapter would ask you for PIN-code.

If you don’t know PIN code, check your adapter documentation. Usually it’s “1234”, “0000”, “7890” or “1111”.

Step #2: Select adapter in Car Scanner.

Open Car Scanner and go to Settings (gear icon in the top-right corner)

Tap on “Connection”

Select Connection type: Buetooth

Tap on “Select device” and you’ll see device selection screen.

Tap on your adapter’s name.

That’s all, now you have adapter selected and you need to go back and tap on big green “Connect” button.

Next time all you need to do is just tap on “Connect” button

Don’t forget to press power button on your adapter before connecting, if it has one.

Configuring Wi-Fi connection to ELM327 adapter

First of all make sure, that you have OBDII ELM327 adapter with Wi-Fi connection type. You should plug it inside the diagnostic socket in your car (known as “OBDII socket”) and turn on ignition or start the engine. If your adapter has a power button on it’s body – press it.

Step #1: Open your Phone/Tablet Wi-Fi settings (NOT Car Scanner settings) and turn on Wi-Fi.

Locate Wi-Fi network, created by ELM327 OBDII adapter and connect to it.

Usually it’s called “OBDII”, “OBD2”, “WIFI_OBDII” or something like that. Sometimes it’s name has something familiar with your adapter brand (e.g. VGate adapters usually have “VLINK” network name).

Most of adapters doesn’t require password for WiFi network, but if your adapter requires that – follow documentation that comes with your adapter.

Please, note, that it’s NEVER called like your car brand.

iOS
Android

Step #2. Car Scanner setup.

Open Car Scanner and go to Settings (gear icon in the top-right corner).

Tap on “Connection”

Select Connection type: Wi-Fi

Make sure that you have correct adapter IP address and port. For most cases it’s IP address is 192.168.0.10 and port is 35000, but some adapters have different settings, so you should check documentation that comes with your adapter.

That’s all! Now all you need to do is tap on big green “Connect” button that’s located.

When you want to connect next time, just make sure that you’re connected to OBD2 WiFi network and tap on “Connect” button.

 

 

Configuring Bluetooth 4.0 (LE) connection on iPhone/iPad

First of all, make sure that you have an OBD2 ELM327 adapter that works via Bluetooth 4.0 (LE). Pay attention to the Bluetooth version! Apple iOS devices support only Bluetooth 4.0 adapters. Older Bluetooth adapters are not supported. This limitation of the operating system Apple iOS. For more information, read article about choosing propper ELM327 adapter.

You need to insert the adapter into the diagnostic socket (also known as the OBD2 connector) and turn on the ignition or start the engine. If your adapter has a power button on the case, press it.

Make sure that Bluetooth is enabled on your iPhone / iPad.

Attention! Unlike Android devices, you don’t need to setup pairing with adapter in the iPhone / iPad system settings!

Step 1: Launch the Car Scanner and go to Settings (click on the gear icon in the upper right corner).

Step 2: Select “Connection”

Step 3: Select “Connection Type”: Bluetooth 4.0 (LE)

Step 4: Click the “Select Device” button. You will be taken to the Bluetooth LE (4.0) nearby device search window.

Step 5: Wait until your adapter is detected and click on it. If the adapter is not found within 5-10 seconds, click on the “Update” button to retry the search.

Usually the adapter is called “OBDII”, “obd2” or something like that. If this is a branded adapter, then its name can be similar to its brand (for example “Viecar”, “VLink”, etc.). Please note: adapters are never called as a car brand, “MY CAR” or something similar. And, the adapter always has a name. Devices without a name, only with the address of the form {…} are not adapters.

Attention! If after several attempts your adapter is not discovered, it means that it has an outdated (<4.0) version of Bluetooth that is not compatible with Apple iOS.

Step 6. Select your adapter in the list of detected devices and wait for the compatibility check with Car Scanner.

That’s all, connection setup is complete. Now you need to click on the big green “Connect” button on Car Scanner main screen.