CAN bus/The hall/Who speaks first
Lesson 4 of 12 · in 3D and VR

Who speaks first

When two devices start together, they sort it out bit by bit while sending the label. The lower label wins and the winner loses nothing. The loser waits and tries again.

Lonely BinaryUpdated 2026-10-084 min readNo board required

View it in VR

Lesson 4 of the CAN bus course opens in a VR headset, on a table in front of you, and a voice starts three seconds after you arrive. Type this short address into the browser on a headset such as Meta Quest or Apple Vision Pro, and press Enter VR. No headset? Press Start the lesson: the same lesson, full screen.

learn.lonelybinary.com/vr/can/4

Starting together

When the bus is free, any node may start sending, and nothing grants permission. Sooner or later two nodes start in the same bit, and the bus sorts it out while the identifier is being sent.

The rule

Each node sends its identifier most significant bit first and reads the bus back as it goes. Dominant is zero and wins the wire, so if one node sends a zero and another sends a one, the bus reads zero. The node that sent the one sees a zero it did not send. It knows somebody else is sending a smaller number, stops at once, and becomes a receiver for the rest of the frame.

The winner's frame goes on to its end without a bit damaged. The loser has lost time, and tries again when the bus is free.

On the bench the wheel desk, the temperature desk and the door desk start together with example labels. The door desk sends a one at the second bit while the others send a zero, so it drops out first. The temperature desk agrees with the wheel desk until the seventh bit and drops there. The wheel desk, with the lowest number, goes on alone. Then the other two try again, and the same rule puts temperature ahead of door.

Priority, not urgency

A lower identifier wins, which makes it a priority for getting on the bus. It does not say the message matters more to the car or the machine. People who design a network choose which message gets which number,.

It is also not a promise of speed. A message with a high number can wait behind many others when the bus is busy, and how long depends on the load. Checking that the slowest message still gets through in time is the designer's job.

What it costs when it goes wrong

Arbitration only works if the identifiers differ. Two nodes with the same identifier both think they have won, which lesson three describes as an error. And it only works because every node samples the same bit at the same moment, which is what the next lesson is about.

Common mistakes

  • Thinking the higher number is more urgent. Lower wins, and it is priority for access, not a ranking of importance.
  • Thinking the loser's message is damaged. The winner is untouched, and the loser sends its message again later.
  • Expecting a busy bus to serve everyone. A high number can wait a long time behind lower ones.

Edit this page — content/fundamentals/can/who-speaks-first.mdx

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Fundamentals on the forum →