CAN Shield v1.2 issues

I’m having trouble getting the CAN shield to communicate on the CAN bus. There’s no reported errors (the shield reports it initialized successfully) but I never get any CAN traffic sent by the send example and it never sees anything sent on the bus while running the read examples. The RX light is constantly on regardless of the traffic on the CAN bus. I’ve tried this with a few v1.2 shields, all with the same behavior so it’s unlikely to just be a defective shield.

I’m using about the simplest setup possible: a v1.2 shield and an Arduino Uno R3 with a usb CAN adapter wired to the screw terminals. I’ve tried both the 1.0.6 and 1.6.6 versions of the arduino toolset.

I had a v1.0 version of this shield and it worked perfectly, all of these examples worked just fine and I was able to send and receive traffic using the usb CAN adapter. This is very frustrating since I expect the new version to work out of the box with the given examples, and since the old model has been discontinued I can’t just go out and get more of the version that actually works.

I’ve seen a few other posts with people having similar problems but no solutions, I’m posting this up in the hope that someone in the meantime has found a workaround to get the v1.2 shields working.

Thanks in advance for any help.

I am having a similar issue. I am connected to an aftermarket ECU that is sending out a can message. I don’t see anything on the serial monitor unless you count the weird symbols I am getting.

The only thing I see in the serial monitor is “‰š”. I do not get a init ok.

Is this where I have to cut the termination 120 ohm resistor?

The weird symbols on the serial port monitor might be due to an incorrect baud rate setting. The example code uses an unusually high baud rate (115200) while the monitor defaults to 9600. You can change it at the bottom of the monitor.

As far as the resistor, you only cut it off if you’re connecting to an existing CAN network that’s already been terminated. If you have just the ECU on a workbench, you’ll need that resistor to terminate the network.

If the termination is set on the v1.2 shield and the baud rates are all the same, my only guess would be to try reversing the CAN_High and CAN_Low signals and see if there is life at that point. If that doesn’t solve the issue, try the library off my Github, but I don’t know why that would make a difference. Also, can you confirm the 8 pin IC on the shield is an MCP2551 or otherwise?