One of the decisions I made early on in the build was that I wanted a set of gauges or a dash that would allow me to monitor most of the critical parameters on the car:
- Oil Pressure
- Oil Temperature
- Water Temperature
- Air Fuel Ratio
- Boost Pressure
- Intake Temperature
I decided to purchase a Race Technology DASH4PRO because it’s fully programmable, is reasonably priced and at a later date integrates with their data logging solution. I also chose Race Technology as they also supply their DASH2 to work with Link ECUs so I thought it would be relatively easy to get working.
I’ve spent my entire working life in the IT industry so I really should know how tricky it can be to get products from two different vendors communicating. Unfortunately outside of working hours I seem to forget the lessons I’ve learnt. When integrating systems together it’s usually a combination of functional deviation (that’s a kind way of saying something doesn’t work as advertised) or poor documentation that makes life difficult, I experienced a bit of both.
The solution consists of 3 components; the ViPEC plugin ECU, a Race Technology ECU interface (in this case using CAN) an the DASH4PRO itself. Since this is all using digital communications it either works or it doesn’t it’s also not terribly easy to trouble shoot.
The first challenge was actually getting a CAN signal from the ECU to the Race Technology ECU interface. Inside the ViPEC ECU there are two communications connectors (that look identical) one on the bottom of the board and another on the right next to the expansion connector. The connector on the bottom only supports the USB programming lead, the connector on the right provides both RS232 and CAN. One peculiarity of the ViPEC ECU is that you can’t use the USB programming lead and the CAN interface at the same time, this is pretty annoying in you want a dash running at the same time as your laptop. You can use the serial connection and have the CAN bus running at the same time, I elected to go down this route making up a custom lead using the Link Dash lead which has 5 fly leads for RS232 (Tx, Rx & Ground) and CAN (CAN Hi, CAN Lo). Although the ViPEC documentation eludes to this it’s not really explicit.
Understanding that the ECU wasn’t generating a CAN output was a major battle and without using an oscilloscope it would have been impossible to understand that there was nothing on the CAN bus.
Race Technology ECU Interface
Race Technology offer a number of different ECU interfaces that convert from a number of source protocols to the Race Technology serial protocol their logger and dashes understand. I opted for a CAN based solution as it had the flexibility of allowing me to change what was sent from the ECU to the dash. When everything is connected up and nothing appears to be working what can you do to diagnose the problem? Once I’d worked out that I had some sort of serial data stream coming from the ECU I needed to prove to myself that it was valid CAN data. Although an oscilloscope can help prove you’ve got some sort of signal on the CAN lines it doesn’t allow you to easily decode the data.
CANdo (a CAN to USB interface) from NETronics http://www.cananalyser.co.uk/ has proved to be an indispensable tool that not only allows you to capture raw CAN data it also allows you to mock up messages and transmit them via CAN. I now have a setup with a Null CAN cable that allows me to run the interface and dash outside of the car so I can test any programming changes.
Once I could capture the data from the ECU it became apparent that the interface wasn’t able to decode the data, several emails to Race Technology and a reflash of the interface it’s now working. The communication between the ECU and the dash is actually pretty simple but with out tools to look at the data fixing problems is almost impossible.
Working at last
With some very basic problems, no CAN data from ECU and what seems to have been an incorrectly programmed CAN interface, it took a number of months to get the dash working. As I said earlier because it’s digital communications it either works or it doesn’t, the lack of tools or monitoring built in to the ECU interface hasn’t made the process easy to debug. Now that I can replicate the data outside of the car I can locate and fix problems much more quickly.
When you are doing something not many other people have done there isn’t a huge knowledge pool you can draw on, it is very satisfying to have manged to solve the problems in the end!