CAN Card: Business Card turned Interface

|

dissecto CAN Card

The worlds first business card that is also a CAN interface!

The dissecto CAN Card based on the candleLight project and is open source and open hardware. The hardware is based on the candleLight schematics by Hubert Denkmair. It is compatible with most Geschwister Schneider USB/CAN drivers, including the gs_usb python module and our gsusb web interface.

Hardware connections

To keep the form factor thin and the cost low, physical connectors were omitted from the CAN Card. It is possible to use the CAN Card without soldering any additional component, just using a pair of wires for the CAN connection. The lower-left corner of the PCB can be inserted in most USB-A receptacles, given that there is enough space on the sides. A USB-A extension cord can be used when not enough space is available.

The side with the components is typically facing upwards. If the orientation is right, the red LEDs on the PCB should turn on when the card is plugged in.

To connect the card to a CAN bus without soldering any wire, you can loop a copper wire between each of CANH and CANL hole pairs.

CAN Termination

The CAN interface on the CAN Card is not terminated by default. However, the CAN Card includes a 120Ω termination resistor which can be connected by adding a blob of solder on the jumper indicated by the TERM designator.

Adding permanent connectors

If you are skilled at using a soldering iron, you can install the missing connectors to make the connection more stable.

The recommended parts to use as DSUB 9 CAN connector is the Wurth Elektronik 618009231321/618009231421 or the Amphenol ICC LD09P33E4GV00LF/LD09S33E4GV00LF. The recommended parts to use as USB connector is the Korean Hroparts Elec TYPE-C-31-M-12 or the Phoenix Contact 1332645.


Usage in Python

You can use the Python programming language and the gs_usb module to write scripts to automate tasks with your CAN Card.

Windows-specific Installation

On Windows, you need to install the libusb DLL, which can be found on the libusb github releases page. Extract only the libusb-1.0.XX-binaries.7z\libusb-1.0.XX-binaries\VS2015-x64\dll\libusb-1.0.dll file and place it in the python installation path.

If you installed Python from the Microsoft Store, put libusb-1.0.dll in %AppData%\..\Local\Microsoft\WindowsApps. If you installed Python in any other way, put libusb-1.0.dll next to the python.exe executable.

gs_usb Installation

If python 3 is installed on your system, you can use pip to install the required python modules:

python -m pip install gs_usb python-can[gs_usb] libusb

For more usage and installation information, see the gs_usb README file. Alternatively, you can also use your dissecto CAN Card with the python-can module, which even allows you to use candleLight devices inside scapy.


Usage in Linux

While you can use the gs_usb and python-can python modules under Linux too, you can get better performance using the SocketCAN Kernel driver.

Use the command modprobe can to load the CAN kernel module if it isn’t loaded already, and install the can-utils package to get access to tools like candump and cansend.

You can find details about SocketCAN on the SocketCAN page of the dissecto knowledge base


Troubleshooting

Driver installation on Windows

Windows already includes the WinUSB USB driver necessary to work with Geschwister Schneider USB/CAN devices like the dissecto CAN Card. However, sometimes other software can replace or uninstall this driver from the device. Follow the following instructions to ensure the WinUSB driver is being used.

You can use Zadig to install the WinUSB driver

In Zadig, select “Options”, then “List All Devices”.

Ensure the “USB to CAN adapter” inteface is using the WinUSB driver.

You can now test if the device is detected correctly on our gsusb web interface.

Schematics