The Canis Labs CANPico is a carrier board for a Raspberry Pi Pico that provides an advanced CAN controller (MCP2517FD) and CAN transceiver, ready for connection to CAN bus wires via a simple screw terminal. The CANPico includes an instrument header with the analog CAN H and CAN L signals and the digital RX and TX signals for use with an oscilloscope or logic analyzer. Software includes an open source SDK for MicroPython (via a custom MicroPython firmware build) and an open source SDK for C. The MicroPython SDK also includes the CANHack toolkit API for mounting low-level attacks on the CAN protocol.
The CANPico is also supported as a development platform for other Canis Labs products and technologies. It is available to buy from SK Pang.
The Canis Labs CryptoCAN encrypted CAN messaging scheme is available for the CANPico via MicroPython firmware with a Python API.
A short introduction to the Canis Labs CANPico CAN hardware for the Raspberry Pi Pico. Demonstrates sending CAN frames with the MicroPython CAN API and a logic analyzer with a CAN protocol decoder.
CANPico pin diagram showing CANPico signals in orange (PDF)
The other connections are USB (for power and connectivity to a host) and the CAN bus. The 6-pin header is intended for a logic analyzer and oscilloscope to see raw CAN signals, the yellow jumper is for enabling the termination resistor, and the blue jumper enables transmission on the bus (if this is removed then the board is restricted to only listening to the CAN bus, a useful security feature).
CANPico MicroPython SDK Reference Manual covers the Python API to CAN and CANHack on the CANPico (PDF).
CAN SDK Reference Manual covers the API for C programmers to send and receive CAN frames and manage CAN error and frame transmit events (PDF).
The Canis CAN SDK for C GitHub repository contains the source code for the API, CAN drivers and bindings to target microcontrollers, documentation and example code.
The Yes We CAN repository contains source code code for building MicroPython with the CAN and CANHack API for the CANPico (in the
Pre-built firmware for MicroPython with CAN and CANHack API for CANPico (firmware-20230309-beta.uf2 for the Pico and firmware-20230309-picow-beta.uf2 for the Pico W).