Home

Awesome

<a href="https://opencyphal.org/"><img align="right" src="https://raw.githubusercontent.com/107-systems/.github/main/logo/opencyphal.svg" width="25%"></a> CyphalPicoBase/CAN

Board for the Raspberry Pi Pico to connect via CAN using OpenCyphal and UCANPHY Micro.

You can buy one here 💸.

<p align="center"> <img src="docs/images/CyphalPicoBase-CAN_rendering.png" width="50%"> </p> <p align="center"> <img src="docs/images/CyphalPicoBase-CAN_rendering_back.png" width="50%"> </p>

Description

The CyphalPicoBase/CAN provides the following functions:

Firmware

Pin Usage and connectors

<p align="center"> <img src="docs/images/CyphalPicoBase-CAN_connectors.png" width="50%"> </p>

Raspberry Pi Pico (CN1)

PinPin NameSignalDescription
1GP0UART0_TXreserved for future use (GNSS)
2GP1UART0_RXreserved for future use (GNSS)
3GNDGND
4GP2
5GP3
6GP4I2C0_SDAfor eeprom and qwiic connector
7GP5I2C0_SCLfor eeprom and qwiic connector
8GNDGND
9GP6GPI0input 0
10GP7GPI1input 1
11GP8GPI2input 2
12GP9GPI3input 3
13GNDGND
14GP10GPO0output 0
15GP11GPO1output 1
16GP12reservedNeopixel
17GP13reservedradiation detector
18GNDGND
19GP14SERVO0servo 0
20GP15SERVO1servo 1
21GP16SPI_MISOSPI for MCP2515
22GP17MCP2515_CSSPI for MCP2515
23GNDGND
24GP18SPI_CLKSPI for MCP2515
25GP19SPI_MOSISPI for MCP2515
26GP20MCP2515_INTinterrupt for MCP2515
27GP21STATUS_LED2internal status LED 2
28GNDGND
29GP22STATUS_LED3internal status LED 3
30RUNRESETReset for Board
31GP26INPUT_VOLTAGEmeasure input voltage
32GP27ANALOG_INPUT0analog input
33GNDGND
34GP28ANALOG_INPUT1analog input
35ADC_VREF
363V3 (OUT)3V3-railsupply voltage for board
373V3_EN
38GNDGND
39VSYS
40VBUS5V-railsupply voltage for board

Pinout

I2C (CN2)

compatible to the Sparkfun qwiic standard (https://www.sparkfun.com/qwiic). JST SH 1mm 4-pin.

pin numbersignal
1GND
2+3V3
3I2C_SDA
4I2C_SCL

serial (CN3)

JST SH 1mm 4-pin.

pin numbersignal
1GND
2+3V3
3SER_TX
4SER_RX

CAN (CN4 and CN5)

UCANPHY Micro connector, according to the UCANPHY_Specification (https://forum.opencyphal.org/t/cyphal-can-physical-layer-specification-v1-0/1471). JST GH 1.25mm 4-pin.

pin numbersignal
1+5V
2CANH
3CANL
4GND

servo connector (CN7)

This is a regular 0.1-inch pin header.

Standard RC servos can be directly plugged into this connector

pin numbersignal
1servo0
2servo1
3+5V
4+5V
5GND
6GND

input/output connector (CN8)

This is a regular 0.1-inch pin header.

pin numbersignal
1+5V
2GND
3ANALOG_INPUT1
4GND
5ANALOG_INPUT0
6GND
7INPUT0
8GND
9INPUT1
10GND
11INPUT2
12GND
13INPUT3
14GND
15OUTPUT0
16GND
17OUTPUT1
18GND
19+5V
20GND
21+3.3V
22GND
23RESERVED0
24GND
25NEOPIXEL
26GND

+5V can be fed over this connector to the servo connector (CN7) and the neopixel connector (CN12) if power supply over the CAN connector is not sufficicant.

neopixel connector (CN12)

connector for Adafruit Neopixel RGB leds (https://learn.adafruit.com/adafruit-neopixel-uberguide/the-magic-of-neopixels). JST PH 2mm 3-pin.

pin numbersignal
1neopixel
2+5V
3GND

enclosure

There exists a 3D printable enclosure to encapsulate the PCB.

CyphalPicoBase-CAN enclosure

PCB

Top

<p align="center"> <img src="docs/images/CyphalPicoBase-CAN_top.png" width="50%"> </p>

Bottom

<p align="center"> <img src="docs/images/CyphalPicoBase-CAN_bot.png" width="50%"> </p>