Extremely Accurate Fuel Level And Fuel Consumption Gauge
This project was a collaboration by mkf21VLX and Mikeo
Background: Automobiles and light trucks manufactured in the US starting in 1996 have been required to have On Board Diagnostics (OBD). The connector in one of these vehicles is known as ODBII. There are many tools and apps that you can plug into that OBDII port to see what your vehicle is doing. We wanted something like that for our boats.
Boats are notoriously inaccurate in their fuel gauge readings. If you are lucky they read pessimistically (show less full than is really there). And most have no display of fuel consumption rate. We think most manufactures don’t want you to know.
So the mission was two-fold. Get an accurate reading of fuel consumed and fuel remaining. And get an accurate fuel burn rate.
In the marine world all boats manufactured from 2009 to present have been required by federal law to have a similar type of OBD as the automotive world. However, for whatever reason, the marine manufactures choose to use a different communication protocol for their solution. It is called OBD-M (M for marine). The protocol they chose is known as J1939. J1939 also is used extensively in the diesel powered vehicle world including diesel RV’s.
After researching for several years a number of different fuel flow solutions, none were found that were either workable, elegant or inexpensive. And one more problem: mechanical fuel line transducer solutions won’t work in most modern boats because they either have fuel return lines (leading to inaccurate consumption rates) or pumps submerged in the fuel tank.
While searching for J1939 based fuel management solution we came upon a company called Liner Logic. They have been making a product called the Scangauge for OBDII applications for a number of years. We actually each had one in our trucks. Then, a few years ago they made a version for the diesel RV market, the Scangauge-D. After consulting with Linear Logic we decided to give the Scangauge-D a shot.
Your boat dealer/mechanic probably uses a program called Diacom running on a laptop computer and plugs it into the OBD-M connector on your boat. The screen display of the software shows all the parameters on the CAN BUS that can also be read by the Scangauge-D. Proof that the data is there is below..
Linear Logic was willing to give us the pin outs on the cable and the color codes to identify the four wires needed: 12+, ground, CAN+, CAN-. CAN stands for Controlled Area Network and is the BUS pathway for the J1939 communications.
Here is the standard OBD-M 6 pin female connector (A – F, marked on the housing) found in the boats.
Standard OBD-M pin assignments are:
A: Battery 12+
E & F: not used
Here is the OBD-M connector found under the dash of my 2013 Malibu VLX.
1 x Scangauge D $159.95 (on Amazon) – see above
1 x m5dlcm ($9.95) – OBD-M housing and 1 x pin6269 (5 pack $1.95) pins. You need the test (male) housing and test (male) pins. Suggestion: purchase an extra housing and extra pins in case you screw up. Once a pin is inserted in the housing it’s not coming back out (speaking from experience).
Here’s how we built the cable:
Cut the round connector off of the cable that came with the Scangauge-D. For a Malibu boat this works fine because Malibu puts a remote OBD-M connector under the dash. For other boats where the connector is only in the engine harness, a custom cable of appropriate length would need to be made to reach to the dash area. You would need to purchase either a heavy duty RJ45 cable or roll your own. Just make careful notes of the color codes and contact positions of the RJ45 plug to match up with the layout shown above. Use the Scangauge-D RJ45 end for reference.
Scangauge-D RJ45 – right to left pin positions
1: black - ground
2: brown – J1939+ (CAN+)
3: red – J1939- (CAN-)
8: green – 12+ power
Assemble as follows:
1) Connect the Scangauge-D cable leads 1 (black), 2 (brown), 3 (red), 8 (green) to the male pins. First they were soldered them then crimped.
2) Slip a 3” piece of heat shrink tubing over the cable
3) Insert the male pins into the male housing. Green into A position, Black into B position, Brown into C position, Red into D position
4) Install the provided strain relief
5) Slide the heat shrink tubing as close to the housing as possible and apply heat to shrink it in place
6) Apply liquid electrical tape to the pin side of the housing to provide a water resistant seal. This is especially important if the OBD-M connector is going to be in located at the engine harness.
7) Mount the Scangauge-D in a convenient location using Velcro, plug the RJ45 cable end into the gauge, and route the cable to the OBD-M connector. In the case of Malibu, this is under the dash.
Here is what the completed connector looks like.
Setting Up The Scangauge-D:
The Scangauge-D needs to be configured to work properly. The Quick Start Guide will give you the basics. Distance units can be set to Miles although the will be no data since there is no odometer in the boat. The scangauge-D does not use or interface with GPS. Do, however, set fuel units, temperature units, pressure units, currency type, and, most importantly, your tank size.
On the main screen you will see four items with a button adjacent to them. They are Scan, Gauge, Trip, More.
# Scan is for identifying and clearing DTCs (Diagnostic Trouble Codes)
# Gauge is where you will be most of the time. This is where the CAN BUS readings are found. GPH and HP (horsepower) are two example.
# Trip is where the tracking data is found. Examples are fuel consumed, fuel remaining, average GPH.
# More is where you go for things like resetting the tracking data after a fill-up.
# Refill must be entered manually for accurate calculations.
# Trip A and Trip B need to reset after fill-up, before driving.
# Change the TRIP method to AB: select MORE>SETUP>scroll to ADV SETTINGS>EDIT>scroll to TRIPS>change from DAYS to AB. With the trip method set to AB, the Scangauge-D will now save data when it sees the boat comes to a stop with the engine off.
If you want to have Trip gauges display on the Gauges screen you can use the XGauge function to create those. Two that you will probably want are gallons used and gallons remaining. How to program them can be found on page #46 of:
https://www.scangauge.com/download/2072/ . Briefly, these are the settings. Note: the NAME can be anything you like as long as it is 4 letters/numbers or less.
NAME TFU (Total Fuel Used) or TKU (TanK Used)
TXD 24 **
NAME TFR (Total Fuel Remaining) or TKR (TanK Remaining)
** TXD 24 doesn’t make sense but we worked with Linear Logic to get this code. TXD 23 does not work. Their instructions as published are incorrect.
It is not our intent to explain every aspect of the Scangauge-D in this project posting. The manual supplied with the unit is pretty easy to understand.
After initial setup of the Scangauge-D including, most importantly, fuel tank capacity, the gauge was put in service. After a couple of tanks of fuel, and following the calibration guidelines, we can state that when we go to fill up our tanks, we are within 1 gallon of what the Scangauge-D says was used, sometimes as little as 0.1 gallon difference. Differences can occur by using different fueling stations, different pumps at the same station, how precise you are during your fillup, etc. Being within a gallon of actual use is pretty good.
In addition to fuel burn rate (which can be scary at times depending on what you are doing), you can get readings such as horsepower, torque, throttle position, and a bunch of others. Up to four data elements can displayed at any one time on the Scangauge-D. Here are some pictures of the unit in place and functioning.
This project has been installed in a ’13 VLX, ’15 LSV, and even tested it in a Mastercraft 2015 Prostar with an Ilmor engine.