CAN-Bus sheild int fail on any Arduino except Seeeduino

The CAN Shield uses SPI on pins 11-13 to talk to the Arduino. The Uno and other ATmega328 based Arduinos have SPI on pins 11-13 as well as the ICSP header. The Leonardo does not have SPI on pins 11-13, therefore initialization fails since there is no SPI connection to the MCP2515.

The mega also uses the ICSP header for SPI.

Try it on an Uno, Diecimila, or Duemilanove before assuming it does not work on other Arduinos as those are the pseudo-standard that a majority of shields were designed around.

arduino.cc/en/Reference/Board?from=Guide.Board