MKR CAN Shield SPI bus incompatible with most Arduino controllers

Finally tracked down an issue of intermittent communications between a Nano EVERY controller board an a MKR CAN shield.

The Nano EVERY controller, like almost all Arduino controller boards, uses +5V signalling on the SPI bus, whereas the MKR CAN shield has it's CAN controller SPI chip (MCP2515) powered from the +3.3V rail. This makes the SPI bus signals close, but not guaranteed to meet the correct input voltages for ViH back to the controller and in fact, overdrives the inputs into the MPC2515 chip (possibly damaging it).

I modified the MKR CAN shield to strap +5V power to the MCP2515 chip (which can take 2.7V to 5.5V Vcc) and now it works 100%.

Heads up to all.....AA

The MKR CAN Shield was designed for use with the Arduino MKR Boards, all of which are 3.3 V boards. I think it is not so common to use one on a Nano board, since you lose the convenience of plugging it in to the board. Of course, they can be used on any board with a bit of efforts to make the connections, but you will definitely want make sure to handle the logic level compatibilities carefully when using any of the MKR Shields on a 5 V board.

Although it's almost surely correct to use the term "most" when referring to the total number of units in existence, it is increasingly not so when referring to the number of official board models