The USB-CAN implements support for USB to CAN converters developed at Control Engineering Department of the Czech Technical University.

The project includes embedded software/firmware of the USB-CAN converter as well as Linux kernel side support (for both LinCAN driver and SocketCAN found in Linux mainline now).

LPC2148+SJA1000 and LPC1768 based hardware is supported by firmware which is based on LinCAN driver sources adapted to run on bare MCU hardware.

The firmware sources are included in can-usb1 branch of LinCAN GIT repository.

git clone --branch can-usb1 git://
cd lincan

Edit to select required target board. The default select LPC2148+SJA1000 configuration. Change to next for LPC1768 based board


The firmware can be found in appropriate build output directory


ARM GCC cross-compiler is required to build the project. arm-elf- compiler tool-chain build instruction and binaries can be found at RTIME Cross-Compilers page.

The uLAN USB boot block is expected by default LPC1768 firmware build for for firmware flashing and startup but variant for direct startup can be compiled as well.

SocketCAN Linux side support is included in branch vanekjir branch of Real-Time Systems group's clone of SocketCAN GIT.