CAN ID
A CAN ID is a unique numerical address assigned to a device on a CAN Bus network.
Within the VESC ecosystem, CAN IDs are used to identify devices such as motor controllers, BMS systems, displays, IO modules, and other CAN-enabled accessories. When a device sends a CAN message, the CAN ID allows other devices on the network to identify the sender and communicate with specific devices.
CAN IDs are configured within the device settings and can be changed using VESC Tool.
To change a CAN ID, connect to the device and navigate to App Settings → General. In VESC Tool, the CAN ID is labelled VESC ID. The current CAN ID can also be seen next to the device name in the CAN Devices list.
By default, VESC devices are typically assigned CAN IDs within specific ranges to help organise devices on the network:
- 20-29 – ESP-based devices such as the VESC Nanolog
- 30-39 – VESC BMS devices
- 40-49 – Displays and user interface devices
- 50-254 – Motor controllers
These ranges are conventions rather than strict requirements, but following them can make larger CAN Bus networks easier to configure and troubleshoot.
⚠️ Dual motor controllers such as the use a separate CAN ID for each motor channel. For example, a Duet may appear as CAN ID 50 and CAN ID 51, even though both channels are located within the same physical device.
⚠️ Every device on a CAN Bus network must have a unique CAN ID. If two devices share the same CAN ID, communication conflicts can occur. A common symptom is that only one device appears in the CAN Devices list despite multiple devices being connected correctly. In this case, disconnect one device, change the CAN ID of the remaining device, then reconnect the network.
Example
A CAN Bus network may be configured with:
- Front Motor Controller: CAN ID 50
- Rear Motor Controller: CAN ID 51
- VESC BMS: CAN ID 30
- VESC Dash: CAN ID 40
- VESC Nanolog: CAN ID 20
In simple terms: a CAN ID is the unique address that identifies a device on a CAN Bus network.
