Creative Commons images are CC BY-NC-SA 3.0

$ 24.95

added to your
shopping cart

quantity
In stock 217 in stock
24.95 1+ units
23.70 10+ units
22.46 25+ units
21.21 100+ units

Description: The CAN-BUS Shield provides your Arduino or Redboard with CAN-BUS capabilities and allows you to hack your vehicle. This shield allows you to poll the ECU for information including coolant temperature, throttle position, vehicle speed, and engine rpms. You can also store this data or output it to a screen to make an in-dash project.

It uses the Microchip MCP2515 CAN controller with the MCP2551 CAN transceiver. CAN connection is via a standard 9-way sub-D for use with OBD-II cable. Ideal for automative CAN application. The shield also has a uSD card holder, serial LCD connector and connector for an EM506 GPS module. These features make this shield ideal for data logging application.

Note: A DS9 Cable is not included with this shield. Please be sure to check Recommended Products section below for a recommended cable to use with this board.

Note: This product is a collaboration with SK Pang Electronics. A portion of each sales goes back to them for product support and continued development.

Features

  • CAN v2.0B up to 1 Mb/s
  • High speed SPI Interface (10 MHz)
  • Standard and extended data and remote frames
  • CAN connection via standard 9-way sub-D connector
  • Power can supply to Arduino by sub-D via resettable fuse and reverse polarity protection.
  • Socket for EM506 GPS module
  • Micro SD card holder
  • Connector for serial LCD
  • Reset button
  • Joystick control menu navigation control
  • Two LED indicator

Documents:

Recommended Products

Customer Comments

  • How would I edit the CAN library to work with an AEM EMS-4?

    • AEM EMS-4

      I haven’t seen much on this, but from a quick Google search, it looks like this is an open-source protocol based on CAN. I found a spec sheet here that lists the message formats and protocols.

      To update the library, I’d recommend the following steps:

      No guarantees that will work though - you may need to dig deeper into the library commands to update specs for full functionality, but that should at least get you started.

  • Does this shield support K-Line?

    • K-Line, or pin 7, is broken out to the CAN-H header if you have the jumper configured properly. Please take a look at SJ4 in the schematic to trace this out. However, the example code is written to support CAN-H on that line. If you’d rather use a different protocol, you will need to find or write your own example code supporting this.

  • Guys, I need some serious help. I am using this shield to communication with my Honda 2006’s ECU. But whenever I connect the shield with the car and run the demo code it only gives one response “CAN Bus Demo” and nothing else. Any help please?

    • Please contact tech support. It sounds like there is an issue with your shield or circuit, as the demo code should at least print out “CAN Init Success” or “CAN Init Fail”. If you aren’t getting either of those, your shield and board are likely not communicating.

      • yes, this is the problem. The shield is not working, even the demo code doesn’t work. I’ll definitely contact the support team.

  • Will this work on any CAN-BUS? I need it for an industrial application, not automotive. Thanks

  • I am using the default sketch for the GPS_DEMO (running a 506 gps) and the following hookup Arduino Mega : SPI (50-53) <-> Shield : SPI (10-13) / Arduino Mega : GND, 5V, 3.3V, RESET, IOREF <-> Shield : GND, 5V, 3.3V, RESET, IOREF / Arduino Mega : Digital 4&5 <-> Shield : Digital 4&5 The GPS gets a fix, but it never outputs to the serial. Am I missing something?

  • I am using MEGA R3 with this CAN-BUS Shield. It seems it is not able to initialize CAN.

    I can either “CAN-Bus Demo” or Below reply.

    CAN-Bus Demo Can’t init CAN Please choose a menu option. 1.Speed 2.RPM 3.Throttle 4.Coolant Temperature 5.O2 Voltage 6.MAF Sensor

    I did connect the SPI wires as suggest by Toni.

    • Double check that you’ve updated the pin definitions in the code to match the new wiring, especially the CS pin. If those haven’t been updated, your Arduino is trying to initialize the CAN-Bus using the wrong connections, and you won’t be able to initialize the IC.

  • I’m planning to set up CAN communication with the Arduino Due and need a CAN shield/breakout board. The operaing voltage of the Due is 3,3V. Is it possible to connect the shield to the Due?

    • It’s not recommended. The CAN-Bus shield mostly operates at 5V, but it also handles 12V coming in to the board when plugged in to a CAN port.

  • Is this board fully compatible with Arduino Mega 2560? Which pins it uses?

    • This uses the SPI pins from the Uno footprint by default, so it is not plug-in compatible with the Mega. You will need to run jumper wires from the shield’s pins to the Mega’s SPI pins.

      • Is there an image that shows where to hook up the jumper wires?

        • You can find them on a lot of folks' projects, but these are the basic pins you’ll need to identify on your board to connect.

          MEGA SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). UNO SPI (this will also be the shield footprint): 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).

  • Does it support J1939?

    • There are some example projects with the libraries updated to work with J1939, though our library is not currently set up that way. Check out one example here.

  • Could this board be used to emulate the vehicle side? Not the scanner?

    • You could send out raw CAN data simulating that coming from the vehicle from the CAN +/-, 5V/GND pins broken out on the board. However, you’d need to do a lot of code modification for that to properly simulate the vehicle functionality.

  • You say this is new. What is the difference versus the previous part DEV-10039? Thanks.

    • It has the Uno R3 compatible footprint, jumpers to configure the DB9 connector for different OBD-II cables, and general production improvements for manufacturing.

Customer Reviews

3.5 out of 5

Based on 2 ratings:

5 star
0
4 star
1
3 star
1
2 star
0
1 star
0

2 of 2 found this helpful:

Creat Shield for the price

Ordered one to build a display to show MPH, RPM, Engine temperature and Throttle. I made some modifications to Canbus Library to show imperial measurements instead metric ones. Added a 4 line I2C LCD display and it worked great. Board also supplies 12 V to the un regulated input of the UNO. Don’t forget to order the ODB to DB9 cable.


1 of 1 found this helpful:

Nice features, missing some basics

I like how many things are packed into it. Price is very fair. Really like the option to cut the board and make the DB9 connector use pins 2 and 7 like any professional CAN equipment uses. This option is why I bought the board. I really didn’t like that the Seeed CAN shield didn’t have this option.

Cons: Chip select pin can not be changed. The library doesn’t look like it has a simple option for this either. Switched to the coryjfowler library. I really wish you would have at least done what the Seeed CAN shield did and give me one other pin as a choice. Had to add 120ohms to make it work on a bench. The Seeeeeed shield gave me screw terminals to do this, but not this board. Also, wish that I didn’t have to modify the board to make it work with industry standard pins 2+7 on the DB9. Lastly, the ad doesn’t mention that the shield is completely bare. Please at least update the listing notes to suggest that you buy headers for it.

This board is probably better for the person that wants all the extra features, but if you just want a CAN shield and use CAN regularly, I wouldn’t buy it if you already have a Seeed shield. You’re better off hacking up the Seeed board to support pins 2 + 7 if you already own one.


Related Tutorials

Getting Started with OBD-II

October 8, 2015

A general guide to the OBD-II protocols used for communication in automotive and industrial applications.

CAN-Bus Shield Hookup Guide

October 8, 2015

A basic introduction to working with the CAN-Bus shield.