CAN bus is the rugged two-wire network that lets a robot's many microcontrollers, motors, and sensors talk over a single shared line — the reliable communication backbone of vehicles and countless robots.
CAN bus is a tough little network that connects all the electronic parts of a robot or car over just two wires. Any device can send a message and every other device hears it — simple, robust, and hard to disrupt.
🎯 Quick challenge
A defining feature of CAN bus is that messages are…
A robot is full of separate electronic devices — motor controllers, sensor boards, a main computer — that must exchange data reliably, often in electrically noisy conditions. CAN bus is the tough, proven network that ties them together.
What it is
CAN (Controller Area Network) is a two-wire serial bus where many devices ("nodes") share one line. It was born in automobiles (to replace bundles of point-to-point wiring) and spread into robotics and industry for the same reason: it's simple, cheap, and extremely robust. Key traits:
Differential signaling on a twisted pair makes it highly resistant to electrical noise.
Multi-master, message-based. Any node can transmit; messages carry an identifier, not a destination address, and every node hears every message and picks out what it cares about.
Priority arbitration. If two nodes transmit at once, the message with the higher-priority identifier wins automatically, without collisions being lost — so urgent messages (a fault, an e-stop) get through first.
Many nodes, one shared line
All devices hang off one twisted pair. Any node broadcasts; priority arbitration decides who transmits when two try at once — no central hub.
Why robots use it
Reliability in noise. Robots are full of motors and switching power — electrically hostile. CAN's differential, error-checked design shrugs it off, with built-in error detection and automatic retransmission.
Simple wiring. One bus instead of a wire per connection — lighter and easier, especially on a moving arm or vehicle.
Deterministic-ish priority. Important messages win the bus, useful for control and safety.
Ubiquity. Cheap microcontrollers have CAN built in; the ecosystem is mature.
Higher-level protocols like CANopen and automotive standards run on top of it, and CAN FD raises the data rate. Many robot actuators and drives speak CAN natively.
The limits
CAN is modest bandwidth (classic CAN ~1 Mbit/s) — great for control and status messages, not for streaming camera or lidar data (which go over Ethernet/USB). For hard real-time, tightly-synchronized multi-axis motion, industrial robots often step up to EtherCAT.
Why it matters
CAN bus is the dependable nervous system of vehicles and countless robots — the reason a robot's distributed electronics communicate reliably in harsh conditions over minimal wiring. It's foundational, embedded-level knowledge for anyone building real robot hardware.