Macchina M1.1 CAN issues

Hi, I’ve been lent an M1.1 board from a friend. All I want to do right now is read and display any CAN frames.

Documentation for this seems almost non-existant. Installed an old Arduino IDE (1.0), adapted one of the examples off the rechargecar github repo, uploaded code, connected to device via serial, not seeing any CAN data. I can see CAN data using another device set at the same bitrate (500).

Is there a 120 ohm resistor on this (I believe I need to enable it)? What are the jumpers (J4, J5) used for?

Hey there, thanks for the message. We are working re-organizing our guide and may have missed some of the older documentation for the M1 series.

I’d suggest you start here: https://www.macchina.cc/guide/m1/m11-specifics

and here is a information on the MCP2515 library:

https://www.macchina.cc/guide/firmware/can/mcp2515-canbus-library

As for J4 and J5: those are jumpers for CAN termination.

Hi there, have read through both, don’t see anything for J4/J5. Can you explain what each of the jumpers specifically do (i.e. should I jumper one, both, and in what situations)?

Hi again, I’ve tried jumpering just one, and then both, and I’m still not getting data.

I’m using Arduino 1.0 (1.6 doesn’t seem to work with the supplied library) and this example to read CAN frames: https://github.com/rechargecar/mcp2515/blob/master/examples/CANTest/CANTest.ino

Both as is, and with bitrate set to 500 (line 59) with the filter line commented out and the TX parts removed (as I’m only wanting to read and display frames).

Using a different CANbus sniffer (a rPI one that comes up under Linux as SocketCAN), I’m able to see CAN frames successfully from the same car. I do need to set a 120 ohm jumper to ‘enable’ on that device though.

Bump, anyone? Interested in buying a new M2 but wanted to give this M1.1 a whirl first to see what it’s like.

I just went through re-setting up everything with newest IDE to verify everything is still working.

Start here to make an LED blink and verify that IDE and board settings are set up right.

From there, I’d actually suggest you use this more mature MCP2515 library found on this repo:

Just hit the Download button, rename from “CAN_BUS_Shield-master” to “CAN_BUS_Shield” and put it in you libraries folder.

I was able to snoop CAN frames by using their “receive_check.ino” example by only changing one line:

const int SPI_CS_PIN = 85; // Pin 85 is SPI CS for Macchina 1.X

Same goes for their sending example - worked out of the box after changing that one line.

As for CAN termination - I’d try it without termination first. Also, since we used “split termination” here, you’d never really want to only close just one of the jumpers J4 and J5. (Either none, or both)

Hope that helps!

1 Like