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.
Introduction to drivers and what is needed:
The FTDI USB driver must be installed first and it is installed automatically when plugging in the CANUSB (on new CANUSB using standard USB VID/PID, see below for more information).
Then installing the CANUSB DLL or selecting VCP mode is optional.
CANUSB can work with FTDI USB driver only and interface with our ASCII protocol directly through the FTDI D2XX DLL or if enabled the VCP (Virtual COM port) mode. Using VCP is simple and the CANUSB can easily be tested with e.g. a terminal software but is much slower than the D2XX DLL.
The CANUSB DLL Library 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 32bit or 64bit DLL depending on what you shall develop or what the 3rd party program uses. This is not machine dependent, it is application dependant. 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.
Note: We have updated CANUSB to use standard FTDI PID 6001 in February 2015. LAWICEL CANUSB used FTDI VID 0403 and PID FFA8 prior to February 2015, then we have changed to standard FTDI VID 0403 and PID 6001. Read more about this in this post to see which CANUSB you have prior to installing drivers below.
Step 1, Installing FTDI USB Drivers:
If your PC (where you shall use the CANUSB) have an internet Connection, do not download FTDI USB drivers, Windows will find the proper drivers it self since they are signed.
If your PC (where you shall use the CANUSB) do not have an internet connection, download the FTDI USB from FTDI below.
FTDI USB drivers download section
Use only this older FTDI USB driver with CANUSB using custom PID FFA8 (CANUSB made prior to February 2015:
FTDI USB drivers (version 2.08.30)
Note: since this is not signed, drivers will not install automatically in Windows Vista and Windows 7/8/10, let if fail when you connect it and then go to the device manager and choose to update drivers (right click on CANUSB). In Windows 8/10 you also need to read this post. Since Microsoft has dropped support for Windows XP we cannot guarantee that the these old FTDI drivers work properly, you may need to update the PID.
If you shall use the VCP driver (which is slower than D2XX) with CANUSB you may need to go to device manager and right click on properties on the “LAWICEL CANUSB” or “USB Serial Converter” (depending on which PID you have on the CANUSB, see above for more information) device in the USB group, then click advance tab and check the checkbox “Load VCP” and then save and exit (do this when CANUSB is connected), then unplug CANUSB and plug it in again, then it will load VCP drivers and a COMx port will be assigned to CANUSB. Picture below shows what to check/tick in yellow (using FTDI driver version 2.12.06). You may need to reboot PC for the Advanced folder to appear when you have installed (or updated) drivers. If you have other USB devices that uses FTDI, make sure you right click the correct one!
Step 2, Installing the CANUSB DLL (Optional):
Windows 10 users may need to enable .NET framework 3.5 (which includes v2.0) before installing CANUSB DLL. How 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 for our CANUSB DLL. Then reboot PC and install our CANUSB DLL.
Use ONLY one of these DLL API if your application/software requires them and check if you shall use (32bit or 64bit) since most use 32bit (95%) even on 64bit machines, so it is not the Windows version that decides this, it’s the software that shall use it:
Download one of the zip file, uninstall and run the setup file. Please note 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 64bit DLL driver package if you intend to develop 64bit software, since the 32bit demos or application will not work with 64bit drivers, they only work with 32bit drivers (even on a 64bit Windows). We have noticed that the canusbdrv64.dll is not installed properly everytime, so if you miss the canusbdrv64 DLL, you can download it here separatly (after installing the 64bit driver package 2.0.2 above).
If you use Windows XP, there are old drivers at the bottom of this page, however we (LAWICEL AB) do not support it any longer and 3rd party tool may require a newer FTDI USB driver. There are some issues with FTDI drivers and XP and it may not work on all PC’s.
If you use Windows 7, 8 or 10 and old PID FFA8, please read this post. We changed PID February 2015.
The CANUSB ASCII manual is for those who will make the driver implementation on their own using FTDI VCP (Virtual COM port) or D2XX DLL directly.
CANUSB uses dual filter mode and we have made two documents that shows how to set these filters for both 11bit ID’s and 29bit ID’s. When using dual filter mode, it is possible to set to regions of CAN ID’s. When using 11bit ID’s this means it is possible to accept only one ID, but when using 29bit ID’s it is not possible to mask the who ID. Also remember if you only need one ID or one group of ID to set both masks to the same, so the unwanted CAN frames do not slip through the second filter!
CANUSB uses SJA1000 CAN controller. For more information on how acceptence filters works we refer to the SJA1000 datasheet pages 44-48 and SJA1000 application note pages 19-22 (AN97076). Single filter mode is not availible in CANUSB.
Sample Programs (source code):
C# CAN232 Monitor Lite (Made with Visual Studio 2010)
Works with CANUSB and FTDI VCP USB drivers only, the CANUSB DLL is not needed for this sample, make sure you enable VCP, see above how to enable VCP. Information is in our CAN232 download section since this is in first hand a sample for CAN232, but will work with CANUSB in VCP mode as well.
Visual Studio 2010 (C# and VB.Net, uses new CANUSB DLL which is not included)
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 (Provided as is, no support from us)
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 since we have no Linux machine nor any experience with Linux. 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.
Other Software (no source code):
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 32bit application and will not work together with the 64bit driver DLL package even if you have a 64bit Windows!
WGSoft CAN Monitor Lite V1.00 (requires 32bit CANUSB DLL to be installed)
For easy testing 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 (requires VCP driver to be installed)
External Projects for CANUSB:
Please note we cannot have support on these projects, ask the respective author for support.
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, so contact the maker for support.
Visit CodeSkin jCAN (Project is on external server)
The CANUSBJNA Library implements access to our native CANUSB DLL using Java Native Access (JNA).
Visit CANUSBJNA (Project is on external server)
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)
NEW: Here is a great step-by-step guide on how to install the CANUSB on Linux using SocketCAN with slcan (VCP) by Pascal Walter. Contact the author for support related matters.
Visit Linux Guide (guide is on external server)
PeliCAN is designed as a simple visualization software for hobby Projects running under Linux and Windows. There is source code etc. and it uses the ASCII API made by LAWICEL.
Visit peliCAN (Project is on external server)
If you have any projects made with/for CANUSB and want to display them here, please contact us and we will be happy to put them here either on our server or a link to yours. It could be for Visual Basic 6, Delphi, C, C++, C#, Linux, Windows, MacOS, PDA’s or other embedded projects. It doesn’t need to include source code (though we like that). It could be an executable, picture or a story. We will give you full credit for the work. Use our contact form in our webshop to get in contact with us.
No old documents found.
These are old drivers for reference only of ir you have an old CANUSB or 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 0.0.18 but we do not support this way in our newest drivers due to ActiveX do not handle usigned long variables.
FTDI USB drivers (version 2.04.16) to be used on XP and older CANUSB.
Old Samples (not supported):
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)
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.