Fuel level sensor calibration

Nexus Software Programmer › GeneralUpdated Sep 2026

A fuel gauge that reads full until the car coughs on empty is a classic swap headache. The fix is almost always the same: the right pull-up resistor, the right input and a proper calibration. Here's how we wire a fuel level sender to a Haltech ECU or dash and calibrate it in NSP.

How a fuel level sender talks to Haltech

Whether it's a float on an arm, a tube-style sender or something more exotic, nearly every fuel level sensor works the same way electrically: it's a variable resistor. As the fuel level changes, the resistance between its terminals changes. A Haltech ECU or dash can't read ohms directly, though. It reads voltage on an analog voltage input (AVI). So the job is to turn that changing resistance into a changing voltage, then tell NSP what each voltage means.

Wiring the sender

Most senders have two terminals. You can confirm that it's working with a multimeter on the ohms scale: the reading should change as you move the float. One wire goes to an AVI, the other to sensor ground. On most senders it doesn't matter which is which, but check your vehicle wiring diagram or the sender's documentation in case one side is meant to be the signal.

Some senders have only a single terminal and ground themselves through the tank. With those, the tank's ground path matters as much as the wiring. Make sure the tank is well bonded to the chassis, and the chassis to the battery negative. A rusty strap or a tank isolated by rubber mounts gives you a gauge that wanders or does nothing at all.

Why you need a pull-up resistor, and which one

A pull-up resistor sits between the signal wire and the 5V supply from the ECU or dash. Together with the sender it forms a voltage divider: the fixed resistor is the reference, the sender's resistance changes, and the voltage at the input moves between 0 and 5V. The goal is to choose a resistor that makes that swing as wide as possible across the sender's range.

Most fuel senders span roughly 0 to 300 ohms, and for that range 240 ohms is a good choice. Here's how the choice plays out:

Where you wire itBuilt-in pull-upWhat we do
Haltech iC-7 dashAVI 4 has a 240 ohm pull-up you can switch on in NSPUse AVI 4 and enable the pull-up. No extra resistor needed
Haltech uC-10 dashAVI 1 has a 240 ohm pull-up you can switch on in NSPUse AVI 1 and enable the pull-up
Haltech ECUMost AVIs have a 1K ohm pull-up, designed for engine sensorsFit an external 240 ohm resistor between the signal wire and 5V

Why not just use the ECU's 1K pull-up? Because with a low-resistance sender, a 1K pull-up squeezes the whole fuel range into a small slice of voltage near the bottom. You'd be calibrating a full tank to an empty one across maybe a volt, and every little bit of noise shows up as a jumpy gauge. The 240 ohm resistor spreads the same range across most of the 0 to 5V window.

Here's the math on a typical 0 to 300 ohm sender with a 240 ohm pull-up: at 0 ohms the input reads 0V, and at 300 ohms it reads about 5 x 300 / (300 + 240), which is roughly 2.8V. With a 1K pull-up the same sender tops out around 1.2V. That's why the dash inputs were built with 240 ohms.

If your sender has an unusual range or you want a cleaner, buffered signal, the fuel level sender signal conditioner is worth a look. Ask us if you're not sure whether your sender needs it.

Need the wiring diagrams?

Haltech's guide includes wiring diagrams for both the dash and ECU hookups. Need this diagram? Ask us and we'll send it over with advice for your build.

Check the signal before you calibrate

With everything wired, open NSP and watch the raw voltage on the AVI you used. Move the float by hand if you can get to it, or add and use fuel if you can't. What you want to see:

  • A voltage that changes smoothly as the level changes.
  • A wide swing, ideally 3V or more between empty and full.

If the reading doesn't move, only moves a small amount, or sits at 0V or 5V regardless of the float, something is wrong. Recheck the wiring, the pull-up value and whether the internal pull-up is actually enabled in the software. A reading stuck at 5V usually means an open circuit (broken wire or bad ground); stuck at 0V usually means a short to ground.

Calibrating in NSP

Simple percentage calibration

  1. With the tank empty, note the AVI voltage.
  2. Fill the tank and note the voltage again.
  3. In the fuel level calibration table, set the empty voltage to 0% and the full voltage to 100%.

That's enough for a usable gauge and a low fuel warning.

Calibrating in gallons or liters

If you want the dash to show actual fuel left, build the table in volume instead. Start empty, add a known amount of fuel (say 2 gallons at a time), and record the voltage after each addition until the tank is full. Enter each voltage against its volume.

Don't be surprised if the result isn't a straight line. Tank shapes are rarely simple boxes, and the float moves in an arc, so equal amounts of fuel don't give equal changes in voltage. Capturing the curve is exactly why the multi-point method is more accurate than a two-point one.

Tip

Let the car sit level for a minute after each fill step before you record the voltage. Fuel sloshing on a sloped driveway throws off the numbers, especially on shallow, wide tanks.

Troubleshooting

SymptomUsually
Gauge stuck at full or empty no matter the fuel levelOpen circuit on the signal or ground, or a single-wire sender with a poor tank ground
Gauge barely moves between full and emptyUsing a 1K ECU pull-up with a low-ohm sender; fit a 240 ohm resistor
Gauge jumps around while drivingFuel slosh, a narrow voltage range, or a marginal ground
Reads backwardsSender goes high ohms at empty rather than full; just swap the calibration points

FAQ

Can I use my factory fuel sender with a Haltech dash?

Usually, yes. Measure its resistance at empty and full first. If it falls in the common 0 to 300 ohm range, the dash's built-in 240 ohm pull-up will suit it.

Should I wire the sender to the ECU or the dash?

If you have an iC-7 or uC-10, the dash is the easier choice because of the switchable pull-up. For the software side, see our articles on the Nexus fuel level sensor and Elite fuel level sensor settings.