Canis Labs’ CANPico board adds a CAN bus to the Raspberry Pi Pico. The open-source hardware board can then be used as a CAN adapter connected to a host computer
The company also provides an open-source MicroPython SDK, as well as a pre-built firmware image to quickly make it started, making it possible to easily control or monitor the CAN bus using Python.
- MCU – Raspberry Pi Pico with RP2040 dual-core Cortex-M0+ microcontroller
- CAN interface through 3-pin terminal block implemented via:
- Microchip MCP2517/18FD (SPI) CAN controller with 2Kbyte buffer space
- Microchip MCP2562FD CAN transceiver.
- Jumpers to connect a standard 120Ω CAN bus termination resistor and for disabling transmit access to the CAN bus
- 6-pin header for a logic analyzer or oscilloscope to see what’s happening on the bus
- Dimensions – Approx. 75 x 24mm
The MicroPython SDK for CANPico contains two major APIs with CAN and CANHack. It includes priority-inversion-free drivers, accurate timestamping for both Tx and Rx, control of CAN ID filters, and a simplified CAN bit rate setup. You’ll find the SDK, KiCAD design files, as well as a hardware reference manual and a MicroPython SDK reference manual on Github.
Ken Tindell, CTO of CANIS Automotive Labs, demonstrates sending CAN frames with the MicroPython CAN API and a logic analyzer with a CAN protocol decoder in the video below using the CAN Bus board fitted with a Raspberry Pi Pico.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.