Я тут переписал старую как мир библиотеку под MCP2515 от SeedStudio
https://github.com/Seeed-Studio/CAN_BUS_Shield
Вот что вышло
https://github.com/autowp/CAN_BUS_Shield
А вот пример приложения на базе этой библиотеки:
https://github.com/autowp/can-usb - эмулятор CanHacker'а (lawicel).
Пока не работают только фильтры/маски.
Цель переписывания была в том, чтобы обеспечить безошибочную работу на высоких скоростях. С оригинальной библиотекой очень много потерь было. Переписанная тянет полный загруз UART на 115200 (эффективная скорость данных 87Кбит). Дальше не мерял, потому как это предел для программы, под которую делалось (CanHacker
http://www.mictronics.de/projects/usb-can-bus/ )
P.S.
Ах, да, забыл упомянуть, что я всё делаю на Arduino Nano.
На Arduino Uno у меня не заработало, потому что она слишком долго загружается и не успевает принять от CanHacker'а команду на подключение. Возможно с иным бутлоадером и заработает, но мне не очень хочется разбираться