Sneak preview of three upcoming Canis CAN boards
Canis Automotive Labs has three CAN boards in the pipeline and with luck we should be announcing availability in a few weeks, so we’ve produced a sneak preview of those boards.
They are:
- A CAN controller board for the Raspberry Pi Pico that has an external CAN controller connected over SPI
- A CANHack board for the Raspberry Pi Pico that the CANHack toolkit uses to demonstrate CAN protocol attacks
- A tiny CAN probe board for oscilloscopes and logic analyzers to monitor a CAN bus
The CAN controller board
The CAN controller board is also designed for the Raspberry Pi Pico and gives it a full CAN controller in hardware, connected via SPI. The controller is the Microchip MCP2518. It’s a much more capable CAN controller than the very popular but older MCP2515: it has 2Kbytes of on-chip buffer memory, a receive FIFO, a priority queue for transmitting CAN frames (i.e. transmitting the frame with the lowest CAN ID first), a number of transmit FIFO queues, an event queue to tell the software when frames have been transmitted, and a timestamp system for indicating when a frame was transmitted or received (the CAN start-of-frame event is used for the timestamp). Like the other two boards, there is an optional CAN termination resistor. The board also has the same CAN RX/TX and CAN H/L pins for a mixed signal instrument to monitor the bus (e.g. with a Sigrok logic analyzer and our CAN protocol decoder)
We are developing a MicroPython API for our board and release a pre-built binary firmware image so everyone can get started quickly on CAN projects with the Raspberry Pi Pico as soon as the board is available.
The CANHack board
The CANHack board is designed for the Raspberry Pi Pico: the Pico can be soldered down on to the board or connected via headers. The CANHack board is connected to CAN via a screw terminal (so can be directly wired or connected to a 9-pin D-sub connector or an OBD-II connector). It’s basically a PCB version of the CANHack breadboard prototype. There is also a CAN bus termination resistor that can be enabled with a jumper and it has CAN RX/TX and CAN H/L pins for a mixed signal instrument to monitor the bus.
The CAN probe
The CAN probe is designed to be a small low-cost standalone board that a logic analyzer or mixed-signal instrument can use to see what’s happening on the CAN bus. The transceiver is powered by a microUSB connector, and the CAN RX digital line can go into a Sigrok-compatible logic analyzer and run through our CAN protocol decoder. The CAN H and CAN L analog lines are also provided so that the input to the transceiver can be seen. It also has a CAN bus termination resistor that can be enabled with a jumper.