OBDII shield

I received a sparkfun CAN-Bus shield for Christmas this year. I eagerly loaded the example code onto my arduino, but when I connected it up it didn’t work. I tried both the CAN demo and the ECU demo, but neither worked. It would display “Engine RPM:” but no number or when i put in a SD card it didn’t write any files. On the CAN demo what ever option I chose, it gave the name, but no number. I have a 2000 Chevy Cavalier 2.2L. Does anyone have any idea the problem or what I can do to fix it? I believe it should work with my 2000 Cavalier because it has an OBDII port. Any thoughts? I tried the code from http://www.instructables.com/id/CAN-Bus … h-Arduino/ also.

OBDII can be implemented in top of several different physical/data link layers. Cars weren’t required to use CAN until 2008, so your car may use something other than CAN. I did a quick check, and it looks like yours is probably using VPM as specified in SAE J1850.

mdancer:
Your car may use something other than CAN. I did a quick check, and it looks like yours is probably using VPM as specified in SAE J1850.

So does that mean my shield is basically useless to me, or is there still some way I can interface with my car that the example code isn't giving?

I don’t know if I would use the word useless, but I don’t think you’ll be able to use it to talk to your car. J1850 uses different pins than CAN, so you’d need to create your own cable. You could then use the Arduino by itself to bit-bang the low level protocol. There probably isn’t a library for that, so you may end up doing a fair amount of coding. It’s certainly doable, just more work than using a shield.