Skip to main content
Use the SLCAN path for an adapter running compatible Lawicel-style serial firmware, such as SLCAN firmware on a CANable, CANtact, or CANUSB. The firmware matters: a product name alone doesn’t mean the adapter speaks this protocol. SLCAN handles classic CAN with standard or extended IDs and up to eight payload bytes. For CAN-FD, use fdcanusb.

Prepare

  1. Install the adapter’s serial driver if your operating system needs one, and confirm its USB serial port appears in Port.
  2. Connect CAN H, CAN L, and the required reference ground. Follow the adapter and bus requirements for termination and voltage.
  3. Close any other serial program that has the port open.
  4. In a Serial Monitor tab, select the adapter’s Port and set Mode to CAN.
  5. Set Bitrate to the bus’s actual bitrate, then select Connect.
Bitrate offers 10, 20, 50, 100, 125, 250, 500, and 800 kbit/s, and 1 Mbit/s. The default is 500 kbit/s. The serial baud rate and the CAN bus bitrate are separate settings. In CAN mode the tab doesn’t show Baud and doesn’t detect it. If your adapter needs a particular USB serial baud rate, set Baud in UART mode first, then switch to CAN. Connecting closes the adapter’s CAN channel, sets the selected bitrate, and opens the channel again. Disconnecting closes the channel. Both change the adapter’s configuration, even if you only plan to read frames.

Read frames

The tab shows each frame’s ID, payload length, and bytes, and marks remote requests. It also shows messages the adapter reports: No traffic can mean the bus is idle. Confirm bus activity before you change settings. Use CAN Monitor decoding to apply a database profile and interpret payloads.

Send a deliberate test frame

Identify the receiver, expected effect, and safe test conditions before you send. Type the frame in hexadecimal id#data form in the send box:
This example is ID 0x123 with four payload bytes. Replace the ID and data with the reviewed test frame for your bus. You can separate byte pairs with spaces or periods. The payload can’t exceed eight bytes. An ID longer than three hex digits, or above 0x7FF, is sent as an extended frame. The maximum ID is 0x1FFFFFFF. For example, 00000123#DEADBEEF sends an extended frame with ID 0x123. For a remote request, follow # with R and a requested length from 0 to 8:
After you send, check the observed response and the bus status. A submitted frame doesn’t prove the receiving application acted on it.

Troubleshoot

  • No port: check the USB cable, serial driver, and host permissions.
  • [CAN adapter rejected command] on connect: confirm that the adapter’s firmware implements SLCAN and supports the selected bitrate.
  • No frames or repeated bus errors: check the bitrate, wiring, termination, and bus activity.
  • [CAN send failed: ...]: use hexadecimal byte pairs, no more than eight bytes, and an ID within 29 bits.
  • Unexpected extended ID: remove leading zeros that make a standard ID longer than three digits.
  • CAN-FD required: SLCAN carries classic CAN only. Use the fdcanusb path for CAN-FD.
Last modified on October 13, 2026