Last update: Jan 23 2016

Fuel Gauge


The motive battery pack state of charge is displayed on a JLD404AH Digital Amp Hour Meter mounted under the radio.

JLD404 Programmable Digital Amp Hour Meter JLD404

The JDL404 is connected to both the high voltage system as well as the 12V system. To prevent a connection between the two systems, the 12V supply to the JLD404 passes through a small isolated DC-DC converter, the DEXU RF1212CS-2W. In this configuration, the JLD404 draws 73mA from the 12V system.


1GNDinput -
2Vininput +
6+Voouput +
70Voutput -

The radio rack is a double DIN size. The radio occupies one space. The other space contains a plastic pocket (Subaru part 66128AE000) with the JLD404 mounted in it, leaving just enough storage space for sunglasses.

JLD404 Mount JLD404 Mount JLD404 Mount

The JLD404 is connected to a 75mV 1000A shunt, which is mounted on the right side of the firewall.

1000A Shunt 1000A Shunt

The wires from the shunt to the JLD404 are twisted to reduce EMI.

Twisted Pair Twisted Pair Twisted Pair

Instrument Panel Fuel Gauge

A custom circuit with an Arduino microcontroller operates the fuel gauge.

2006 Subaru Impreza Fuel Gauge 2006 Subaru Impreza Fuel Gauge

A wire wound ten turn potentiometer stands in for the fuel level sensor. The microcontroller turns the potentiometer by a stepper motor coupled to it. The gauge position depends only on the distance driven. Later I will connect a current sensor so that the needle position reflects the actual battery state of charge.

2006 Subaru Impreza Fuel Gauge

Circuit diagram below. Source code is here.

EV Fuel Gauge Driver

The fuel gauge does not respond linearly to the resistance of the fuel level sensor, as shown by the graph below. The microcontroller applies a correction bias to compensate.

2006 Impreza WRX Fuel Gauge