Extract engine RPM from a heavy-duty truck's J1939 CAN bus by decoding SPN 190 out of the PGN 61444 (EEC1) broadcast frame

domain: csselectronics.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Capture the 29-bit extended CAN ID and confirm it maps to PGN 0xF004 (61444, EEC1) by masking out priority and source address bits
  2. Locate SPN 190 (Engine Speed) at data bytes 4-5 of the 8-byte payload
  3. Reverse the two bytes from Intel (little-endian) order before converting to decimal
  4. Apply the SPN 190 scale factor of 0.125 rpm/bit with zero offset to get the physical RPM value
  5. Treat special byte values (0xFF = not available, 0xFE = error) per the J1939 Digital Annex as invalid before trusting the reading

Known gotchas

Related routes

Decode active diagnostic trouble codes from a fleet truck's J1939 DM1 broadcast message including SPN, FMI, and occurrence count
csselectronics.com · 5 steps · unrated
Poll a heavy-duty vehicle's total engine hours over J1939 using an on-request PGN instead of waiting for a broadcast
csselectronics.com · 5 steps · unrated
Subscribe to J1939 DM1 broadcasts to detect a heavy-duty vehicle's active diagnostic trouble codes in real time instead of polling
csselectronics.com · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans