Need help with arduino-CAN?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

sandeepmistry
258 Stars 97 Forks MIT License 39 Commits 50 Opened issues

Description

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

Services available

!
?

Need anything else?

Contributors list

# 14,942
Arduino
JavaScr...
stm32f4
glsl
36 commits

Arduino CAN

Build Status

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

Compatible Hardware

Microchip MCP2515 wiring

| Microchip MCP2515 | Arduino | | :---------------: | :-----: | | VCC | 5V | | GND | GND | | SCK | SCK | | SO | MISO | | SI | MOSI | | CS | 10 | | INT | 2 |

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 transceiver | ESP32 | | :-------------: | :---: | | 3V3 | 3V3 | | GND | GND | | CTX | GPIO5 | | CRX | GPIO4 |

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.