USB-CAN Bus

The purpose of this project is a simple and easy to use USB <> CAN bus interface. Heart of the circuit is an Atmel AVR ATmega162 microcontroller which controls the Communication between FTDI FT245BM USB to parallel converter and Philips SJA1000 Stand-alone CAN bus controller.
The SJA1000 is memory mapped into memory space of the AVR, which reduces data and address line handling and increases data transfer speed.
An FT245BM handles all USB communication and provides data transfer from and to PC application. An extra EEPROM can store the multi device template for the FT245BM.
A Philips PCA82C250/251 works as CAN controller interface.

Firmware is written in C, compatible to latest compiler version WinAVR.

The firmware is now compatible to run on a CANDIP module. The download include a pre-compiled firmware file to flash into a CANDIP module. Both pins for LED connection remaining the same.

See the CANDIP homepage for detail of the required hardware CANDIP/M162 .

Documentation and Source code

CAN-Control
CAN-Control
CAN-Control_v1.0b8.zip
Version: 1.08b
22.9 KB
9125 Downloads
Details
CAN-Control Source Code
CAN-Control Source Code
can_control.7z
5.2 MB
10900 Downloads
Details
CAN-USB Target files
CAN-USB Target files
CAN_BUS_Interface_v2_Target.zip
215.4 KB
5817 Downloads
Details
CANHacker
CANHacker
CANHackerV2.00.01.zip
Version: v2.00.01
1.8 MB
6531 Downloads
Details
EEPROM Template
EEPROM Template
Eeprom_Template.zip
550.0 B
4540 Downloads
Details
PCB in Gerber Format
PCB in Gerber Format
CAN_BUS_Interface_v2_Gerber.zip
262.4 KB
4575 Downloads
Details
Sourcecode
Sourcecode
Firmware_v1.09.zip
Version: 1.09
27.9 KB
5971 Downloads
Details
USB-CAN Bus Interface - Documentation
USB-CAN Bus Interface - Documentation
Documentation_Iss.F.pdf
Version: F
82.7 KB
14354 Downloads
Details
USB-CAN Bus Interface - Schematic & Board in Eagle
46.1 KB
8508 Downloads
Details
USB-CAN Bus Interface schematic
148.3 KB
18268 Downloads
Details
USB-CAN Bus PCB in PDF Format
223.7 KB
9406 Downloads
Details

CAN Hacker v2.00.01

Link

Homepage/Forum: www.canhack.net (German language only)

119 thoughts on “USB-CAN Bus

  1. I’ve got a problem with the CAN of the System. The SJA1000 doesn’t send an ACK to messages on the bus. Its possible to listen transmissions between other nodes though.

    Some idea what could cause this problem?

    thanks Aigna

  2. Hi Michael,

    I am wondering what is required to burn the firmware onto this board?
    (i am buying one from ebay ready fabricated and was thinking about possible firmware changes or updates)

    thanks

  3. Hello

    Thanks for a cool project ( usb-can ) and even better since you use an AVR !!!

    Cheers

  4. CAN_FD with USBCAN. Making and adaptor PCB with a TJA1145 tranceiver IC in place of the PCA82C250. Writing a patch for the firmware and changing the software. Will this work?

  5. Can this be used as J2534 (pass through) device? I read about this project on the Sardine CAN page / (hacking volvo) blog. Sardine CAN is a J2534 capable device and windows dll also support usage of your Can-Usb device.
    Unfortunately i couldn´t find schematics for Sardine CAN yet. Only read something about it´s arduino based but nothing more specific. 🙁
    By the way… your captcha is crap. It doesn´t work well! All adjusted right but says: wrong captcha answered.

      • Again? This has never been asked before here nor you mentioned it somewhere on this page.
        Can you describe the difference between a normal USB-CAN interface and a J2534 interface?
        According to wikipedia and other sources J2534 is just a CAN standard.

        • About pass thru was asked for one of my other interfaces, I mixed that.

          The difference between my interface and a J2534 is the fact, that mine uses a protocol (on PC side via USB) that is based on lawicel and doesn’t comply with any standard. For a J2534 interface the protocol must be compliant to the J2534 API, so any OBD software that is J2534 compliant can use such interface to talk to the vehicle.

          My interface is open source and hardware, feel free to implement J2535 API layer. On the other hand, I got a J2534 interface for my Prius from eBay, as cheap as 35€. So it it worth the efforts to make your own?

          • I thought the windows dll from Sardine CAN would already do this job. But i am not sure. I asked the owner of the hacking volvo blog some questions but didn´t get any reply yet.
            If you mean the Mini VCI device as J2534 device… the cheap ones base on a leaked alpha firmware from the manufacturer xhorse. These devices work but as far as i have heard speed and liability are not near any of the commercial devices (that cost about 100€ up two thousands of €s) like original xhorse mini vci, lawicel CAN-USB device, Cardaq Plus, Mongoose and all the other devices i forgot.

          • Finally found the schematics. They are well hidden. There is a text file on github that tells you to buy a arduno uno r3 and a can shield from sparkfun.
            Maybe i´ll buy such an arduino but never the shield. It is way too expensive for that few components on it. You can easily get those components for less than $10, the shield costs about $40!!!

        • You can’t make J2534 device from CANHacker firmware. I tried to do this. To make it, you should fully rewrite source code of them. Protocol of CANHacker is too slowly for true J2534 device. If you would like to to that, i’s better to use another CPU, such as ARM.

  6. hallo,

    i would like to know whether the CAN usb can be used to monitor data in the can bus through an Embedded PC of Beckhoff? it runs win CE os

    • The interface itself will work with any PC either through legacy serial port or USB-Serial converter. See the documentation for the control protocol.

  7. Hi Does this code work on a standard candip module via the rs232 port. i.e. no ftdi chip circuit added?

  8. Could you please tell me what the maximum data throughput rate that it can log at without missing messages? Can it log a nearly fully loaded 1Mbit/s can bus using Can Hacker or similar?

    • 1Mbit is possible with the FTDI D2XX driver, tested that. But not sure about the VCP driver and CAN hacker.

Leave a Reply

Your email address will not be published. Required fields are marked *

Comments will be moderated! Spam deleted immediately!
Before you submit form:
Human test by Not Captcha