In the summer of 2019, a customer in Queensland sent us a datalog from a feller buncher that had stranded its operator on a forty-degree slope. The engine ECU had dropped off the J1939 bus mid-cycle. The local tech had checked J1939 termination resistance at the nine-pin diagnostic connector with the key off: sixty point zero ohms. Right on the money. They’d replaced the engine controller, then the instrument cluster, then the entire engine harness — all on the strength of that reading. When the stripped harness arrived at our Shenzhen lab, we found the fault in twenty minutes. It wasn’t a component. It was a single crimp inside a Deutsch connector that ohmed out perfectly on the bench and went open the moment you breathed on it.
This is what we call the 60-ohm lie. Every engineer who has spent serious time on heavy-duty machinery has encountered it. The meter says the CAN bus is healthy. The SAE J1939 specification says 60 ohms means both terminating resistors are in place. So you close the multimeter, put it back in your toolbox, and spend the next three shifts chasing a software gremlin that doesn’t exist. I’ve been there. My colleagues here at the factory have been there. And the pattern we see, year after year, is that a perfectly healthy DC resistance reading masks wiring faults the controller can’t report — faults that only surface under load, under vibration, or at the wrong temperature.
I work out of a manufacturing facility in Shenzhen where we design and build J1939 backbone harnesses, termination plugs, diagnostic breakout cables, and whole-vehicle wiring kits for equipment manufacturers across North America, Europe, and Australia. We don’t just crimp terminals. We debug field failures that other suppliers can’t explain, and we keep a log of every root cause we find. This article shares what that log has taught us.
When the Bus Lies to You
The classic case is an excavator or a timber harvester that idles perfectly but floods the network with J1939 Error Frames the moment the hydraulics engage or the machine hits uneven terrain. The service technician probes the diagnostic port and reads 60 ohms. Then they check CAN bus voltage — two point five volts on CAN_H, two point five on CAN_L, differential voltage at zero with no active traffic. On a scope in the service bay, everything looks correct. The machine rolls back into operation, and the intermittent fault reappears before the shift ends.
A less documented failure we saw involved a concrete pump truck where the bus only faulted when the boom extended past seventy-two degrees. The articulation angle changed the bend radius of a harness segment routed through a knuckle joint, altering the twist pitch of the CAN pair locally. We later measured the characteristic impedance at that exact bend — it shifted from 120 ohms down to nearly eighty-five ohms at full extension. 60 ohms at the diagnostic port. Perfect. The bus still dropped frames at that boom angle every single time.
What ties these stories together is that the 60-ohm check — probably the most trusted ritual in our trade — is a DC measurement taken with the system stone-cold and stationary. It tells you almost nothing about what happens at 250 kbps, under edge-rate transitions, with common-mode noise riding both lines together, while connector housings are fretting and expanding at different rates from the PCB inside the ECU.
What That Clean Reading Actually Hides
The parallel-resistance equation works fine on paper. A J1939 backbone with exactly two 120-ohm terminations at the endpoints yields 60 ohms when probed from anywhere along the trunk. What that equation doesn’t capture is whether those terminations are actually at the endpoints, or whether you’ve got four resistors spread across six connectors and a backed-out pin creating an accidental voltage divider that just happens to sum to sixty at your probe point. The meter doesn’t do topology. It does division.
I’ve dissected harnesses from returned field units where the measured 60 ohms came from three termination resistors in parallel — one factory-installed at the engine ECU, one accidentally left inside a telematics gateway that should have shipped un-terminated, and a third spliced in by a dealer who was throwing parts at a problem. Three 120-ohm resistors in parallel yield forty ohms. Add a cold crimp contributing twenty ohms of series resistance somewhere along the trunk, and you get a composite that reads 60 ohms on a handheld meter while the bus is barely functional. We’ve seen it more than once.
Even with correct DC termination, the AC impedance of the line can be wrecked by damage you can’t see without magnification. A termination resistor is a wirewound or film component soldered across two pins inside a Deutsch or Ampseal connector shell. We’ve cross-sectioned connectors where the solder joint on the resistor lead looked intact at five-power but had a hairline annular crack that went open-circuit the moment the housing flexed by half a millimeter. That crack creates a momentary open termination — glitching the differential voltage just long enough to corrupt a single data frame. No multimeter on a static bench will ever catch it.
Then there’s the common-mode problem. The J1939 physical layer doesn’t rely on differential termination alone. It expects the common-mode voltage to be properly biased and for each node to handle the full common-mode range, as defined by the ISO 11898 standard for CAN-based networks. Many ECU designs use a split termination with a center-tap capacitor to ground. It works beautifully until that capacitor fractures off the board from thermal cycling. The differential impedance stays 60 ohms. The common-mode rejection collapses. When the alternator dumps a load or a hydraulic solenoid kicks back, the resulting voltage swing that lifts the whole differential pair saturates the receiver comparator, and the node goes deaf — all while your meter says everything is fine.
Chasing the Real Fault: A Sequence That Works
If you have a J1939 bus that passes the 60-ohm test but still fails in operation, stop trusting the meter by itself. Go to the oscilloscope. The sequence below has helped us isolate faults that hid behind a clean DC measurement for weeks.
Step 1: Capture the Bus at the Moment of Failure
Don’t scope it at idle. You need to see the waveform when the fault actually occurs. For a mobile machine, that means a test drive with a laptop-based scope or a handheld unit with deep memory. Trigger on a specific CAN ID that you know drops out, and set the trigger to pulse-width violation or error frame if your scope supports it. What you’re looking for is any frame where the recessive-to-dominant edge rounds off excessively, where the differential voltage dips below zero point nine volts during a dominant bit, or where a reflection shows up as a step on the waveform right after a transition. Any of these is a smoking gun pointing below the protocol stack.
Step 2: Power Down, Split the Bus at the Middle
This is old-school but it works. Find a bulkhead connector roughly mid-span. Disconnect it and split the J1939 backbone into two halves. Measure resistance on each half independently. You’re expecting 120 ohms on each half if the terminators are correctly placed at the far ends. If one half reads 60 ohms, you’ve got an extra terminator or a partial short in a CAN transceiver on that segment. If one half reads something completely different — ninety ohms, forty-seven ohms — you’ve found the problem half.
Step 3: Ohm Out Each Node’s Differential Input While Disconnected
With everything powered off and each ECU unplugged from the bus, probe the CAN_H to CAN_L pins right at the ECU connector. A healthy CAN transceiver in a compliant J1939 node should read open circuit or very high impedance — megaohms. If you read anything under a few kilohms, that transceiver’s internal protection diodes or input stage may be partially damaged, creating a phantom DC load that pulls the bus impedance out of spec only when powered up.
Step 4: Check Shield Continuity and Grounding
J1939-15 defines a shield that must be grounded at exactly one point to avoid ground loops. With your ohmmeter, check shield-to-chassis ground continuity at multiple locations along the harness. If you find near-zero ohms at two distant points, the shield is grounded in at least two places, forming a loop that couples noise magnetically into the twisted pair. This won’t change your 60-ohm reading. It will flood the bus with noise that makes the receiver struggle to tell a one from a zero.
Step 5: Thermal and Flex Testing with a Known-Good Termination
If the fault comes and goes with temperature or vibration, bring the suspect harness segment into a controlled environment. Terminate one end with a known 120-ohm resistor, and monitor the far end with a VNA or a high-bandwidth scope and pulse generator while you heat the connectors with controlled hot air or physically flex the bundle. Watch the reflection signature. A healthy J1939 twisted pair maintains a characteristic impedance around 120 ohms. A dip or spike that coincides with flexing or heating points to a partial conductor break or an intermittent short at a connector pin.
Five Ways I’ve Seen Engineers Talk Themselves Out of the Real Fault
These are mistakes I’ve logged over the years. I’ve made more than a few of them myself, which is why I’m listing them bluntly.
- 1. Probing the diagnostic connector and calling it done. The nine-pin Deutsch connector taps into the J1939 backbone at one location. A 60-ohm reading there confirms the loop resistance from that specific tap point out to the two terminators. It says nothing about the harness sections beyond those terminators, and nothing about a damaged stub on a drop line. I once spent a week chasing a phantom fault on an asphalt paver where the backbone measured 60 ohms at the service port, but the actual problem was a drop line with a crushed jacket that shorted CAN_H to the chassis only when the articulation joint flexed past a certain angle. The service port was upstream of the damage, so the meter was blind to it.
- 2. Measuring resistance with nodes in sleep mode. A node that’s in sleep can still present a leakage path through its CAN transceiver. The J1939-14 spec allows microamps of standby current, which can skew a resistance measurement by tens of ohms. Always disconnect backbone segments fully when you’re ohm-ing them out, or use a diagnostic breakout box that isolates each node individually.
- 3. Swapping termination plugs without tug-testing the mating pins. If you have a Deutsch DT or DTM connector with a resistor potted inside, and the bus is glitchy, the instinct is to swap the terminating plug. That’s fine. But inspect the mating harness-side pin sockets before you button it back up. A backed-out socket will show continuity when you probe it with a fine-tipped meter lead but lose contact the moment the connector is seated because the pin pushes the socket rearward. The socket looks fine until you give it a tug. I’ve seen it.
- 4. Letting stub length exceed what the bit timing can tolerate. J1939-11 specifies maximum stub lengths based on bit rate. A stub longer than one meter at 250 kbps creates an impedance discontinuity that reflects energy back onto the backbone. Even with perfect 60-ohm termination at both ends of the trunk, that long unterminated branch looks like a capacitive load to the transmitter. The resulting reflections notch out certain frequencies, corrupting specific bits based on bit pattern and stub length. The ohmmeter won’t show you this. Only a scope with an eye diagram will.
- 5. Trusting the internal solder joint inside a termination resistor. This sounds obsessive, but we’ve cracked open factory termination plugs and found cold-soldered joints between the resistor lead and the connector pin. The solder had a dull, grainy surface — a textbook contaminated joint. Under thermal cycling, micro-cracks formed. The resistance read fine with a low-current ohmmeter, but when the CAN transceiver drove a dominant bit pulling roughly thirty milliamps through that joint, it momentarily went high-resistance. A fault that only exists when the bus is active. If you suspect it, swap in a termination plug from a batch you trust and watch whether the error frame count drops.
How to Know You’ve Actually Fixed It
A clean 60-ohm measurement after repair doesn’t mean the job is finished. You need dynamic proof.
Set up a CAN bus analyzer — Kvaser, PEAK, Intrepid, whatever you have — and log the bus through a full operational cycle of the machine. Filter on error frames and bus-off events. On a healthy J1939 bus at typical utilization of twenty to thirty-five percent, you should see zero error frames over a ten-minute session. A bus that’s on the edge might log one or two error frames per hour that the higher-level protocol can absorb, but anything more frequent means a physical-layer problem is still lurking.
Next, run a wiggle test on every connector in the J1939 backbone while monitoring the error counter. Have someone else flex each connector shell, tug each cable entry point, and tap each termination resistor housing with the plastic handle of a screwdriver. If the error counter ticks upward at any point, you’ve found a mechanical weakness that ohms out fine on the bench.
Finally, if the machine works in extreme temperatures, thermal-soak it. Run the bus at full load while the harness is cold-soaked or heat-soaked to its operating limits. We test our harness assemblies from negative forty to one hundred and five degrees Celsius in our climate chamber specifically to catch these mode shifts. A termination resistor with a fractured solder joint might hold at room temperature and go open at minus twenty. You need to see it fail before you can be sure it won’t.
Components Worth a Second Look
When a J1939 bus shows this class of intermittent failure, three categories of hardware are almost always in play: the backbone cable itself, the termination resistors and their connectors, and the diagnostic access points. Here’s what we specify when we build these for OEM customers — not as a pitch, but because knowing the specs helps you select the right replacement parts.
J1939 Backbone Cable
We use a twisted unshielded pair with characteristic impedance controlled to 120 ohms plus or minus twelve ohms, per SAE J1939-11. The jacket compound matters more than most people realize. Standard PVC gets stiff and brittle around negative twenty degrees Celsius. For forestry and mining equipment, we specify a TPU jacket that stays flexible at negative fifty and resists hydraulic oil and diesel. AWG selection depends on trunk length. For backbones over forty meters, we step up to 18 AWG to keep DC resistance low enough that the differential voltage at the farthest node doesn’t sag below the receiver threshold.
Termination Resistors with Integrated Connectors
A field-replaceable Deutsch DT-series plug with a 120-ohm, half-watt resistor molded inside is the industry standard. We’ve seen failures from moisture ingress into non-IP67 rated plugs on agricultural sprayers. Water bridges the resistor leads, creating a parallel leakage path that pulls the effective termination impedance down. For applications with high-pressure washdown, we build fully potted plugs with an IP69K rating using a two-shot molding process that encapsulates the resistor element completely. No exposed lead junctions for moisture to find.
Diagnostic Breakout Cables and Adapters
A J1939 Y-cable that lets you connect an analyzer without back-probing is standard kit. Its build quality matters for the same reason backbone cable matters. A poorly shielded or incorrectly impedance-matched diagnostic cable can inject reflections right at the test point and send you chasing a fault that isn’t there. We build ours from the same 120-ohm controlled-impedance stock as our backbones, with the shield terminated to the diagnostic connector shell per J1939-15. Plugging in your test tool shouldn’t change the bus characteristics you’re trying to measure.
We don’t run a HiPot test because a cert requires it. We run it because we’ve had a single pinhole in a connector seal write off a customer’s entire weekend of troubleshooting. Every termination plug that leaves our facility goes through four inspection stages:
- Visual and dimensional check after molding
- 100 percent continuity and resistance verification
- HiPot test at five hundred volts DC for one second to confirm insulation integrity
- Final functional test on a live J1939 network running at 250 kbps with zero allowed error frames over one hundred thousand messages
The ISO 9001 and IATF 16949 paperwork trails exist, and you’re welcome to audit them, but the test pass/fail data is what I’d look at if I were in your position. Our warehouse is climate-controlled, humidity held below sixty percent year-round, because oxidation on connector pins before assembly causes field failures that look exactly like the 60-ohm lie.
Questions I Get at the Test Bench
These are the questions that come up regularly. I’ll answer them the same way I would if you were standing next to me.
Q: My bus reads 60 ohms but I have intermittent communication loss. Is it always a harness problem?
Not always. It can be a CAN transceiver hitting thermal shutdown, a power supply brownout to a specific ECU, or a software driver missing its interrupt window. But in my experience, roughly seventy percent of intermittent J1939 faults that pass a static resistance check turn out to be wiring-level issues — bad crimps, cracked solder joints, moisture in connectors, or shield grounding errors. Rule out the physical layer first. It’s the cheapest thing to check thoroughly and the most expensive thing to ignore.
Q: Can I use a regular DMM for the 60-ohm check, or do I need a milliohm meter?
A standard DMM with one-ohm resolution is sufficient for verifying the 60-ohm baseline. You’re looking for gross deviations — forty-eight ohms or seventy-two ohms instead of sixty. If you need to pinpoint a high-resistance crimp, a four-wire milliohm meter becomes useful. Isolate the suspect segment and measure it individually. We use a Kelvin probe setup for production testing.
Q: What should the differential voltage look like on a scope for a healthy J1939 bus?
A dominant bit should drive CAN_H to at least three point five volts and CAN_L to no more than one point five volts, giving a differential of at least two volts. The recessive state should have both lines resting near two point five volts. Edges should be clean — no stair-step artifacts, no excessive ringing. An eye diagram with a mask test per SAE J1939-11 is the gold standard, but in the field, a clean square waveform with sharp edges and no overshoot beyond the supply rail tells you the bus is in good shape.
Q: Can a damaged shield cause a 60-ohm misreading?
The shield doesn’t affect the differential DC resistance between CAN_H and CAN_L, so a damaged shield won’t change the 60-ohm reading. What it will do is destroy noise immunity. If the shield is grounded in multiple places, circulating ground currents couple into the twisted pair magnetically. Your scope will show a noisy waveform with common-mode spikes even though the DC ohmmeter says everything is perfect.
Q: How do I test for an extra termination resistor hidden somewhere in the harness?
Physically disconnect both known terminators and measure resistance across the bus. It should read open circuit or very high impedance. If you see around 120 ohms, there’s a hidden terminator. If you see around 60 ohms, there are probably two hidden ones. Then start segmenting the J1939 backbone to isolate the section they’re hiding in.
Q: What’s the maximum acceptable DC resistance for a J1939 backbone segment?
Per the specification, the total DC loop resistance from one end of the J1939 backbone to the other should not exceed fifty ohms for the entire trunk — that’s both conductors in series. For a forty-meter backbone in 18 AWG, you’re typically in the ten to fifteen ohm range, well within margin. If you measure over fifty ohms end-to-end, there’s a high-resistance connection somewhere that needs to be found and repaired, even if the 60-ohm termination check still passes.
Q: Can a J1939 bus work with only one termination resistor?
I’ve watched a seven-meter test bench link run for six weeks on a single terminator before the first bus-off event showed up in the log. That doesn’t make it correct. It means the margin was invisible until the day it wasn’t. In a very short backbone — under five meters — some controllers will communicate, but the reflections distort the waveform and the error frame rate climbs. It’s never right per the spec, and relying on it in the field is asking for a callback.
Q: Can I use a 60-ohm reading to verify the bus after adding a new node?
Before connecting the new node, measure the bus resistance with that node disconnected. If you read 60 ohms, the backbone terminations are correct. Then measure the node’s differential input resistance while it’s still unplugged — it should be high-impedance. After connecting the node, the bus should still read 60 ohms with power off. If the resistance drops, the node is loading the bus and something inside isn’t right.
Q: Why does my bus read 60 ohms cold but communication fails when hot?
Thermal expansion opens cracked solder joints and shifts poorly seated connector pins. The physical movement from heating breaks a marginal contact that was holding at room temperature. It’s a classic failure mode. A thermal chamber run or even a careful heat gun sweep while monitoring the bus can expose it quickly.
Q: Does the CAN transceiver type matter for the 60-ohm check?
Whether it’s a standard NXP TJA104x or a newer CAN FD-capable part, the expected 60-ohm measurement on a powered-off, compliant J1939 bus doesn’t change. However, some transceivers with partial networking have different input impedance behavior in sleep mode, which can affect readings if nodes are left connected. Always disconnect nodes when verifying termination resistance.
Q: What is the 60-ohm lie?
It’s the assumption — reinforced by years of service manuals and training — that a 60-ohm reading at the diagnostic connector proves the J1939 physical layer is healthy. It doesn’t. It proves only that the DC loop resistance between your probe points happens to equal 60 ohms under static conditions. It reveals nothing about AC impedance, connector integrity under vibration, common-mode behavior, or hidden topology violations. Calling it a lie is our way of reminding ourselves that one measurement at zero hertz cannot certify a bus running at 250 kbps through a machine that bends, heats, and shakes.
What Comes Next
If you’re staring at a J1939 bus that refuses to behave despite a clean 60-ohm reading, I’m happy to look at scope captures or discuss your layout. We do a lot of custom backbone harness design for OEMs building off-highway equipment, and a schematic review early in a project can prevent months of field debugging down the road.
We manufacture everything in-house — backbone cables, termination plugs, diagnostic Y-adapters, and complete wiring kits — under ISO 9001 and IATF 16949 quality management, with RoHS, CE, and REACH compliance across all materials. Our engineers work directly with your team on pinout, connector selection, jacket compound, and AWG to match the exact environment your machine operates in. There’s no minimum order quantity on custom samples. We run small-batch prototyping alongside full production runs.
If you want to discuss a specific problem or a custom harness requirement, reach me through the contact page on our site or directly on WhatsApp. We respond within the same working day because I understand that when a machine is down, every hour counts.
Contact page: https://obd-cable.com/contact/
I don’t have a price list to send you, and I won’t quote anything without understanding your application first. What I can offer is an engineering conversation — specs, drawings, test data — to figure out exactly what you need. That’s the way we’ve worked for over twenty years, and it’s kept our customers coming back.

