Home

Awesome

Arduino CAN

Build Status

An Arduino library for sending and receiving data using CAN bus.

Compatible Hardware

Microchip MCP2515 wiring

Microchip MCP2515Arduino
VCC5V
GNDGND
SCKSCK
SOMISO
SIMOSI
CS10
INT2

CS and INT pins can be changed by using CAN.setPins(cs, irq). INT pin is optional, it is only needed for receive callback mode. If INT pin is used, it must be interrupt capable via attachInterrupt(...).

NOTE: Logic level converters must be used for boards which operate at 3.3V.

Espressif ESP32 wiring

Requires an external 3.3V CAN transceiver, such as a TI SN65HVD230.

CAN transceiverESP32
3V33V3
GNDGND
CTXGPIO_5
CRXGPIO_4

CTX and CRX pins can be changed by using CAN.setPins(rx, tx).

Installation

Using the Arduino IDE Library Manager

  1. Choose Sketch -> Include Library -> Manage Libraries...
  2. Type CAN into the search box.
  3. Click the row to select the library.
  4. Click the Install button to install the library.

Using Git

cd ~/Documents/Arduino/libraries/
git clone https://github.com/sandeepmistry/arduino-CAN CAN

API

See API.md.

Examples

See examples folder.

For OBD-II examples, checkout the arduino-OBD2 library's examples.

License

This library is licensed under the MIT Licence.