Hi @horace ,
thank you very much for posting this demo-code.
If I run your code on my MCP2515-board with Vcc of the MCP2515-board connected to 3.3V
I get this in the serial monitor
11:05:47.668 ->
11:05:47.668 ->
11:05:47.668 -> RP2040 CAN MCP2515 shield Send/Receive test - MCP2515 Initialize
11:05:47.702 -> Entering Configuration Mode Successful!
11:05:47.702 -> Setting Baudrate Successful!
11:05:47.702 -> CAN Receive - MCP2515 Initialized Successfully!
11:05:47.702 -> MCP2515 Library CAN Send/Receive Example
11:05:47.702 -> enter space to send a frame
11:05:56.792 -> 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 Error Sending Message sndStat=7
11:05:58.948 -> 0x01 0x01 0x02 0x03 0x04 0x05 0x06 0x07 Error Sending Message sndStat=7
11:05:59.886 -> 0x02 0x01 0x02 0x03 0x04 0x05 0x06 0x07 Error Sending Message sndStat=7
11:06:00.730 -> 0x03 0x01 0x02 0x03 0x04 0x05 0x06 0x07 Error Sending Message sndStat=6
11:06:01.948 -> 0x04 0x01 0x02 0x03 0x04 0x05 0x06 0x07 Error Sending Message sndStat=6
11:06:02.933 -> 0x05 0x01 0x02 0x03 0x04 0x05 0x06 0x07 Error Sending Message sndStat=6
11:06:04.011 -> 0x06 0x01 0x02 0x03 0x04 0x05 0x06 0x07 Error Sending Message sndStat=6
11:06:05.886 -> 0x07 0x01 0x02 0x03 0x04 0x05 0x06 0x07 Error Sending Message sndStat=6
On my MCP2515 the CAN-tranceiver-chip is a NXP TJA1050-chip.
As user @mikb55 has already mentioned the TJA1050 needs a minimum supply-voltage of 4.75V
I have read that the RP2040 is not 5V-tolerant.
I disconnected the MCP2515-board from the pico supplied the MCP2515-board with 5V and measured voltages on the Pins.
The interrupt-pin had 5V. So it is no option to supply the board with 5V.
What is strange is that with an Arduino Uno and the MCP2515-board supplied with 3.3V everything works as you can see in this picture of the DSO

If the MCP2515-board is completely DIS-connected the code reports
0x03 0x01 0x02 0x03 0x04 0x05 0x06 0x07 Message Sent Successfully!
Well if the MCP2515 is completely DIS-connected how can this be?
It seems that the error-checking of the library is rather poor.
Can you post a link / datasheet to that CAN-BUS-board that you are using?
best regards Stefan