Switch branches/tags
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.




CANBus Triple - The car hacking platform

See CANBus Triple for more information, or to purchase hardware.


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.1. 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

If you are upgrading from a version prior to 0.5.0 ensure to do also an EEPROM restore, sending 0x01 0x04 command on serial port.

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.

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!