Skip to main content
emobility.academy
Tools & diagnosticsAdvancedTake care 2–3 hoursFor makers, students

Read (Never Write) CAN Messages from a Low-Voltage EV Bench

Listen to CAN messages on a low-voltage bench network without ever transmitting. You wire a small two-node CAN bus, connect a listen-only adapter and learn to read IDs, data bytes and timing.

Go to the steps
Read (Never Write) CAN Messages from a Low-Voltage EV Bench: Students using a diagnostic scan tool on an electric car at DIYguru
Representative photo from DIYguru's EV lab.

Why this happens

Many EV parts talk over CAN, and seeing real frames is the quickest way to understand how a BMS, controller and display share data. CAN is a shared bus, so a tool that transmits or acknowledges frames can disturb real nodes. On a driven vehicle that is a safety risk, which is why this hack stays on a bench and uses listen-only mode.

What you need

Tools

  • USB-to-CAN adapter that supports listen-only (silent) mode
  • Laptop with CAN logging software
  • Digital multimeter
  • Bench power supply with current limit

Materials

  • Two microcontroller boards with CAN transceivers to act as bench nodes
  • Twisted-pair wire
  • Two 120 ohm termination resistors
  • Inline fuse and a fire-safe mat

Before you start

  • Never transmit, replay or inject CAN frames on a vehicle that is ridden or driven; it can affect brakes, throttle or battery protection.
  • Keep this work on a bench network powered by a current-limited supply, not by an EV battery.
  • Connecting to a vehicle's internal network may need opening covers and can void the warranty.
  • Do not leave a logger connected to a vehicle while it is in use.

Step by step

  1. 1

    Build a bench bus

    Create a small network from two microcontroller boards with CAN transceivers, powered from a bench supply with a current limit and fuse. Connect CAN-H to CAN-H and CAN-L to CAN-L with twisted-pair wire. Program one node to send a few test frames, such as a counter and a simulated voltage, and the other to receive them. This is your safe practice vehicle.

  2. 2

    Fit and check termination

    A CAN bus needs a 120 ohm resistor at each end between CAN-H and CAN-L. With the power off, measure across CAN-H and CAN-L with a multimeter: you should see about 60 ohms with both resistors fitted. A reading near 120 means one is missing; near zero means a short. Wrong termination causes errors that look like software faults.

  3. 3

    Set the adapter to listen-only

    In your logging software, select the adapter and enable listen-only or silent mode before connecting to the bus. In this mode the adapter does not transmit and does not acknowledge frames. Set the bit rate to match the bench nodes. A wrong bit rate shows as errors or no frames; try the common rates your nodes are programmed for.

    Tip: Save a profile with listen-only on so you never connect in normal mode by accident.

  4. 4

    Connect and start logging

    Power off the bench, connect the adapter's CAN-H, CAN-L and ground to the bus, then power on. Start the log. You should see frames with an ID, a data length and up to eight data bytes, appearing at regular intervals. Check that the error counter stays at zero; rising errors usually mean bit rate, termination or wiring problems.

  5. 5

    Decode your own test messages

    Because you programmed the sending node, you know what each byte means. Find the frame carrying the counter and watch the byte increase. Change the simulated voltage in the sender and watch the matching bytes change. Note byte order and scaling. Practising on known data teaches you how to work out unknown signals later in study projects.

  6. 6

    Measure timing

    Use the software's timestamps to see how often each ID repeats. Real EV networks send safety-related data at fixed, frequent intervals and status data less often. Change the sender's interval and check the log follows. Export a log file as CSV and plot one signal against time in a spreadsheet to build a simple trace.

  7. 7

    Keep it read-only and documented

    Write down the IDs, byte meanings, scaling and bit rate in a table. Never add transmit, replay or injection features to your tools for use on a vehicle. If you later study a real EV component, do it on a bench with the manufacturer's documentation or a training rig, never on a vehicle that is ridden or driven.

How to tell it worked

You can log frames from your bench bus in listen-only mode with zero errors, identify each ID and decode your test signals with the right scaling.

Stop and call a technician if

  • Connecting the adapter causes error frames or makes any bench node reset.
  • The only access point is inside a battery pack, controller or under a warranty seal.
  • You are asked to change settings or unlock features on a vehicle through CAN.

Questions

Is listen-only mode really silent?

In listen-only mode the controller does not transmit or acknowledge, so it does not affect other nodes. That is why it is the right mode for learning, but it still belongs on a bench.

Why do I see no frames?

Usually the bit rate is wrong, CAN-H and CAN-L are swapped, termination is missing or the sender is not running. Check each in turn.

Related EV hacks

All 100 EV hacks