ADI Trinamic motor controller driver (adi_tmcl)
- Software
- Robot arms and industry
- Driver or SDK
A ROS2 driver that controls ADI Trinamic motor controllers over CAN using the TMCL protocol, letting ROS2 nodes command velocity, position and torque of connected motors.
Made by Analog Devices, Inc..
Source on GitHub: github.com/analogdevicesinc/tmcl_ros2 (opens in a new tab). Facts read at commit d0adc86 (opens in a new tab).
Licenses
- Code
- BSD-3-Clause (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (BSD-3-Clause) at commit d0adc86 (opens in a new tab), on 22 Oct 2026.
- Commercial use
- Yes
What it does
- Communicates with the boards over CAN through SocketCAN, with one or more boards on one or more CAN channels.
- Publishes motor information such as board voltage, velocity, position and torque on per-motor topics.
- Subscribes to per-motor topics for velocity, absolute position, relative position and torque commands.
- Advertises services for custom TMCL commands and for reading all axis and global parameters.
- Includes launch files, helper scripts for CAN setup and quick motion tests for velocity, position and torque modes.
- Motors must first be calibrated and tuned with the vendor's TMCL-IDE software before use.
Written by Robotheca from the project's README (opens in a new tab) at commit d0adc86.
Getting started
- Difficulty
- Intermediate
- Hardware it needs, as the project states it
- Intel x86 64-bit (amd64) PC running Ubuntu 22.04 with ROS2 Humble; a supported Trinamic motor controller board, a CAN interface (such as a CAN USB cable with SocketCAN support) with 120 ohm termination resistors, and an external 24V power supply in the tested TMCM-1636 setup.
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Maintained: a commit in the last 12 months
- Newest commit
- 17 Dec 2025 on humble
- Latest release
- 2.1.0 (31 Jul 2025)
Checked on GitHub on 22 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.