Post 7 gives the connections and RP2040 program I used with a MCP2515
an RP20040 alternative is the CAN2040 project which is a software implementation for the RP2040 using a cjmcu-1051 CAN transciver
I ran File>Examples>ACAN2040>ACAN2040_test_v1 with connections
// RPi pico RP2040 GND cjmcu-1051 GND
// RPi pico RP2040 VBUS cjmcu-1051 VCC powers transciver
// RPi pico RP2040 3.3V cjmcu-1051 VIO powers logic
// RPi pico RP2040 GP1 cjmcu-1051 CTX
// RPi pico RP2040 GP2 cjmcu-1051 CRX
// RPi pico RP2040 GND cjmcu-1051 S HIGH = TRX off, LOW = TRX on
serial monitor output
ACAN2040 test, bitrate = 250000 kbps, syscl = 133000000 mhz
starting CAN bus
setup complete, free memory = 251384 bytes
type 's' to send a test message
type 't' to stop CAN
type 'b' to restart CAN
type 't' for CAN statistics
sending message: [ 12345 ] [ 8 ] [ 90 91 92 93 94 95 96 97 ] ... ok
sending message: [ 12345 ] [ 8 ] [ 90 91 92 93 94 95 96 97 ] ... ok
rx_total = 0, tx_total = 0, tx_attempt = 1, parse_error = 0
cb: notify event type = 1048576
cb: message received
received msg: [ 256 ] [ 8 ] [ 7 77 69 71 65 0 7 8 ]
cb: notify event type = 1048576
cb: message received
received msg: [ 256 ] [ 8 ] [ 8 77 69 71 65 0 7 8 ]
sending message: [ 12345 ] [ 8 ] [ 90 91 92 93 94 95 96 97 ] ... ok
cb: notify event type = 2097152
cb: message sent ok
sending message: [ 12345 ] [ 8 ] [ 90 91 92 93 94 95 96 97 ] ... ok
cb: notify event type = 2097152
cb: message sent ok
received msg: [ 181 ] [ 8 ] [ 119 118 102 102 102 102 102 102 ]
received msg: [ 2337835144 ] [ 8 ] [ 119 118 102 102 102 102 102 102 ] X
cb: notify event type = 1048576
cb: message received
received msg: [ 256 ] [ 8 ] [ 9 77 69 71 65 0 7 8 ]
received msg: [ 256 ] [ 8 ] [ 10 77 69 71 65 0 7 8 ]
maybe simpler to get a adafruit-rp2040-can-bus-feather all the modules on a single PCB