Electronic – arduino – CAN bus simulation (automotive purpose) – tried Arduino and SparkFun

arduinoautomotivebuscansparkfun

I repair electric powered steering systems for cars, especially Fiat, Alfa, and Lancya (Delphi manufacturers), and I'm in need of making some tool to test these reparations. I mean just turning it on, for example.

I have researched during some time, and I figured I need CAN bus signals to be simulated as the eps ECU is receiving ignition packets from CAN. Here I go…

I need to know what way I could read and send CAN packets from/to the bus. I mean, what tool or anything else. I have been trying with Arduino Uno + a SparkFun CAN BUS Shield, but I don't get any results. When everything is connected, my serial console isn't sniffing any packets. I have connected all correctly, I think, and tried different bit rates, changed Arduino boards and shield, tried many different examples. I invested lots of hours with no profit… I was using SEAT Ibiza 2010 for I+D, connected CAN-H and CAN-L on the OBD port, in the CAN lines from the radio, etc…

Any idea of what could be wrong is welcome, as is a new method to make my project…

Information:

ARDUINO AND SPARKFUN SHIELD AND SERIAL CONSOLE

Libraries Used

UPDATE 2 (28/12/2014):
I used a multimeter because I dont have a oscilloscope. Reading the voltages are always giving me plain 2.5V on CAN-H and CAN-L, I get this readings at Arduino CAN-H CAN-L and in OBD2 Port (Pins 6 and 14)

UPDATE 3 (29/12/2014):
I'm planning to switch to some programming language with a CAN interface, any suggestions are welcome, thanks!

UPDATE 3.1 (30/12/2014):
Definitely, I'm taking another way to do this, I'm waiting Kvaser and ECOM to reply me in their support emails. That way we may know if their tools fit with my project.
I will keep you updated, thanks for all the help guys! 🙂

Best Answer

The Arduino CAN shield is pretty cool if you want to build an embedded computer to play with CAN. However, if I understand correctly, you are building a one-off tool for your personal use (or will merely use an off-the-shelf tool if one exists for the right price). For that reason, I urge you to consider writing PC software rather than embedded software to interface with existing, low-cost CAN hardware interfaces.

Charlie Miller and Chris Valasek used this so called ECOM tool and wrote software which interfaces with it. The ECOM tool appears to have an API and example driver. Their car hacking white paper and software will give a pretty good starting point for interfacing a PC to a car. Softing also makes PC CAN interface hardware, but I am having trouble accessing their website right now, so I won't link it.

There are also several full-fledged, commercial software tools for analyzing and simulating CAN on a PC as well. Vector's CANoe is a well known (and expensive) tool for that purpose.