1. Introduction
The innomaker USB2CAN-X2 is a dual-channel USB to CAN converter designed for reliable communication between a host device and a CAN bus network. It supports a wide range of single-board computers (SBCs) and desktop/laptop systems running various operating systems. This manual provides essential information for setting up, operating, and maintaining your USB2CAN-X2 converter.
2. Product Overview
The USB2CAN-X2 features two independent CAN channels, USB connectivity, and LED indicators for status monitoring. It is designed for robust performance in industrial and embedded environments.
2.1 Device Components

Figure 2.1: Top-down view of the innomaker USB2CAN-X2 converter, showing the USB connector and two DB9 CAN ports with pinout labels.

Figure 2.2: Close-up view of the USB2CAN-X2 showing the two DB9 CAN ports and the included detachable terminal blocks for easy wiring.

Figure 2.3: Detailed view of the USB2CAN-X2 showing the DB9 pinout for CAN1 and CAN0, along with the RX and TX LED indicators for each channel.
2.2 Key Features
- Dual-Channel USB-CAN Converter: Compatible with Raspberry Pi 5/4/3B+/Zero, Jetson Nano, Tinker Board, all SBCs, desktops, and laptops for a wide range of industrial and embedded applications.
- Multi-OS Plug & Play: Supports Windows, Linux (including Raspbian with v5.4+ kernel and Ubuntu), Mac OS, Android, and Venus OS. Driver-free on Linux; programmable baud rate (20Kbps-1Mbps) and supports CAN 2.0A/2.0B.
- Isolated & ESD Protected: Features 3000VDC isolation and 15kV ESD protection on bus pins, ensuring safe and reliable CAN bus communication in electrically noisy industrial environments.
- Development Libraries & Demos: Provides C/Python for Linux (SocketCAN), C#/C++ for Windows, and Dynamic library and demo with IOUSBKit for Mac OS (Big Sur and above) to aid custom application development.
- Independent Dual Channels: Two channels can be configured and operated independently, offering a cost-effective solution for complex data conversion, device protection, and system integration tasks across multiple CAN bus modules.
3. Setup and Installation
3.1 Hardware Connection
- Connect to Host Device: Plug the USB-A connector of the USB2CAN-X2 into an available USB port on your Raspberry Pi, Jetson Nano, Tinker Board, desktop, or laptop.
- CAN Bus Wiring: Connect your CAN bus network to the DB9 ports (CAN0 and CAN1) on the converter. Use the provided terminal blocks for secure wiring. Refer to the pinout diagram (Figure 2.3) for correct connections: CAN-L, GND, CAN-H.
- Termination Resistor: Ensure proper CAN bus termination (120 Ohm) is applied to the ends of your CAN network. The USB2CAN-X2 may have internal termination options or require external resistors depending on your setup.
3.2 Software Installation and Drivers
The USB2CAN-X2 is designed for multi-OS compatibility. Driver requirements vary by operating system:
- Linux (Raspbian, Ubuntu, Venus OS): The device is generally driver-free and recognized automatically by kernels v5.4 and above, utilizing SocketCAN.
- Windows: Specific drivers may be required. Refer to the innomaker support website for the latest Windows drivers and installation instructions.
- Mac OS (Big Sur and above): Dynamic libraries and demo applications with IOUSBKit are provided for development. Driver installation may be necessary.
- Android: Specific drivers or application support may be required. Consult innomaker documentation for Android integration.
It is recommended to visit the official innomaker support page for detailed, up-to-date driver and software setup guides for your specific operating system.
4. Operating Instructions
4.1 Basic Operation (Linux - SocketCAN Example)
On Linux systems with SocketCAN support, the USB2CAN-X2 can be configured and used via command-line tools. The following is a general example:
- Verify Device Recognition: After plugging in the device, check if it's recognized using
lsusbordmesg. - Load CAN Modules: Ensure necessary CAN modules are loaded (e.g.,
sudo modprobe can,sudo modprobe can_raw,sudo modprobe slcan). - Configure CAN Interface: Set up the CAN interface (e.g.,
can0) with the desired baud rate. For example, for 500Kbps:sudo ip link set can0 type can bitrate 500000. - Bring Up Interface: Activate the CAN interface:
sudo ip link set up can0. - Send/Receive Data: Use tools like
cansendandcandumpfor basic CAN communication. For example, to send a message:cansend can0 123#11223344. To monitor:candump can0.
For detailed programming examples and library usage (C/Python), refer to the innomaker development resources.
4.2 Using with Windows/Mac OS
For Windows and Mac OS, innomaker provides specific software tools, dynamic libraries, and demo applications. These typically include graphical user interfaces (GUIs) for easier configuration and data monitoring. Follow the instructions provided with the software package for installation and usage.
4.3 Video Demonstrations
Video 4.1: Demonstration of the RH-02 Plus USB to CAN FD Converter, showing its physical features, switch adjustments, and connection to a laptop for CAN communication setup. This video illustrates general usage principles applicable to USB-CAN converters.
Video 4.2: Overview of the RH-02 USB to CAN converter, highlighting its open design and flexible setting switch. This video provides visual context for similar USB-CAN devices.
5. Specifications
| Feature | Detail |
|---|---|
| Model Number | USB2CAN-X2 |
| Brand | innomaker |
| Channels | 2 (Independent) |
| CAN Protocol Support | CAN 2.0A / 2.0B |
| Baud Rate | 20Kbps - 1Mbps (Programmable) |
| Isolation | 3000VDC |
| ESD Protection | 15kV on bus pins |
| Compatible Operating Systems | Windows, Linux (Raspbian v5.4+, Ubuntu), Mac OS (Big Sur+), Android, Venus OS |
| Host Device Compatibility | Raspberry Pi 5/4/3B+/Zero, Jetson Nano, Tinker Board, other SBCs, Desktops, Laptops |
| Connector Type | USB Type A |
| Item Weight | 10.8 ounces (0.31 Kilograms) |
| Package Dimensions | 5.98 x 5.94 x 2.36 inches |
6. Troubleshooting
- Device Not Recognized:
- Ensure the USB cable is securely connected.
- Try a different USB port or cable.
- On Windows/Mac, verify that the correct drivers are installed. Check Device Manager (Windows) or System Information (Mac) for device presence and driver status.
- On Linux, use
lsusbto see if the device is detected. If not, checkdmesgfor USB errors.
- No CAN Communication:
- Check CAN bus wiring (CAN-H, CAN-L, GND) for correctness and secure connections.
- Verify that the CAN baud rate configured on the converter matches the baud rate of the CAN network.
- Ensure proper 120 Ohm termination resistors are present at both ends of the CAN bus.
- Confirm that the CAN interface is enabled and active in your operating system (e.g.,
sudo ip link show can0on Linux). - Check the RX/TX LEDs on the device for activity. If no LEDs are blinking during expected communication, there might be a wiring or configuration issue.
- Software Errors:
- Ensure you are using the correct version of development libraries and demo applications for your operating system and kernel.
- Consult the innomaker support documentation or community forums for specific software-related issues.
7. Maintenance
The innomaker USB2CAN-X2 is a low-maintenance device. To ensure its longevity and optimal performance:
- Keep the device clean and free from dust and debris. Use a soft, dry cloth for cleaning.
- Avoid exposing the device to extreme temperatures, humidity, or direct sunlight.
- Do not attempt to open the casing or modify the internal components, as this may void the warranty and damage the device.
- Store the device in a safe place when not in use to prevent physical damage.
8. Warranty and Support
This product is manufactured by innomaker. For warranty information and technical support, please refer to the official innomaker website or contact the seller directly.
- Seller: InnoMaker USA
- Protection Plans: Optional 2-Year and 3-Year protection plans are available for purchase.
- Returns: Standard 30-day return policy for refund or replacement.
Always retain your proof of purchase for warranty claims.