Bus Pirate: CAN Pirate

Unlike simple serial protocols, Controller Area Network (CAN) transmits data in frames with error detection capabilities. The Bus Pirate wasn’t designed to handle frame-based data transmissions, but have no fear the CAN Pirate adapter is here!

In order to send and sniff CAN data for debugging an application, Stefano came up with the CAN Pirate. It uses a stand-alone CAN controller with SPI interface (MCP2515) and a high speed CAN transceiver (MCP2551). Schematics for the board are available in the forum.

Currently, the MCP2515 is setup and accessed manually from the Bus Pirate SPI mode. Stefano is offering a few extra PCBs to developers who help write a new Bus Pirate mode that supports the CAN Pirate directly.

You can get a Bus Pirate for $30, including worldwide shipping.

Join the Conversation

17 Comments

  1. Do you still seek people writing code for this? I need a fairly open CAN bus analyzer as I would like to interface to my BMW motorcycle instrument cluster unit. I also need a bus pirate and a logic sniffer.

    1. Hi Stephan,
      I’m pretty interested in reading the instrument clusters CAN signals, to replace it by some homebrewed arduino-powered device. Can you provide some more information on which pin does what? (Using a F650GS btw)

      Cheers
      Steffen

  2. Stephan – did you ever find anything out? I’m thinking of using an Arduino shield to get data from the CAN-BUS on my 650GS. Email me at wlm2048 at google’s email service if you want to compare notes.

  3. I’ve been using my Bus Pirate, oscilliscope, and ELM OBD-II tool to scan and sniff as much as I can on my Mercedes-Benz. This summer I’m going to invest a lot of time developing a Arduino based controller to interface with the CAN bus network and push information to the cluster and other ECUs. This looks like a great start to what I plan on doing. I’d be willing to help develop some code.

  4. No need for an interface anymore as I got my own CAN bus interface working last week. Interface code was easy and works like a charm.

    1. Hi,
      By this do you mean you have the Bus Pirate reading the CAN directly without this adaptor, or you built a totally separate interface.

      Would you share some more details as to how your new interface works?

      1. Hi,
        I was seeking for something prebuilt at that time as I had no experience with CAN before, but then it turned out to be all very easy using an ATMEL+MCP2515+PCA82C250 and a few hours coding+debugging using in oscilloscope. I was surprised to find out BMW went all for a standard compliant CAN on their motorcycles (tried on an R1200GS+F800GS).
        Best,
        Stephan

      2. Hi,
        I was seeking for something prebuilt at that time as I had no experience with CAN before, but then it turned out to be all very easy using an ATMEL+MCP2515+PCA82C250 and a few hours coding+debugging using an oscilloscope. I was surprised to find out BMW went all for a standard compliant CAN on their motorcycles (tried on an R1200GS+F800GS).
        Best,
        Stephan

  5. Hi

    Is this device available commercially ? its a bit beyond my skills to build one from parts but its exactly what i need at the moment.

  6. “Unlike simple serial protocols, Controller Area Network (CAN) transmits data in frames with error correction and handling capabilities.” ?????
    Sorry, but where did you see that CAN was correcting errors? CAN bus implements an error detection mechanism based on CRC, that’s all. A corrupted frame is always rejected.

Leave a comment

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

Notify me of followup comments via e-mail. You can also subscribe without commenting.