openCAN is an open firmware platform for working with vehicle CAN bus networks. The board can sit on the bus as a node, reading and injecting messages, or inline as a man-in-the-middle, filtering and rewriting traffic in real time. Built on the 32 bit SAMD21, programmable through the Arduino IDE, with fully open source firmware.
openCAN ships with the bootloader on every unit. Flash our open source firmware or write your own. In AA spec, it comes pre-configured to run ArduAudi out of the box. No programming, no setup, just connect it to the bus.
AA spec is a ready-to-run configuration for Audi 2.7t B6/B7 swaps. It reads coolant temperature and A/C status off the CAN bus and drives the OEM radiator and auxiliary fans the way Audi intended, using the pwm outputs to switch the stock fan controller. It also adapts cruise control for the 2.7t without modifying the factory stalk. Set, accelerate, retard, cancel, and resume all work as designed.
In AA spec the outputs are mapped for that job. A base board runs the same platform, you just wire and flash it yourself.
Most CAN bus tools are either closed, expensive, or built for diagnostics, not control. openCAN is built for people who want to change how their vehicle behaves. Reassign a gauge. Translate a signal from one bus to another. Trigger a relay based on live sensor data. If it's a CAN message, openCAN can see it and act on it.
Two independent CAN bus interfaces (dual MCP2515 controllers), so you can bridge or translate between two separate networks at once. Eight digital outputs, six low-amp channels for switching loads directly, two relay-rated channels for higher current draws. Six analog inputs covering resistor-based sensors, switch-to-ground inputs, and 5V sensor signals.
openCAN runs on the Arduino core. If you've written Arduino sketches before, you already know how to program this board. No proprietary IDE, no licensing fees, no black box on the firmware side.
Firmware source and board definitions are on GitHub. Fork the firmware, build your own application on the same hardware, extend it however you need. The bootloader ships on every unit, so recovery and re-flashing work out of the box.
OpenCAN works with the Arduino IDE, free, official, and the same tool most people already have if they've done any Arduino work before. No proprietary software, no account required.
The full source, board definitions, and setup guide live on GitHub. Add the OpenCAN board package through the IDE's Boards Manager, select OpenCAN as your board, plug it in, and open the Serial Monitor. Live CAN data starts streaming immediately, no code required.
From there, it's a standard Arduino sketch. Write your own logic, hit upload, and you're running custom firmware on a dual-CAN board. Everything from the stock firmware to your own builds uses the same workflow.
Download and install the Arduino IDE from https://www.arduino.cc/en/software
Open the IDE. Go to File -> Preferences.
Paste the following URL into the Additional boards manager URLs field: https://raw.githubusercontent.com/two-7/openCAN/main/package_two7_index.json
Go to Tools -> Board -> Boards Manager.
Search for openCAN SAMD21 Boards and install the package.
Plug the openCAN into the computer.
Go to Tools -> Port and select the active COM port the openCAN is connected to.
Go to Tools -> Board -> openCAN SAMD21 Boards -> openCAN.
Go to Tools -> Serial Monitor.
On the right side of the Serial Monitor pane, ensure the line ending is set to New Line and the baud rate is set to 500000.
Live openCAN data will stream refreshing once per second.