What's in the box?

  • One CANBus Triple device
  • Rainbow ribbon harness for hardwiring
  • USB Cable
  • OBD-II Cable (For Kickstarter Backers)
  • A CANBus Triple sticker – to show off :)


This repository contains the base firmware and libraries for the CANBus Triple.

MCP2515 Library | Examples


Arduino IDE

This code is tested with Arduino 1.6.0. Download and install the appropriate file for your platform.

Get the code

Clone this repo / download to your Arduino Sketchbook/hardware folder. The path should look like this


To clone:

git clone https://github.com/CANBus-Triple/CANBus-Triple.git

Or download the zip and extract it to your sketchbook folder.



Launch the Arduino IDE and select the newly available board variant from the menu bar under Tools > Board > CANBus Triple

Open the base sketch by selecting File > Sketchbook > hardware > CANBus-Triple > avr > CANBusTriple

This is the basic sketch that talks to the CAN Controllers MCP2515, reads CAN packets from them, and routes them through the Middleware system.

Assure your CANBus Triple is connected to your PC via the supplied USB cable. Then select the appropriate port from Tools > Ports. It will probably say Arduino Leonardo beside the correct port.

Press the Build and Upload button:


The IDE will compile and upload to the CANBus Triple.

IDE Upload

Easy Mode

If you simply want to flash the newest firmware build you can use AVRDude or XLoader for windows to flash the appropriate .hex file to your device. The built firmware files are found in the builds folder of the repo.

Example AVRDude command: avrdude -Cavrdude.conf -v -patmega32u4 -cavr109 -P/dev/cu.usbmodem1411 -b57600 -D -Uflash:w:CANBusTriple.cpp.hex:i

Talking over USB Serial

I use CoolTerm. It is free software available for Linux, MacOS, and Windows. Use the terminal software of your choice.

Connect to your CBT Serial port and you're ready to send commands.

  • Send 0x0101 to get general device information.
  • Send 0x011001 to get CAN Bus 1 information.
  • Send 0x011002 to get CAN Bus 2 information.
  • Send 0x011003 to get CAN Bus 3 information.


See the docs for available commands.

Desktop / Mobile app

A hybrid web app for Android, iOS, Windows, and MacOS is in development and will be available soon.

Connecting to an existing CAN network

Connecting to an existing CAN network is easy with CANBus Triple. Study your vehicles wiring diagrams to locate the available CAN networks. Each network will use two wires CAN High and CAN Low. Connecting these two lines to the existing CAN network and setting the correct speed on your CANBus Triple will allow you to read and dispatch packets to the network.

Auto network speed detection is in the works for the base firmware and will be available soon. See the docs for pinouts and information on setting the correct network speed.

Now what?

Head to the documentation site for more in depth information.

Make sure to sign up at the forum for support and to engage with the community!