OpenCAN is a software platform for interacting with various Controller Area Network (CAN or CANbus) devices. It provides an abstract C++ interface that can be used to control CAN devices. Support for specific devices can be written as plugins, and then loaded through a simple API call. Each component is cross-platform, enabling the efficient development of CAN software on Windows, Linux, and Mac OS X.