Protocols are the language of our products



To use our products you need to speak their language. The simplest language is to toggle a pin between low and high (e.g. Step/Direction). For a more complex communication you have to set or read registers over a digital interface. This is how our ICs usually communicate.

To improve convenience and readability, we created the Trinamic Motion Control Language (TMCL™). It’s a mix between a protocol and a programming language and is supported by most of our system-level products.

CANopen is a standard for communicating motion control applications in the automation industry. We support this standard with a growing class of ICs, modules, and PANdrives.

Trinamic Motion Control Language

The Trinamic Motion Control Language (TMCL™) is dedicated to motion control. It uses simple commands for positioning and setting all the relevant parameters of the motion controller to accelerate application development.

With a very motion control oriented command set like rotate right (ROR), rotate left (ROL), or move to position (MVP), TMCL™ lets you put any motor connected to a module into service within minutes of unboxing. At the same time, it offers a comprehensive command set for all the necessary motor control parameters.

TMCL™ is available for all Trinamic board-level solutions and for PANdrive. It may be used as a standalone script language, on a module or as a communications protocol optimized for motion control applications with a host PC or PLC. The protocol is available for USB and field buses like RS232, RS485 and CAN.

TMCL™ provides a set of structured motion control commands that can be given by a host computer or can be stored in the module to form programs that run standalone. There are motion control commands and commands to control the program structure (like conditional jumps, compare and calculate). So, TMCL™ forms a powerful language that can either be used to control a module directly from a host (direct mode) or to program applications that run on a standalone module.

Every command has a binary representation and a mnemonic. The binary format is used to send commands from the host to a module in direct mode. The mnemonic format is used for developing standalone TMCL™ applications using the TMCL-IDE (Integrated Development Environment).

There is also a set of configuration variables for every axis and for global parameters which allow individual configuration of nearly every function of a module.

More information about TMCL™ and TMCL-IDE can be found at Support - Software & Tools.



CANopen™ is a communication system. It comprises of higher-layer protocols and profile specifications, and has been developed as a standardized embedded network with highly flexible configuration capabilities. It was designed originally for motion-oriented machine control systems, such as handling systems of medical equipment, or building automation.

CANopen™ unburdens the system from dealing with CAN hardware-specific details such as bit timing and acceptance filtering. It provides standardized communication objects (COB) for time-critical processes and configuration as well as network management data.

Standardized CANopen™ devices and application profiles simplify the task of system integration. This requires not only compatible communication systems, but also interoperability and interchangeability. CANopen™ device, interface, and application profiles enable standardized interfaces to achieve devices with "plug-and-play" capability in CANopen™ networks.

Nevertheless, CANopen™ allows implementing manufacturer-specific functionalities. Trinamic products are designed to fulfill the CANopen™ DS402 and DS301 standards, but also to support our unique features like stallGuard™ or coolStep™ via CANopen™.

Trinamic is a member of the CAN-CiA, an international users’ and manufacturers’ group that develops and supports CANopen™ and other CAN-based higher-layer protocols. The nonprofit group was founded in 1992 to provide CAN-based technical, product and marketing information.