12 April

Well, it’s working, but it wasn’t fun getting to this point for something that could have been so much easier.

It was a tough week figuring out how to get the MXS dash unit to display the correct units, until my spirit was crushed. The problem was solved, just not in the way I wanted. I wanted all dash data to go through one interface – the CAN bus – and it does, except that the dash forces the wrong units on it. The dash designers figured that they’d take care of displaying units for the customers. If you send over a variable on the CAN bus by using spare analog inputs on the ECU, the dash programmers decided that, “well, since it’s an analog value, it’s in volts, so it makes sense to display it in “mv” (millivolts) – you just can’t change it.

No, no, no. The number of customers who want to display “mv” on their dash probably numbers about two; everyone else wants to display, oh, you know, useful units like psi, kpa, degrees F, degrees C, gallons, liters, etc., etc., but all we get is “mv.” What the heck was their marketing department thinking? They need to hire me…

So as the picture shows, it’s working, but in order to get here meant giving up on the CAN bus, taking raw sensor voltages and running wires (around the ECU) directly into the analog inputs on the dash – an inconvenient, unnecessary and redundant step. The ECU has the values, the ECU sends the values, the dash receives the values – they just lock scaling and units with no way to change it. Once they break your will and you feed the dash with analog values, it’s great at scaling and labeling the inputs. They just completely dropped the ball since all the variables were already there in the CAN packet…

So when dash vendors tout a CAN bus interface as “the” solution, don’t believe it. At best, you’ll get a few engine variables, engine rpm and maybe coolant temperature, but not much else. For other apparently unimportant things like oil pressure and temperature, you have to do it the old fashioned way if you want meaningful units. (Looking at the picture, I see I forgot to change “MAP” to GPS speed.)