socketcan_adapter
- Software
- Middleware
- Driver or SDK
A C++ SocketCAN driver library with a ROS2 wrapper, for connecting Linux systems to CAN buses in robotics applications.
Made by Polymath Robotics.
Source on GitHub: github.com/polymathrobotics/socketcan_adapter (opens in a new tab). Facts read at commit 3a963a8 (opens in a new tab).
Licenses
- Code
- Apache-2.0 (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit 3a963a8 (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
What it does
- Provides a standalone C++ SocketCAN library that has no ROS dependencies and can be used in non-ROS projects.
- Offers thread-safe operations with callback-based asynchronous message processing.
- Supplies configurable filters and error handling.
- Includes a ROS2 lifecycle node and launch files with parameter support, integrated with can_msgs.
- Includes a companion library for bridging Axiomatic CAN-ETH adapters, which can also route Ethernet traffic onto SocketCAN.
Written by Robotheca from the project's README (opens in a new tab) at commit 3a963a8.
Getting started
- Difficulty
- Intermediate
- Hardware it needs, as the project states it
- Linux with SocketCAN support, a C++17 compiler and CMake 3.8+; the ROS2 package needs ROS2 Humble or later and can_msgs. Hardware tests need a CAN interface, and a virtual CAN device can be used for testing without hardware.
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 12 Aug 2026 on main
- Latest release
- None published on GitHub
Checked on GitHub on 16 Oct 2026.
Links
Robots that can run it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.