USBtingo EB - USB to CAN-FD board

USBtingo - USB to CAN-FD Interface

USBtingo is a performant USB to CAN-FD interface with hardware timestamping and logic analyzing feature. What are the differences to USBtin? Compare USBtin EB with USBtingo EB
New! USB-CANFD-Adapter board

USBtingo EB board
Buy on Fischl.de!
Launch Special: € 29,90 € 49,90 incl. 19% VAT excl. € 4 shipping

Contents

Software

A Python library is available for easy and rapid development on different operating systems.

Python library "python-can-usbtingo" (Windows, MacOS, Linux)

python-can-usbtingo is a Python library based on the popular package which allows easy, platform-independent access to CAN busses.

Installation

The easiest way to install the library is using pip:
pip install python-can-usbtingo

Drivers

Linux, MacOS X, and Windows (version 8.1 and above) do not require additional drivers. For older versions of Windows, you can use to install "WinUSB" driver.

Example

Send a frame and wait for incoming message:
import can
    
with can.Bus(interface="usbtingo", bitrate=125000) as bus:

    msgtx = can.Message(arbitration_id=0x123, is_extended_id=False, data=[0x11, 0x22, 0x33, 0x44])
    bus.send(msgtx)
    msgrx = bus.recv()
    print(msgrx)
Further examples can be found on the .

Graphical interface tool "USBtingoGUI" (Windows, MacOS, Linux)

USBtingoGUI
Graphical interface tool for sending and receiving CAN(-FD) messages based on the python library. Installation and usage:
pip install USBtingoGUI
python -m USBtingoGUI

Logic analyzing with PulseView (Windows, MacOS, Linux)

USBtingo with Pulseview
With the logic recording function (USBtingoGUI -> Logic), the logic level on the CAN RX line can be captured and then analyzed with PulseView.


Firmware

Firmware download

The firmware of USBtingo is available as precompiled BIN file:

USBtingo_v1.00.zip Version v1.00 - First public version

Firmware update via bootloader

The bootloader can be started by a command via USB or by shorting the bootloader jumper on the board while plugging to USB. Use bootloader application to load the new firmware into the flash of USBtingo:
pip install mboot
mboot -t 0x1FC9:0x0022 erase -m
mboot -t 0x1FC9:0x0022 write USBtingo_v1.00.bin
mboot -t 0x1FC9:0x0022 reset

Hardware

Schematic - USBtingo's circuit diagram

USBtingo Schematic

Documentation

USBtingo EB - Datasheet (PDF)

USBtingo EB - Protocol Description (PDF)

USBtingo EB - Outline Drawing (DXF)

USBtingo - Schematics (PDF)

Troubleshooting

Linux: "LIBUSB_ERROR_ACCESS" as non-root

Add udev rule to give permissions to all users.
sudo bash -c $'echo \'SUBSYSTEM=="usb", ATTRS{product}=="USBtingo", MODE="0666"\' > /etc/udev/rules.d/50-USBtingo.rules'
sudo udevadm control --reload-rules
Please tell me about your USBtingo project!