1. Introduction
The Waveshare USB-CAN-B is an industrial-grade USB to CAN adapter and CAN bus analyzer. It features dual independent CAN bus interfaces with electrical isolation, supporting two-way transmission without interference. This device is designed for use with personal computers, Raspberry Pi, and Jetson Nano, offering compatibility with Windows XP/7/8/10/11 and Linux systems.
It supports various CAN protocols including CAN 2.0A, CAN 2.0B, CANOpen, SAE1939, DeviceNet, ICAN, and ISO 15765. The CAN baud rate is configurable from 10Kbps to 1Mbps, with support for automatic detection. The adapter provides driver libraries, development examples, and tutorials for secondary development across multiple platforms like C++Builder, C#, VC, VB, VB.NET, Delphi, LabVIEW, LabWindows/CVI, Q, Matlab, Python/Python-can, and Qt under Linux.
2. Package Contents
Verify that all items listed below are included in your package. If any items are missing or damaged, please contact customer support.

Image: Contents of the Waveshare USB-CAN-B package. It includes the red USB-CAN-B device, a blue USB cable, two sets of terminal wires, a small screwdriver, and two OBD2 adapters.
- Waveshare USB-CAN-B Dual-Channel CAN Analyzer
- USB Cable (Type A to Type B)
- Terminal Wires (for CAN1 and CAN2 connections)
- Small Screwdriver (for terminal block connections)
- 2x OBD2 Adapters
3. Key Features
- High-Speed USB 2.0 Interface: Compatible with USB 1.1 and USB 3.0 for reliable data transfer.
- Dual CAN Bus Interfaces: Two independent CAN channels (CAN1 and CAN2) that operate without mutual interference.
- Configurable Baud Rate: Supports baud rates from 10Kbps to 1Mbps, with automatic detection and setting via software.
- Protocol Support: Compatible with CAN 2.0A, CAN 2.0B, CANOpen, SAE1939, DeviceNet, ICAN, and ISO 15765 protocols.
- Flexible CAN Modes: CAN2 can be configured as High-Speed CAN or Low-Speed/Fault-Tolerant CAN via software.
- Wide OS Compatibility: Supports Windows XP/7/8/10/11 and Linux systems (e.g., Raspberry Pi OS, Ubuntu under Jetson Nano).
- Development Support: Provides examples and libraries for C++Builder, C#, VC, VB, VB.NET, Delphi, LabVIEW, LabWindows/CVI, Q, Matlab, Python/Python-can, and Qt.
- Industrial Isolation: Features electrical isolation for enhanced safety and reliability in industrial environments.

Image: A diagram illustrating the protocol conversion between USB and the dual CAN bus channels (CAN1 and CAN2).

Image: Visual representation of Single-Wire CAN, High-Speed CAN, and Low-Speed/Fault-Tolerant CAN, including voltage level diagrams and network schematics.
4. Setup Guide
4.1 Hardware Connection
- Connect the USB-CAN-B device to your computer using the provided USB cable. The device will be powered via the USB port.
- Identify the CAN1 and CAN2 terminal blocks on the device.
- Using the provided terminal wires and screwdriver, connect your CAN bus network to the appropriate terminals (H, S, L, G) for CAN1 and CAN2. Refer to the 'Interface Introduction' section for detailed pinout.
- If your CAN network requires termination resistors, ensure the 120Ω terminal resistors on the USB-CAN-B are enabled via the onboard switches (R1/R2).

Image: The Waveshare USB-CAN-B device with a blue USB cable connected to its USB-B port, indicating power and data connection.
4.2 Driver Installation
Drivers are required for the operating system to recognize and communicate with the USB-CAN-B device. Refer to the Waveshare product wiki or included documentation for the latest drivers and installation instructions specific to your operating system (Windows or Linux).
- Windows: Typically, drivers are provided as an executable installer. Run the installer and follow the on-screen prompts.
- Linux: Driver libraries and installation guides are available for Raspberry Pi OS and Ubuntu under Jetson Nano. Installation usually involves compiling modules or using provided scripts.
4.3 Software Installation
After driver installation, install the Waveshare CAN tools software or your preferred development environment (e.g., Python-can, Qt, LabVIEW) that supports the device. These tools will allow you to configure, monitor, and analyze CAN bus data.
5. Operating Instructions
Once the hardware is connected and drivers/software are installed, you can begin operating the USB-CAN-B analyzer.
5.1 Basic Operation with Waveshare CAN Tools
- Launch the Waveshare CAN analysis software on your computer.
- Select the connected USB-CAN-B device from the software interface.
- Configure the baud rate for CAN1 and CAN2 channels to match your CAN bus network's settings. The software supports automatic baud rate detection.
- Select the appropriate CAN protocol (e.g., CAN 2.0A, CAN 2.0B) if required by your application.
- Initiate monitoring or data transmission. The software will display incoming CAN frames and allow you to send custom frames.
- Observe the PWR, SYS, CAN1, and CAN2 indicator LEDs on the device for status feedback.
5.2 Advanced Usage and Development
For advanced applications, utilize the provided SDKs and examples for secondary development. The device supports various programming languages and environments, enabling custom applications for:
- Developing, debugging, and learning CAN communication devices.
- CAN interface sensor debugging and error frame display/transmitting data.
- Automotive electronic network monitoring and diagnostic development.
- CAN-bus network diagnosis and testing.

Image: An illustration demonstrating how one PC can manage multiple USB-CAN-B devices (up to 128) simultaneously, alongside examples of application scenarios such as debugging, sensor interfacing, and automotive diagnostics.
6. Specifications

Image: A table detailing the technical specifications of the USB-CAN-B adapter.
| Category | Specification |
|---|---|
| Product Type | Industrial grade: USB to CAN interface converter / CAN-bus communication interface card / CAN protocol data analyzer |
| Hardware Interface | USB |
| Operating Voltage | 5V (directly powered by USB port without external power supply) |
| USB Connector | USB-B |
| CAN Channels | Dual-channel: CAN1 and CAN2 (independent and isolated) |
| CAN Connector | CAN bus screw terminal (5.08mm pitch) |
| Terminal Resistor | Each CAN channel has two built-in 120Ω terminal resistors, which can be enabled by switch |
| Baud Rate | 10Kbps-1Mbps (Configurable via software) |
| Protocol Support | CAN 2.0A, CAN 2.0B, CANOpen, SAE J1939, DeviceNet, ICAN, ISO 15765 protocols |
| Hardware Support | Single-wire CAN, High-speed CAN, Low-speed/Fault-tolerant CAN (CAN2 can be set by software) |
| Transfer Speed | The receiving and sending of each CAN channel can reach: 8500 frames/s |
| Transmit Buffer | 2000 frames receiving buffer and 1000 frames sending buffer per channel (automatically retransmit when transmission fails) |
| Indicators | PWR (Power indicator), SYS (System status indicator), CAN1 (CAN1 channel indicator), CAN2 (CAN2 channel indicator) |
| System Support | Windows XP/7/8/10/11 (32/64 bits), Linux (Raspberry Pi OS, Ubuntu under Jetson Nano, VMware virtual PC) |
| Operating Temperature | -40~85°C |
| Case Material | Aluminum alloy case + 3D flame-retardant insulating sheets on both sides |
| Dimensions | 104 x 70 x 25 mm |
| Item Weight | 0.89 Pounds |

Image: Detailed view of the USB-CAN-B device's interfaces, including 120Ω terminal resistor selection switches, CAN1 and CAN2 interfaces, USB & Power Supply port, and indicator LEDs. Also includes outline dimensions in millimeters.
7. Maintenance
To ensure the longevity and optimal performance of your Waveshare USB-CAN-B device, follow these general maintenance guidelines:
- Keep Clean: Regularly wipe the device with a soft, dry cloth to remove dust and debris. Avoid using liquid cleaners or solvents.
- Avoid Moisture: Do not expose the device to water, high humidity, or condensation.
- Temperature Control: Operate and store the device within the specified operating temperature range (-40~85°C). Avoid extreme heat or cold.
- Handle with Care: Avoid dropping or subjecting the device to strong impacts.
- Cable Management: Ensure USB and CAN cables are not kinked or strained, which can damage the connectors or internal wiring.
8. Troubleshooting
If you encounter issues with your USB-CAN-B device, refer to the following common troubleshooting steps:
8.1 Device Not Recognized by Computer
- Check USB Connection: Ensure the USB cable is securely connected to both the device and the computer. Try a different USB port or cable.
- Driver Installation: Verify that the correct drivers for your operating system are installed. Check Device Manager (Windows) or use `lsusb` (Linux) to see if the device is detected. Reinstall drivers if necessary.
- Power: Confirm the PWR indicator LED on the device is lit, indicating it is receiving power.
8.2 No CAN Communication
- CAN Wiring: Double-check your CAN bus connections (CAN-H, CAN-L, GND) to ensure they are correct and secure.
- Baud Rate Mismatch: Ensure the baud rate configured in your software matches the baud rate of your CAN bus network. Use the auto-detection feature if available.
- Termination Resistors: Verify that the 120Ω termination resistors are correctly enabled or disabled based on your network topology. Only the two ends of a CAN bus should have termination resistors.
- CAN Protocol: Confirm that the correct CAN protocol (e.g., CAN 2.0A/2.0B) is selected in your software.
- CAN Indicators: Observe the CAN1 and CAN2 indicator LEDs. They should blink when data is being transmitted or received. If they are off, there might be a connection or configuration issue.
8.3 Software Issues
- Software Version: Ensure you are using the latest version of the Waveshare CAN tools or your chosen development environment.
- Operating System Compatibility: Confirm that your OS version is supported by the software and drivers.
- Firewall/Antivirus: Temporarily disable firewall or antivirus software to check if it's interfering with the application.
9. Support and Warranty
For further assistance, technical support, or warranty information, please refer to the official Waveshare website or contact their customer service directly. Detailed documentation, FAQs, and community forums may also be available online.
Please have your product model number (USB-CAN-B) and purchase details ready when contacting support.





