When to use a Generic Sensor
ESP has dedicated setup pages for the common sensors, like coolant temperature, oil pressure and fuel pressure. Reach for a Generic Sensor when what you're adding isn't on that list, or when you want a second copy of something for a different purpose. Some typical jobs we use it for:
- A pressure sensor measuring something ESP doesn't have a page for, like brake line or pan pressure.
- A temperature sender on a part of the car with no dedicated channel.
- A fuel level sender or suspension position sensor you want in your logs.
- A thermocouple through a Haltech TCA amplifier, measuring somewhere other than the exhaust.
- A simple switch you want to log or use as a condition elsewhere in the map.
Once set up, it behaves like any other ECU channel. You can log it, show it on a dash and use it in other functions.
Wiring tab: three decisions
1. Name
Whatever you type here becomes the channel name everywhere in ESP, including when you search for channels to log, display or use as a condition. Pick something you'll recognize in six months, like "Rear Brake Press" rather than "Generic 1".
2. Sensor Type: what the value means
This tells ESP what kind of number to show and which units to use:
| Sensor Type | Pick it for |
|---|---|
| Switch | Anything that's only on or off |
| Voltage | When you want the raw voltage as the value |
| Pressure | Any pressure sensor |
| Temperature | Any temperature sensor |
| Percentage | Position-style inputs such as fuel level, a lever or a potentiometer |
3. ECU Input Type: how the signal arrives
This is about the electrical signal, not what it represents. Get it wrong and the reading will be nonsense even with the right calibration.
| ECU Input Type | The signal looks like | Typical example |
|---|---|---|
| Digital Switched | On or off only | A pressure or level switch |
| Analogue Voltage | A voltage that varies between 0 and 5V | Most three-wire pressure sensors |
| Analogue Resistance | A resistance that changes | Two-wire temperature senders, many fuel level senders |
| Digital Frequency | A pulse train whose frequency changes | Frequency-output sensors |
| Digital Duty Cycle | Pulses whose on-time percentage changes | Duty-output sensors |
| Digital Period | Pulses whose width changes | Pulse-width-output sensors |
| Digital Active Time | A value based on how long the input is active | Timing an event |
| Onboard Pressure Sensor | Uses the ECU's internal pressure sensor | Putting the onboard sensor to an unlisted use |
| Thermocouple Type K | A K-type thermocouple through a Haltech TCA | Temperatures beyond a normal sender's range |
For thermocouples you'll need an amplifier such as the TCA2 dual-channel thermocouple amplifier. If you're measuring exhaust gas specifically, use the dedicated exhaust gas temperature setup instead.
Connections: AVI or SPI
- AVI (analog voltage input): handles varying voltage, varying resistance and switch inputs. This is the default home for most sensors.
- SPI (synchronized pulsed input): handles everything an AVI can, plus frequency and timed signals. Because SPIs are the scarcer input on most Elite ECUs, we save them for sensors that actually need them.
For resistance sensors, remember the input needs a pull-up to turn resistance into a voltage the ECU can read. Two-wire senders normally want the pull-up on.
Calibration tab
This is where the ECU learns how to turn volts, ohms or hertz into real units. You have three options:
- Load a pre-installed calibration. ESP ships with a library of them. If your sensor is listed, use it.
- Load one from a file. Handy if you've built one before, or someone has sent you one.
- Create a custom calibration from the sensor maker's data sheet, and save it for next time.
Worked example: a pressure sensor from a data sheet
Say your sensor's data sheet says it outputs 0.5V at zero pressure and 4.5V at full scale, with a straight line in between. Enter those two end points in the calibration, plus a point in the middle as a check, and ESP draws the line. Then confirm it on the car: with the system unpressurized, the channel should read zero or ambient, depending on whether it's a gauge or absolute sensor. If it doesn't, check the calibration before you trust any logs.
Temperature senders are rarely linear, so enter as many points from the data sheet's resistance table as the calibration allows, especially around the range you care about.
Troubleshooting
| Symptom | Usually |
|---|---|
| Reads a fixed maximum or minimum | Open or shorted wiring, the wrong input assigned, or the pull-up set wrong |
| Moves, but the numbers are wrong | Wrong calibration, or the wrong ECU Input Type (for example, Voltage chosen for a resistance sender) |
| Frequency sensor reads zero | It's on an AVI. Frequency and timed signals need an SPI |
| Can't find the channel to log | Search by the name you gave it on the Wiring tab |
Generic Sensors pair naturally with the Elite's other generic tools. Generic Outputs can switch something based on the reading, and Generic Timers can add time-based logic. If you want the reading to protect the engine, see engine protection. Stuck on a calibration? Send us the data sheet and we'll help.




