CANUSB and CAN232

CANUSB Support

Manuals, Drivers, Example Software and Projects for the LAWICEL CANUSB

Latest Documents

CANUSB User Manual

The CANUSB User Manual linked in below describes the adapter and the ASCII protocol which can be used to access the device in serial mode. For a description of the two available modes please refer to the sections below.

CANUSB User Manual

How to use Acceptance Filters

CANUSB uses the SJA1000 CAN controller. For more information on how acceptance filters work please refer to the SJA1000 data sheet pages 44-48 and SJA1000 application note pages 19-22 (AN97076).

CANUSB uses dual filter mode (single filter mode is not availible). We have prepared two documents to show how to set these filters for both 11 bit IDs and 29 bit IDs. When using dual filter mode, it is possible to set two regions of CAN IDs. When using 11 bit IDs this means it is possible to accept only one ID, but when using 29 bit IDs it is not possible to mask the whole ID. Also remember, if you only need one ID or one group of IDs, set both masks to the same, so the unwanted CAN frames do not slip through the second filter!

CAN Acceptence Filter for 11bit IDs using Dual Filter Mode

CAN Acceptence Filter for 29bit ID’s using Dual Filter Mode


Introduction

The Driver Model

Below is a block diagram showing drivers you need to install to get CANUSB to work properly (some are optional) in Windows. You as an end user need to find out which drivers to install if you use a software made by a 3rd party developer, check with them for more information. You as a developer of your own software/application can choose which level/path you want.

CANUSB's Driver Model

The USB driver for the FTDI interface chip (as contained in the adapter) must be installed first and it is usually installed automatically by Windows when plugging in the CANUSB (for old CANUSB units produced before 2015 please see below for special instructions).

In a next (optional) step the CANUSB DLL can be installed or the VCP mode of the FTDI chip can be enabled.

That means, CANUSB can work with just the FTDI USB drivers. The simple ASCII protocol can be accessed directly through the FTDI D2XX DLL or - if enabled - using the VCP (Virtual COM port) mode. The VCP mode makes it particularly simple to test the CANUSB with a terminal software. Accessing the unit over FTDI's D2XX DLL works much faster, though.

Finally, the CANUSB DLL is a library that adds functions for opening, closing, sending & receiving CAN frames easily and there is also a DLL wrapper for C#. Our CANUSB DLL uses the FTDI USB D2XX DLL together with our ASCII protocol. Download the zip package, unzip and run setup to install the CANUSB DLL (do not run setup within the zip file). Choose either 32 bit or 64 bit DLL depending on what you shall develop or what the 3rd party program uses. This is not machine dependent, it is application dependent.

We do not make/provide any HLP (Higher Layer Protocol) DLL/Software such as CANopen, DeviceNet, J1939 etc. CANUSB uses Layer 2 of OSI model, so any HLP could be added on top of that, but we do not make such software. Check with 3rd party companies. Please note we dropped support for Callbacks since it doesn’t work well, we have not found a solution for this yet. The code support is still in the DLL, but we do not support it.

Note about USB PIDs

Please note if you are using an older unit: In February 2015 we have updated CANUSB settings to use the standard FTDI USB PID. Prior to that, LAWICEL CANUSB used PID FFA8. The standard FTDI PID used now is 6001. Read more about it in this post.


Driver Installation

Step 1 - Installing FTDI USB Drivers

If your PC (where you shall use the CANUSB) has an Internet connection, you normally do not need to download FTDI USB drivers before. Under normal conditions, Windows will find the proper drivers automatically.

If manual installation is required (or preferred), download and run the Windows installer, available from the FTDI website:

FTDI USB drivers download section

Only for older units still using PID FFA8:

You will have to use this customized version of FTDI drivers , specially made to match PID FFA8 of CANUSB made prior to February 2015.

Note: as this is not a signed driver package, drivers will not install automatically in Windows Vista and Windows 7/8/10. Let it fail when you connect first time and then go to the device manager and choose to update drivers (right click on CANUSB). For Windows 8/10 you should read this post. Since Microsoft has dropped support for Windows XP we cannot guarantee that these old FTDI drivers work properly. To avoid problems we recommend to have the PID of your CANUSB updated. Please contact us for assistance.

Step 1a - Enabling VCP Mode

The FTDI driver can provide a virtual COM port, but in the CANUSB this option is not active by default. With CANUSB connected (and drivers installed), go to Device Manager and right click on properties of the “USB Serial Converter” entry representing the attached CANUSB (within the USB group), then click Advanced tab and check the checkbox “Load VCP” and then save and exit. Unplug CANUSB and plug it in again, then it will load VCP drivers and a COMx port will be assigned to CANUSB. If you have other USB devices that also use FTDI chips, make sure you choose the correct entry!

How to enable Load VCP

Step 2 - Installing the CANUSB DLL

This is an optional step which is only required of you are going to use a software (or write some software yourself) relying on the CANUSB DLL.

Make sure .NET support is installed: Windows 10 users may need to enable .NET framework 3.5 (which includes v2.0) before installing CANUSB DLL.

To install .NET 3.5 support go to “Control Panel” then “Programs and Features” and then “Turn Windows features on or off” (on left menu), then you can enable Microsoft .NET Framework v3.5 which also adds support for 2.0 which is required by the CANUSB DLL. Then reboot PC and proceed with the following step.

There are two versions of the CANUSB DLL - 32 bit and 64 bit. To choose the correct version for your needs, it is important to know that the application software requires a certain version, not the operating system! As a consequence, the 32 bit DLL version is used in most cases, even on 64 bit Windows.

CANUSB DLL driver for Windows 7/8/10, 32bit (version 2.0.2)

CANUSB DLL driver for Windows 7/8/10, 64bit (version 2.0.2)

Download one of the above zip files, unpack and run the setup file. Please note that, in order to install these, you need the CANUSB and to have installed the FTDI USB drivers prior to this step!

Note: Only use the 64 bit DLL driver package if you intend to develop 64 bit software, since the 32 bit demos or applications will not work with 64 bit drivers, they only work with 32 bit drivers (even on a 64 bit Windows).

We have noticed that, sometimes, the canusbdrv64.dll is not installed properly by the system, so if you miss the canusbdrv64.dll (after installing the 64 bit driver package 2.0.2 above), you can download it here separatly .

If you use Windows XP or Vista, there are old drivers at the bottom of this page, however keep in mind that it is not officially supported anymore.

If you use Windows 7, 8 or 10 and an old CANUSB unit with PID FFA8, please read this post. We changed PID February 2015.


Example Programs

CAN232 Monitor Lite (C#)

C# CAN232 Monitor Lite

This CAN232 Monitor Lite is written in C# and Visual Studio 2010 and uses .Net version 4. It is a simple program which demonstrates how to “talk” to the CAN232 in C#. The code comes in full source code and may be used as you like as long as it is used together with our products. If you do not need source code, we have also provided an installer which installs the executables files only.

If you enable VCP mode, this software written for CAN232 initially will work with the CANUSB as well.

C# CAN232 Monitor Lite (Version 1.0.0, Source only)

C# CAN232 Monitor Lite (Version 1.0.0, 32bit Windows Installer)

Visual Studio 2010 Demos

This includes source examples for C-Sharp and Visual Basic dotNET. Requires CANUSB DLL driver to be installed.

Visual Studio 2010 Demos

LabView 8 Demo

LabView 8 sample program (kindly provided by Nick Manor from EMP R&D Center) is provided as is, we cannot give support on it as it is right now, nor can the author. The program comes with source code and a stand alone EXE file, but in order to run the stand alone file without LabView 8, you need LabView 8 runtime files. Also make sure you have installed the latest version of the CANUSB API DLL and the D2XX USB drivers.

LabView 8 source code example

Linux Source Code Example

A sample package with instruction for Linux can be found below and was made by a customer. The maker have tested this driver under some Linux distributions and it seems to work well, however we cannot do support related questions on Linux right now. Follow the instructions on how to install the driver etc. It is important that you use the drivers included in the package since these drivers include our CANUSB PID info etc. This package is not the same full blown driver package as delivered with Windows, it is more a sample source code package on how to get started and install the CANUSB under Linux and send and receive frames using the D2XX driver. Customers who want to contribute with code built on this code or from code written from scratch are welcome todo so and we will put the code in the Linux folder with full credit to you.

Linux source code example with instructions (Provided as is, no support from us).


Other Software

CAN Monitor Lite

CAN Monitor Lite is a free version from WGSoft. Built using CANUSB API DLL 32bit (with D2XX USB drivers) and Delphi 2005. Package only includes the executable file, no source is included. This means you need to install the CANUSB with D2XX drivers and download the CANUSB DLL. The software is provided as is and may be used for free. This is a perfect software to log and send 11bit CAN frames. Use the 3:rd icon from the left on the toolbar to set CAN Speed etc. then open CANUSB driver with the 1:st icon and then press the green “play button” and you are ready to log frames or/and send frames. We cannot answer any support related questions, please contact the vendor WGSoft for support. This is a 32 bit application and will not work together with the 64 bit driver DLL package even if you have a 64 bit Windows!

WGSoft CAN Monitor Lite V1.00

Terminal Software

For easy testing and learn our LAWICEL CAN ASCII protocol, we recommend using a terminal software and we have been using Terminal by Bray for many years now, it is just one file and requires no installation. Just visit the link below, download and place executable in a new folder or on desktop. This terminal software is nice in the way you can see non printable characters.

Terminal software by Bray


External Projects for CANUSB

CANopen Library

CANopen Library for CANUSB made and supported by Hagströms utbildning & konsult, Sweden. It is available as open source (GPL v.3.0) or commercial licence. Contact Hagströms directly for support and sales at www.datalink.se. Below you can dowload the PDF Documentation and a ZIP file containing the project. Right now we cannot answer any support related questions on this project, contact the vendor for support and info. The project is not hosted on this site, so if links do not work, contact the vendor.

Documentation, API (Documentation PDF is on external server)

Project, Source code package (Project ZIP is on external server)

jCAN

Open Source JAVA support for CANUSB. We cannot answer any support related questions on this project, please contact the author.

Visit CodeSkin jCAN (Project is on external server)

CANUSBJNA Library

The CANUSBJNA Library implements access to our native CANUSB DLL using Java Native Access (JNA).

Visit CANUSBJNA (Project is on external server)

SocketCAN

SocketCAN is a set of open source CAN drivers and a networking stack contributed by Volkswagen Research to the Linux kernel and it uses the CANUSB (as well as the CAN232) ASCII API made by LAWICEL.

Visit SocketCAN on Wikipedia (external server)

Installing the Lawicel CANUSB adapter on Linux

Thanks to Pascal Walter, here is a great step-by-step guide on how to install the CANUSB on Linux using SocketCAN with slcan (VCP).

Linux Guide (guide is on external server)


Old Drivers

This archive of old drivers may help you in case you have a very old CANUSB or still running Windows XP. It seems XP doesn’t handle the newer FTDI USB drivers (2.08.xx or later) very well and the old CANUSB using FTDI USB chip FT245BL seems to have problems with the new FTDI drivers as well, so if you run into problems, test 2.04.16.

Our own CANUSB DLL incuded Active X control in version 0.0.18, however we do not support this way in our newest drivers due to ActiveX can not handle unsigned long variables.

FTDI USB drivers (version 2.08.24)

FTDI USB drivers (version 2.04.16) to be used on XP and older CANUSB.

FTDI USB drivers (version 2.08.14)

CANUSB DLL driver for Windows XP, Vista, Windows 7, 32bit (version 2.0.0)

CANUSB DLL driver for Windows 7, 64bit (version 2.0.0)

CANUSB DLL driver 0.0.18 with sample programs, 32bit only!


Old Samples

These are here only for reference, not supported any more!

Visual Basic 6 (Old, VB6 is not supported any longer)

Visual Basic 6 Active X (Old, Active X is not supported any longer)

VC++ (Made with Visual Studio 2008. CANUSB DLL not included)

Visual Studio 2008 (C# and VB.Net, uses old 0.0.18 CANUSB DLL, old CANUDB DLL must be installed first, we do not support this any longer, it is here only for reference)


Legacy Documents

These manuals are here for reference only if you have an older version of CANUSB.

CANUSB Manual V1.0C (Oct 2011)

CANUSB Manual V1.0B (Feb 2006)

CANUSB Manual V1.0A (May 2005)


Disclaimer

THE SOFTWARE IS PROVIDED TO YOU “AS IS,” AND WE MAKE NO EXPRESS OR IMPLIED WARRANTIES WHATSOEVER WITH RESPECT TO ITS FUNCTIONALITY, OPERABILITY, OR USE, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR INFRINGEMENT. WE EXPRESSLY DISCLAIM ANY LIABILITY WHATSOEVER FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, LOSSES RESULTING FROM BUSINESS INTERRUPTION OR LOSS OF DATA, REGARDLESS OF THE FORM OF ACTION OR LEGAL THEORY UNDER WHICH THE LIABILITY MAY BE ASSERTED, EVEN IF ADVISED OF THE POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES.

By downloading software from this site, you agree with the specified terms.