Skip to content

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.

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.

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.