IRI EPOS2 library


This is a driver for Maxon EPOS2 Motor Controller for linux

This class is a low level driver to use Maxon Motor EPOS2 Controller under Linux. It is tested in EPOS2 50/5 using firmware Epos_2110h_6322h_0000h_0000h.bin. All hardware call values in this software are from the document EPOS2 Firmware Specification of December 2008 Edition - document number 821384-02.

It is implemented to use with one unique controller and adds other useful features to simplify some tasks, such as profile setting.

Not all member functions are implemented, but almost all of them are already defined.

For the communication through USB port, CFTDI Class has been used.


This class implements basically velocity, profile_velocity and profile_position. Other modes are not implemented , neither CAN communication, SDO and PDO functions of the controller nor Segmented Read / Write.



This driver requires of the following libraries and packages

Under linux all of these utilities are available in ready-to-use packages.

IRI sources

IRI Utilities

svn checkout svn+ssh://

IRI Communication

svn checkout svn+ssh://

IRI EPOS2 Library

svn checkout svn+ssh://


Download and install all pre-requisites from websites/repositories.

To build the library (placed in ./lib) and obtain the executables (placed in ./bin) just type in EPOS2 /build directory:

cmake .

To generate the documentation (placed in ./doc) type:

make doc

To install the library into system folders

sudo make install

Cmake only needs to be executed once (make will automatically call cmake if you modify one of the CMakeList.txt files).

The files in the build directory are genetated by cmake and make and can be safely removed. After doing so you will need to call cmake manually again.

Using FTDI without sudo: In a terminal, copy the file into the system folder (from project root):
sudo cp doc/91-epos2.rules /etc/udev/rules.d/.
Take into account that if another rule has got the same number already you'll need to rename the file with another rule number (example):
sudo cp doc/91-epos2.rules /etc/udev/rules.d/97-epos2.rules


To build a new application using these library, first it is necessary to locate if the library has been installed or not using the following command in cmake:


In the case that the package is present, it is necessary to add the header files directory to the include directory path by using


Finally, it is also nevessary to link with the desired libraries by using the following command


Also do it for utilities and communications libraries.


This package is licensed under a LGPL 3.0 License.


This is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see

Author(s): Martí Morta Garriga , Jochen Sprickerhof
autogenerated on Mon Jul 22 2019 03:19:01