120 Ohm CAN Terminating Resistor?

I hooked up my M2 between my ECU and instrument cluster. I have CAN0 going to the ECU and CAN1 going to the cluster. I’m using the CAN_TrafficModifier.ino sketch.

I was able to read messages, but even though I was repeating traffic from CAN0 to CAN1 and vice versa, the instrument cluster is giving me a CAN failure warning.

I thought maybe I wasn’t terminating the CAN buses correctly. So I put a 120 ohm resistor across the high and low of each CAN connection.

That didn’t change anything. Now I am not sure if I need to remove the resistors, or if that is the correct way of setting this up.

Long story short, does the M2 need a terminating resistor on each CAN bus? Should that resistor be 120 ohm? Does an extra 120 ohm resistor mess up the signal?

Each can bus needs a 120 ohm resistor at each end. So if you were to put a resistance meter across the bus, you would measure 60 ohms (Two resistors in parallel).

If you were to start putting resistors on the bus accross each node, your bus resistance would drop:

3 resistors = 40 ohms
4 resistors = 30 ohms
5 resistors = 24 ohms

Your bus needs to be 60 ohms, with 120 ohms near each end to prevent signals being reflected from the end of the wire.

1 Like

It’s been a long time since I studied electrical circuits. I completely forgot that resistors in parallel reduce the resistance following 1/Rt=1/R1+1/R2…

Now I get what I’m trying to accomplish. So I put a multi-meter across the CAN high and low and read 60 ohms, then I’m good, that wasn’t my problem. If not, I need at add or remove resistors until the bus is at 60 ohms.

I’m pretty sure the instrument cluster checks the impedance of the CAN bus and that will trigger an error, so there is a good chance this is my problem.

I checked my wiring and the resistance going to the ECU was 40 and going to the cluster was 120. So it seems the terminating resistor is before the instrument cluster.

So I’m going to try removing the resistor on the ECU side and swapping the other for a 60 ohm.

UPDATE: These changes worked! CAN bus messages pass through without triggering any errors.

Pretty safe rule that you ALWAYS have to add a resistor when you do man in the middle. The module your facing will be the side that needs the resistor, the car side will not.

If I had a dollar for every-time I said “WHY THE F*&^& is this not working”… Then realized I forgot the resistor I’d be eating steak tonight.

1 Like