Our .h provided with the Arduino library provides a list of all implemented commands of the SMS protocol. Their function can be studied/reviewed in our datasheet pages   (pp. 27 onwards "Command Set" ). Please also find here our most recent Arduino library (works smoothly for most Arduino boards, tested Mega,m duemilanove, Uno, Micro, Leonardo).

"When we request "get absolute position" we get the absolute position of the shaft in ticks (1-32768)

Very Important: When issuing "get absolute position" we get the absolute position of the encoder. EVEN IF WE SHUT DOWN POWER from the SMS controller the rating will remain the same.

In opposite "get position" command when issued provides the information of how many ticks the shaft traveled after powering-up of the controller/motor, or after issuing "motor START" or "reset incremental position". It is very important that you can do odometry with our controller and MAGENC since SMS controller can return signed 64 bit numbers.


Big Difference with the "move to absolute position" command. This command can move the motor in absolute positioning when we start the position measurements. In example:

1. Motor Start (get Position=0)

2. move To Absolute Position 100000 ticks the motor will perform 100000 ticks

3.mTAP (moveToAbsolutePosition) 90000 ticks the motor will go (-10000 ticks) to the absolute 90000 ticks

4. If you are at 100000 ticks then you can go to 90000 ticks with two commands:

mTAP 90000 ticks or moveToRelativePosition (-10000)** ticks.

Ofcourse the correct command set is:



See as reference the attached .h (inside the zip file) for all available implemented commands.

Further concerning whether you need to reference zero position in every power up THIS IS TRUE but ofcourse Absolute Position of the encoder IS NOT CHANGING. So you can furnish your structure to be @ zero when it is at Absolute ZERO. Then issuing Absolute position MOVE commands will treat the movements with reference to the ZERO point when powered up. In several circumstances our solution "HOW TO INITIALISE A SMS SERVO AT A SELECTED ZERO POSITION" can provide helpful results (it is something like homing...).

Your feedback is always WELCOME @ support@01mechatronics.com or at our website 01mechatronics.com!


Your 01mech Team