The CANable is a small low-cost open source USB to CAN adapter. The CANable shows up as a virtual serial port on your computer and acts as a serial-line to CAN bus interface. With the alternative candleLight firmware, the CANable enumerates as a native CAN interface on Linux.
New: The CANable Pro is now available for purchase! The CANable Pro is a galvanically isolated version of the CANable with enhanced ESD protection and breakaway mounting holes. Find out more and order on the Protofusion store.
Check out the getting started page for more information on getting a CANable up and running.
Questions or comments? Email us at email@example.com.
CANables ship with slcan firmware. This firmware enumerates as a standard serial device on Linux, Mac, and Windows for easy interfacing. The CANable can be easily re-flashed with the candlelight firmware which enumerates as a native CAN device in Linux and a generic USB device in Windows.
On Linux the CANable works natively with slcand, so you can use all of the standard can-utils command-line utilities and even Wireshark to interact with the bus.
On Windows and Mac, the CANable works with cantact-app. This is a simple Java application that shows CAN traffic in real-time and allows you to transmit messages on the bus.
If you update to the candlelight firmware, the CANable shows up as a native CAN device with socketcan--no slcand required! Performance is higher than the serial-line firmware as slcand is bypassed entirely. With Linux and socketcan you can use all of the standard can-utils command-line utilities and even Wireshark to interact with the bus.
With candlelight on Windows and Linux you can use cangaroo to interact with a CAN bus, no drivers required. Cangaroo provides time and aggregate trace capability, as well as raw and repeated raw TX. Beta DBC file parsing is implemented, and is currently under development.
For even more flexibility, the canard library allows you to directly talk to the CAN bus from Python. The library is cross-platform and can connect directly to a CANable's virtual serial port interface or native socketcan interface. With only a couple lines of code you can decode traffic on the bus, send messages, and more.
Check out the getting started page for more information.