A versatile CAN to USB Interface Converter with an open API

CANUSB Interface Adapter

General Information

CANUSB is a very small dongle that plugs into any PC USB Port and gives an instant CAN connectivity. This means it can be treated by software as a standard COM Port (virtual serial RS232 port) with the FTDI USB drivers which eliminates the need for any extra drivers (DLL) or optionally by installing a direct driver DLL (D2XX) together with our CANUSB DLL for faster communications and higher CAN bus loads. Sending and receiving CAN messages can be done in our standard ASCII format which has been adopted by many other companies.


Length: 55mm, Width: 36mm, Height: 16mm.
Weight: 70 grams.
Blue Transparent Case
1 meter shielded USB cable (variates depending on dealer).


  • Can handle up to 1Mbit/s CAN bitrate
  • Industrial Temp range -40C to +85C
  • USB 2.0 Full Speed, uses FTDI FT245RL
  • NXP/Philips SJA1000 CAN Controller running at 16Mhz
  • NXP/Philips 82C251 CAN Tranceiver (ISO 11898-24V)
  • Compliant to CAN 2.0A (11bit ID) & CAN 2.0B (29bit ID)
  • Supports RTR frames
  • 32 CAN frames deep FIFO buffer for incomming frames
  • Time Stamp (optional) in mS for incomming frames
  • CAN connection according to CiA DS102-1 standard
  • Power supplied via USB
  • Free Interface DLL (32 & 64bit) or low level Ascii Commands API
  • Supports Windows 7, 8 & 10
  • Free Windows USB driver available (32 & 64bit)
  • Free Linux FTDI USB driver available
  • Free MacOS FTDI USB driver available
  • Green LED for CAN activity
  • Red LED for CAN error activity
  • Firmware updatable via USB
  • CE, RoHS & WEEE Compliant


The module plugs directly into a standard USB port and provides a standard DB9 male output to CAN systems according to CiA (CAN in Automation) DS102-1 recommendations. It is self powered from USB. It consumes max 100mA, but normally not more than 60mA (this depends on BUS load and eventual CAN cable errors etc.). Use your own RS232 LIB/drivers (in e.g. Visual Basic, Deplhi, C++, C# etc.) together with the free Virtual COM port driver from FTDI or use the free Direct driver DLL from FDTI (see Download page for drivers). Works on Windows 7, 8 & 10, MacOS and Linux platforms. Easy to migrate from CAN232 to CANUSB with some small software changes. Free Windows Threaded CANUSB API DLL, write applications in a snap.

CAN Pin assignement

Pin assignement according to CiA recommendations DS102-1.
The CANUSB is powered from USB port, so no need to connect external
power on pin 9. Use only CAN_L (pin2), CAN_H (Pin7) and CAN_GND (pin3).

How to connect

The picture above shows how to connect the CANUSB (click here for a larger view). No external power is needed, the CANUSB uses 5VDC/100mA from USB.

Also note that in order for CAN to work, you need at least 2 CAN nodes in operational mode (CAN specifications), the CAN network should also be properly teminated in both ends (even in LAB environments or short networks), so if you connect CANUSB in the end of the network, you must add one 120ohm resistor near the CANUSB and then one 120ohm resistor in the other end of the network. Also use proper twisted pair cable in your CAN network with impedance of 60 ohms or close to it. Ground must also be connected between nodes if they do not share same common GND.

Note: CANUSB is a tool to analyze, logging, set parameters or e.g. update firmware through CAN. CANUSB is not recomended for controling machines in a fixed environment!

Sample Programs and Drivers

Sample programs in C, C++, C#, Visual Basic 6, Delphi, Linux etc. can be found on the download page.

CANUSB uses FTDI USB chip FT245RL and we have developed our own DLL which in turn interfaces with the D2XX DLL from FTDI. This threaded DLL includes Open, Close, Read, Write & Status functions and will make it quick and easy for customers to make their own applications in a snap without understanding on how to parse commands and get into how the D2XX driver work. Tests using this DLL shows that the CANUSB is fast and can receive 5000+ frames per second without loosing any frames. However due to the Windows USB driver 1mS time slot (gitter) you cannot send more than about 1000 messages per second, since the CANUSB needs to report back (this apply to sending & receiving, i.e. ping pong messages).

CANUSB ASCII Command Manual

Only usefull if you plan to make your own driver package and not use our CANUSB DLL for Windows. This manual is also usefull for Linux and MacOS development.


The commands in this manual is not needed if you choose to use the LAWICEL CANUSB DLL for Windows. The ASCII manual is here for reference only or if you prefer to write your own driver or use an operating system where we do not have a driver for such as Linux, MacOS etc. Though we recomend that you download it and read the first part of the manual so you understand how it works.