In the car
Custom PIDs
Import a Torque-style CSV to add sensors your car reports but generic OBD-II does not define: oil temperature, gearbox temperature, charge pressure, state of charge. No second Play purchase and no plugin APK.
This is not Torque Pro upload. That feature pastes a live web-upload URL into Torque so whole drives land in your cloud account. It is documented under Torque Pro upload. This page is the CSV of extra sensors, imported in the Android app.
Import a file
Settings → the custom PIDs row. Import through Android’s document picker. Nothing in the catalog is sent anywhere.
Community files are messy. One bad row never costs you the rest of the file: problems are listed with their line number, and the good rows still install. That is the opposite of a modal saying “invalid file”, which is the wall people hit with Torque’s own importer.
The format
The canonical header RevDash writes, reading tolerates more than this, including a
missing header, shuffled columns, a BOM from Excel, CRLF, and comment lines starting
with #:
Name,ShortName,ModeAndPID,Equation,Min Value,Max Value,Units,Header
Oil Temperature,OilTemp,22202F,(A*256+B)/10-273,-40,150,°C,7E0
- ModeAndPID: e.g.
010Cfor Mode 01 RPM, or22202Ffor a Mode 22 DID. - Equation: arithmetic over payload bytes.
AthroughZare the bytes the ECU sent, unsigned, in order.{A:3}is bit 3 of byte A. - Header: CAN header, e.g.
7E0for the ECM,7E1for a VAG TCM. Blank for the default.
Operators: + - * / % ^ & | << >>, with parentheses. Functions: signed, abs, min, max, floor, ceil, round, sqrt.
What an import will not do
- It will not override Mode 01. SAE decoders are ours to stand behind; a redefined RPM would break the dash, the log and the charts at once.
- It may override the built-in VAG table. Those DIDs are a guess at one ECU family, the same artefact as the paid plugin this replaces, so your file wins.
After import
Imported PIDs are probed at connect, dash members first, capped at 64. A 300-row catalog would otherwise add a minute to every connection. Beyond the cap the picker says Unknown, which is honest.
Units in the file are converted along a linear metric↔imperial table when RevDash knows the unit; unknown units pass through. Inventing a conversion for a unit we guessed at would be worse than leaving it alone.
Deleting a PID re-normalises every layout so you do not keep a tile titled with a raw hex id that never updates. There is an editor for name, mode+PID, equation, unit and header, with a live decode of test bytes so a formula that yields 57 °C is visible before you drive off.
The catalog is stored as the same CSV, exported through the document picker, and carried
in the backup zip as pids/custom.csv. An older backup restores here as an
empty catalog; a backup written here restores on last month’s build, which ignores
the extra entry.
Empty state copy in the app, for orientation: “Import a Torque-style CSV to add sensors your car reports but OBD-II does not define, such as oil or gearbox temperature. Nothing here is sent anywhere.”