
MICRONIX USA, LLC
www.micronixusa.com
Table of Contents
1. Introduction ........................................................................................................................................... 1-3
1.1 Product Description 1-3
1.2 Features 1-4
1.3 Package Contents 1-4
2. Quick Start Guide .................................................................................................................................. 2-4
2.1 Quick Start Guide Overview 2-4
2.2 Quick Start MMC-100 Motion Controller Platform 2-6
2.3 Using the MMC-100 Motion Controller Platform 2-7
3. Technical Information ........................................................................................................................... 3-8
3.1 MMC-200 Specifications 3-8
3.2 Serial Port Setup 3-8
3.3 RJ11 RS485 Bus 3-8
4. Operation ............................................................................................................................................... 4-9
4.1 Axis Addressing 4-9
4.2 Feedback Control 4-10
4.3 HOM, MLN, and MLP 4-10
5. Commands .......................................................................................................................................... 5-11
5.1 Command Line Syntax 5-11
5.2 Command Line Format 5-11
5.3 Global Commands 5-12
5.4 Multiple Parameters 5-12
5.5 Synchronous Move 5-12
5.6 Internal Programming 5-12
5.7 Terminating Characters 5-12
5.8 Summary of Commands 5-13
5.9 Command Descriptions 5-15
5.10 Error Messages 5-90
6. Appendix ............................................................................................................................................. 6-94
6.1 Encoder Input Pin-out 6-94
6.2 Motor Pin-out 6-94
6.3 8-Pin Din IO connector 6-94
6.4 RS-485 Intermodular Connector Cable Pin-out 6-95
6.5 Firmware 6-95

MICRONIX USA, LLC
www.micronixusa.com
Maximum Allowable
Acceleration
Synchronous Move – Absolute
Synchronous Move – Relative
Select Encoder Resolution
Set Open or Closed Loop Mode
Negative Soft Limit Position
Positive Soft Limit Position
Jog Acceleration and
Deceleration
Positive/Negative Limit Location

MICRONIX USA, LLC
www.micronixusa.com
1. Introduction
1.1 Product Description
The MMC-200 is a high-performance integrated stepper motor controller/driver designed to be
used as a standalone single axis unit, or stacked as a compact multi-axis module. The MMC-200 is
capable of driving a stepper motor with a resolution as fine as 4096 microsteps per fullstep in open
loop. The closed loop resolution is dependent on the resolution of the encoder (typically 50 nm).
1. LED Error Indicator 1
a. Red – An error has occurred
2. LED Addressing Indicator 2
a. Orange – Controller is Unaddressed
b. Green – Controller has an address and is ready
3. Encoder Input, Male D-Sub 9 Pin Connector
4. Motor/Axis Output, Female D-Sub 9-Pin Connector
5. Power Supply, +24VDC, Regulated
6. RS485 Intermodular Connector
7. USB Connector
8. I/O Connector

MICRONIX USA, LLC
www.micronixusa.com
1.2 Features
• Integrated controller/driver for stepper motors
• Compact, modular design allows for bench-top or standard 2U height rack mounting
• Configurable as a standalone unit or stackable up to 16 axes
• Open loop/closed loop operation
• Open loop resolution of 4096 Micro steps per full step*
• Closed loop resolution dependent on the encoder (typically 50 nm)
• A quad B encoder feedback
• USB interface (one interface for up to 99 axes)
• Windows GUI and LabVIEW VI
1.3 Package Contents
If product is damaged or there are missing components, contact MICRONIX USA immediately. Do not
discard product packaging in case of return shipment.
Package Contents:
• MMC-200 Controller
• User Manual
• Supplemental CD
• Power Cable
2. Quick Start Guide
2.1 Quick Start Guide Overview
The following Quick Start Guide is intended to provide a basic set-up of the MMC-200 in the least
amount of time. The following paragraphs will provide a walkthrough of the steps needed to setup the controller and verify that the system is working correctly.
1. Install Drivers
a. To ensure correct communication between the module and PC, install the proper
drivers onto the communicating computer prior to connecting the MMC-200.
b. The drivers may be found on the supplemental installation CD or can be downloaded
from: http://www.ftdichip.com/Drivers/VCP.htm
2. Connect Motion Devices
a. A single MMC-200 controller is capable of driving one stepper motor in either open or
closed loop.
b. Connect the male D-sub 9-pin stepper motor cable to the Motor/Axis Input (as shown
in the Product Description).
c. If applicable, connect the female D-sub 9-pin closed loop feedback cable to the
Encoder Input.
*This value is theoretical actual value with vary depending on the attached stepper motor.
3. Connect Module/Stack to PC
a. Use the supplied Mini USB to USB cable to connect the MMC-200 controller to the
communicating PC. Only one USB cable is required per module/stack.

MICRONIX USA, LLC
www.micronixusa.com
4. Power Up Controller
a. Connect the controller to a 24V, regulated power supply with the correct amperage
rating.
b. Each MMC-200 requires 1A. If powering a stack; add up the amperage requirements
of the individual controllers to determine the necessary power supply for the stack.
5. Check COM Port
a. It is necessary to note the COM Port assigned to the MMC-200 when connecting to a
PC.
i. In Windows Vista Open the Device Manager:
1 Windows Logo (in the bottom left corner by default)
2 Control Panel
3 Device Manager
ii. In Window XP Open Device Manager:
1 Start (in the bottom left corner by default)
2 Control Panel
3 System
4 select the Hardware tab
5 Click the device manager button
iii. In Windows 7 Open the Device Manager:
b. After powering up the controller (Step 4), note the USB Serial Port assigned. See the
figure below showing a snapshot of the Device Manager window:
6. Continue to Quick Start MMC-100 Motion Controller Platform
a. The following section will help you get running with the MMC-100 Motion Controller
Platform program.
Connected MMC-200
is assigned to COM4

MICRONIX USA, LLC
www.micronixusa.com
2.2 Quick Start MMC-100 Motion Controller Platform
The following Quick Start Guide is intended to provide a basic set-up of the MMC-100 MCP
program. The MMC-200 can be run with the MMC-100 MCP though some commands will not show
up in the settings tab; you will be able to access the full functionality of the MMC-200 with the
MMC-100 MCP. The following paragraphs will provide a walkthrough of the steps needed to install
the program and verify that the system is working correctly.
1. Pre-Installation
a. This guide assumes you have already run through the previous Quick Start guide and
that the controller is on and connected to a Com port on your computer. Please verify
that this is true.
b. You will need the .NET Framework 4.0. If you are unsure if you have the .NET Framework
4.0 follow these steps.
i. Open the start menu (windows icon if using Vista).
ii. Open the Control Panel
iii. Open "Add or Remove Programs" ("Programs and Features" if using Vista)
iv. Scroll through the list and find “Microsoft .NET Framework” If it is 4.0 skip to step-
2. Otherwise continue with step c.
c. To install the .NET Framework 4.0 you will need a connection to the internet.
i. Navigate to this site:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9cfb2d51-5ff44491-b0e5-b386f32c0992&displaylang=en
ii. Download and run the web installer
iii. At the conclusion of this install you will be asked to restart your computer. Do
this now.
2. Install
a. To install the MMC-100 motion controller platform double click the setup.exe file on the
supplied CD and follow the on screen instructions.
3. Run
a. The installer placed a start menu short-cut to the MMC-100 MCP program. Make sure
that your MMC-200 is connected to your computer, powered on, and connected to a
valid COM port as discussed in section 2.1
b. Open the start menu (or windows icon for vista)
c. Open the ‘all programs’ tab
d. Open the MICRONIX USA folder
e. Run the MMC-100 MCP program

MICRONIX USA, LLC
www.micronixusa.com
2.3 Using the MMC-100 Motion Controller Platform
In the Quick Start Guide Overview you connected your MMC-200 to your computer. In the Quick Start
MMC-100 Motion Controller Platform you installed and ran the MMC-100 MCP software. This section will
describe the capabilities of the MMC-100 MCP program and give you a brief understanding of how to
use it.
1. Port Control – The picture below depicts the program when the Port has been opened
a. Select the COM port associated with your MMC-200 as discussed in section 2.1,
step 5.
b. Click the Open Port button to connect to the MMC-200
i. This button should change giving you the option to close the port

MICRONIX USA, LLC
www.micronixusa.com
c. The Port field should change to indicate the Port is Open
and the terminal should populate with some information about the system and then turn
blank. You are now ready to start moving a stage with your MMC-200. For more information
about this program see the MMC-100 MCP program guide.
2. More information – more information about the MMC-100 MCP can be found in the MMC-100 MCP
program guide.
3. Technical Information
3.1 MMC-200 Specifications
1 (stackable up to 99 axes)
Trapezoidal velocity profile
Regulated 24V DC (1A per module/axis*)
MMC-200 MCP, LabVIEW VI’s
*A single power supply may be used per stack. Each module/axis requires 1A maximum depending on the
type of motor it is driving, therefore add up Individual module amperages to determine the power supply
amperage requirement.
3.2 Serial Port Setup
If the MMC-200 is not automatically recognized by your computer, you will have to first install the
FTDI interface drivers before communicating with the controller. The drivers are supplied on the
supplemental CD under the folder MMC-200 Drivers or can be downloaded from:
http://www.ftdichip.com/Drivers/VCP.htm
Below are the virtual RS-232 configuration settings necessary for correct communication setup:
3.3 RJ11 RS485 Bus
The RS485 Intermodular RJ11 connector connects directly to the same Serial bus as the FTDI interface
above. The RS485 line needs a terminating resistor of 22kΩ or higher. This connector can be used to
communicate with the MMC-100 in the place of the USB connection. For more on the RS-485
Intermodular RJ11 connector see the Appendix 6.4.

MICRONIX USA, LLC
www.micronixusa.com
4. Operation
4.1 Axis Addressing
Auto Addressing is the default method of assigning axis numbers on start up. Controllers are
automatically assigned axis numbers on every power up, starting with axis 1 and increasing
consecutively until reaching axis 99.
Manual axis numbers may be assigned to a unique controller using the ANR Command. This
overrides Auto Addressing, as the controller stores the axis number until reassigned or reset back
to Auto Addressing. In the case of having a mix of manually assigned and auto addressed
controllers, the Auto Addressed axis numbers increase consecutively after each manually
assigned axis in the stack. For example; in a stack of 5 controllers with the third controller manually
assigned to axis 10, the axis numbers will read: 1, 2, 10, 11, 12
If two controllers are accidentally assigned the same axis number, use a global command to reset
all controllers back to Auto Addressing.
The figures shown below illustrate axis numbers for a 5 module stack with Auto Addressing
assigned. Axis 1 is noted and shown in grey.
Horizontal stack (rear view)
With power inputs along bottom, Axis
1 is on the far left.
Vertical stack (rear view)
With power inputs along left hand
side, Axis 1 is on the very top.

MICRONIX USA, LLC
www.micronixusa.com
4.2 Feedback Control
The MMC-200 has four different movement modes of operation. When executing a move command,
the controller will drive a stage differently when set to different modes. The FBK command is used to
switch between these modes.
The first mode (nFBK0) is a traditional Open Loop. It follows a standard trapezoidal velocity
characteristic. It bases the transition between acceleration, constant velocity and deceleration on
counting steps of the stepper motor. This requires the FSR, LSP, and GRR settings to be correctly set for
the attached motor. This feature is only available in firmware version 1.3.1 and higher.
The second mode (nFBK1) is a version of closed loop; meaning it takes position data from an attached
encoder and uses it to ensure that it stops at the desired position. In this mode, the controller operates
in open loop, but makes small open loop corrections to adjust the end position to within the deadband
(DBD).
The third mode (nFBK2) is a version of closed loop; meaning it takes position data from an attached
encoder and uses it to ensure that it stops at the desired position. In this mode the controller runs in the
first open loop mode (nFBK0) until it reaches the deceleration point. At this point it activates the PID and
actively corrects its trajectory to arrive at the correct position. This, unlike the first two modes can
guarantee position within the specified deadband (DBD Command). However, this mode cannot
guarantee a desired trajectory.
The fourth mode (nFBK3) is not applicable on the MMC-200.
4.3 HOM, MLN, and MLP
The HOM command all requires the attached stage to have an encoder. The MLN and MLP commands
require either an attached encoder, or limit switches. HCG, LCG, LDR and LPL are all commands that
affect the operation of either HOM or MLN and MLP. The HOM command will move negative direction
by default. This can be changed using the HCG command. If the stage is above the index, it will move
until it reaches the index then move a predetermined distance out of the index in the negative
direction. The stage will then travel in the positive direction at a slower speed stopping at the edge of
the index. If the stage is below the index it will move until it reaches a hard limit or the maximum travel. It
then reverses direction and proceeds until it reaches the index. It will then travel a predetermined
distance out of the index in the negative direction and finally travel toward the index at a slower
velocity finally resting on the edge of the index. The HOM command will always home to the negative
side of the limit.

MICRONIX USA, LLC
www.micronixusa.com
5. Commands
5.1 Command Line Syntax
There are three components to every command prompt. The first is the “Axis Number” which
designates which controller, or axis, will receive the command. If the “Axis Number” is 0, then the
command will be sent globally to all connected controllers. It is possible to connect up to 99
controllers; therefore the “Axis Number” will be an integer value from 0 through 99.
The second component is the “Command”, which is always comprised of three letters. Each
command is outlined, along with its corresponding parameters, in the Command Description
section 5.9 of this manual.
The third and final component is the “Parameter”. This portion is command dependent, meaning
that the parameter value will change depending on the specific requirements of the “Command”.
Where applicable, a question mark (?) may be substituted to initiate a read operation which will
return information regarding the particular command. There may be up to three separate
parameters for a particular command, each parameter value is separated by a comma (,).
All white space (blank spaces) are ignored in the command format. The following are examples of
equivalent commands:
4TRM13,45
4 TRM 13 , 45
5.2 Command Line Format
Commands are first executed in the order that they are input, then line by line. This means that
two commands on the same line are executed significantly closer to each other than if they were
on two separate lines. Each command is separated by a semicolon (;) and every command line
ends in a terminator (EX: carriage return). The following is an example of a command line entry:
1MVR16;3MVR12 |Axis 1, Move 16 mm [16 degrees]; Axis 3, Move 12 mm [12 degrees]
Using multiple commands on the same command line allows for synchronization of different
commands to different axes. Up to 8 commands are allowed per command line.
Only one read operation is allowed per line. The controller will not send information unless
requested to do so by a read operation.

MICRONIX USA, LLC
www.micronixusa.com
5.3 Global Commands
Some commands have the option of being called globally. This means that you can send the same
command to all available axes. To do this, replace the axis number of a global command with a
‘0’. For example; 0ACC 50 will set the acceleration of all available axes to 50 mm/s2 [degrees/s
2
].
5.4 Multiple Parameters
When dealing with a command that has multiple parameters, it is possible to change a single
parameter by omitting numbers for the parameters that will remain unchanged. For example;
4PID,,3 will only change the third parameter to a new value, “3”.
5.5 Synchronous Move
It is possible to move multiple motion devices at the same time, or extremely close to, by setting up and
executing a synchronous move. To set up a synchronous move, use the MSA and MSR commands on
the same command line (up to 8 allowed) or on separate lines followed by a line terminator. To execute
the move, use the RUN command on the proceeding command line followed by a line terminator. For
example;
1MSA4;2MSA4;3MSA4 |Axis 1, Move 4mm; Axis 2, Move 4mm; Axis 3 Move 4mm
0RUN |Run Synchronous Move
Or
1MSA4 |Axis 1, Move 4mm
2MSA4 |Axis 2, Move 4mm
3MSA4 |Axis 3 Move 4mm
0RUN |Run Synchronous Move
5.6 Internal Programming
A program may be used to save time when repeatedly using a sequence of commands. Each
controller or axis must be programmed individually; however, multiple controllers may execute the
same program at the same time. A list of available program numbers may be viewed with the
PGM? command. Existing program numbers cannot be overridden unless previously erased using
the ERA command.
To record a program sequence, enter the PGM command on a unique line followed by a line
terminator. End a program sequence by entering the END command on a unique line followed
by a line terminator. When you want to execute this program, use the EXC command. See the
Summary of Commands page for a list of program compatible commands and more information
about the PGM, END and EXC commands.
5.7 Terminating Characters
When communicating with the controller, it is necessary to note the terminating characters
involved in transmitting and receiving data. To send data to the controller, enter the desired
commands in the command line followed by the new line and carriage return terminating
characters [\n\r], or just the carriage return terminating character [\r]. When receiving, each line
of data will be followed by the new line terminating character [\n] and the final line will end in
the new line and carriage return terminating characters [\n\r]. The Hexadecimal value for new
line [\n] is 0X0A and for carriage return [\r] is 0X0D. The following is an example of data
transmission:
1VEL0.005 \n\r |Axis 1, Set velocity to .005 mm/s [degrees/s
2
] [New line, Carriage Return]

MICRONIX USA, LLC
www.micronixusa.com
Maximum Allowable Acceleration
Select Encoder Resolution
Set Open or Closed Loop Mode
Jog Acceleration and Deceleration
Positive/ Negative Limit Location

MICRONIX USA, LLC
www.micronixusa.com
Continued…
see ANR command page 18 for more info
Synchronous Move – Absolute
Synchronous Move – Relative
Negative Soft Limit Position
Positive Soft Limit Position

MICRONIX USA, LLC
www.micronixusa.com
This command is used to set the desired acceleration for the
specified axis, distinct from the deceleration [DEC]. The
acceleration value must be less than the maximum acceleration
[AMX] for the command to be accepted.
A read operation returns the acceleration value in mm/s2 for the
specified axis.
nACCx – Standard syntax
nACC? – Read acceleration value
0ACCx –All axes set acceleration value
Error [#]:
ACC? – Read operation with missing axis number [27]
nACC – Missing acceleration parameter [28]
n[int] – Axis number
x[float] – Acceleration
? – Read acceleration value
n – 0 to 99
x – 000.001 to AMX (500.000 mm/s
2
[degrees/s2])
3ACC0.250 |Axis 3, Set acceleration to 0.25mm/s
2
[degrees/s2]
4ACC? |Axis 4, Read acceleration value

MICRONIX USA, LLC
www.micronixusa.com
Maximum Allowable Acceleration
This command is used to set the maximum allowable
acceleration for the specified axis.
A read operation returns the maximum allowable
acceleration value in mm/s2 for the specified axis.
nAMXx – Standard syntax
nAMX? – Read maximum allowable acceleration value
0AMXx – All axes set maximum allowable acceleration value
Error [#]:
AMX? – Read operation with missing axis number [27]
nAMX – Missing maximum acceleration parameter [28]
n[int] – Axis number
x[float] – Maximum acceleration
? – Read maximum allowable acceleration value
n – 0 to 99
x – 000.001 to 500.000 mm/s
2
[degrees/s2]
2AMX1.500 |Axis 2, Set max acceleration to 1.500
mm/s
2
[degrees/s2]
6AMX? |Axis 6, Read max acceleration value

MICRONIX USA, LLC
www.micronixusa.com
This command is used to override Auto Addressing by manually
assigning an axis number to a controller. Auto Addressing is the
default method of assigning axis numbers on power up and may
be reassigned to an axis by substituting a “0” for the parameter
value. Simultaneous axis swapping is possible by using multiple ANR
commands on the same command line.
This command can be called globally by specifying a ‘0’ for the
axis number; however it will only work if the new axis number
parameter is set to ‘0’ for auto-addressing.
A read operation returns the following axis number values for the
specified axis:
0 – Auto Addressing assigned (default)
1-99 – Manually assigned, axis number displayed
nANRx – Standard syntax
nANR? – Read axis number value
Error [#]:
ANR? – Read operation with missing axis number [27]
nANR – Missing new axis number parameter [28]
ANRx – Missing axis number [30]
n[int] – Axis number
x[int] – New axis number, 0 for Auto Addressing
? – Read axis number value
5ANR1;1ANR5 |Simultaneous axis swapping: Axis 5, Set to axis 1;
Axis 1, Set to axis 5
4ANR0 |Axis 4 , Set to Auto Addressing. However it will
remain axis 4 until the MMC-200 is reset

MICRONIX USA, LLC
www.micronixusa.com
This command is used to clear all error messages without reading
them.
A read operation cannot be used with this command.
nCER – Standard syntax
0CER – All axes clear error messages
n – 0 to 99
Related Commands:
1CER | Axis 1, clear error messages
–
0CER | All axes, clear error messages

MICRONIX USA, LLC
www.micronixusa.com
This setting determines whether the system resolution is calculated
from the LSP, GRR, FSR settings (CFG == 0), or if it is entered directly
by the user (CFG==1).
0 – Resolution is automatically calculated
1 – Resolution is set manually by the user
nCFGx – Standard syntax
nCFG? – Read configuration setting
0CFGx – Set all axes to configuration x
Error [#]:
CFG? – Read operation with missing axis number [27]
nCFG – Missing Configuration parameter [28]
n[int] – Axis number
x[int] – Configuration Mode
? – Read Configuration Mode
1CFG0 |Axis 1, resolution automatic configuration
5CFG1 |Axis 5, resolution manual configuration

MICRONIX USA, LLC
www.micronixusa.com
This command is used to change the correction sample
time. Sample rate = 5kHz/CST. This term is only used the FBK
modes 1. This feature only available in firmware version
1.3.1 and higher.
The time value for the correction sample period
nCSTx – Standard syntax
Error [#]:
CSTx – Missing axis number [30]
n[int] – Axis number
x[float] – Sample time
? – Read correction sample time
n – 1 to 99
x – 1 to 5000
2CST1 |Axis 2, Set correction sample time to 1]

MICRONIX USA, LLC
www.micronixusa.com
This command is used to change the correction velocity.
This term is only used the FBK modes 1. This feature only
available in firmware version 1.3.1 and higher.
The value for the correction velocity
nCVL – Standard syntax
Error [#]:
CVLx – Missing axis number [30]
n[int] – Axis number
x[float] – Correction velocity
? – Read correction velocity
n – 1 to 99
x – 000.001 to VMX [default: 50 µm /s]
2CVL1 |Axis 2, Set correction velocity to 1]

MICRONIX USA, LLC
www.micronixusa.com
This command is used to read trace data from a specified axis
initially recorded by the trace command [TRA]. The retrieved trace
data set is dumped from the controller, consequently allowing the
data to be retrieved only once.
A read operation returns the trace data values for the specified
axis in the following format:
[Theoretical Position (.5nm)],[Actual Position(.5nm)], [DAC Sin],
[DAC Cos]
nDAT? – Read trace data values
Error [#]:
DAT? – Read operation with missing axis number [27]
nDAT – Missing read operation parameter [28]
n[int] – Axis number
? – Read trace data values
n – 1 to 99
Related Commands:
11DAT? |Axis 11, Read trace data values

MICRONIX USA, LLC
www.micronixusa.com
This command is used to set the acceptable deadband and
deadband timeout values.
Deadband refers to the number of encoder counts (±) from the
target that is considered acceptable. If the parameter (x1) is set to
“0”, the controller will continuously oscillate around the target.
Deadband timeout refers to the amount of time that the controller
will try to move into the deadband area. If the parameter (x2) is
set to “0”, the controller will seek continuously.
A read operation returns the deadband and deadband timeout
values for the specified axis.
nDBDx1,x2 – Standard syntax
nDBD? – Read deadband and deadband timeout values
0DBDx1,x2 – All axes set deadband and deadband timeout values
Error [#]:
DBD? – Read operation with missing axis number [27]
nDBD – Missing deadband and deadband timeout parameter
values [28]
n[int] – Axis number
x1[int] – Deadband
x2[float] – Deadband timeout
? – Read deadband and deadband timeout values
n – 0 to 99
x1 – 1 to 999 encoder counts,
x2 – 0 for infinite, Seconds (default 0)
1DBD10,1 |Axis 1, Set deadband to 10 encoder counts
& deadband timeout to 1 second
4DBD5,0 |Axis 4, Set deadband to 5 encoder counts &
deadband timeout to infinite

MICRONIX USA, LLC
www.micronixusa.com
This command is used to set the desired deceleration for the
specified axis, distinct from the acceleration [ACC]. The
deceleration value must be less than the maximum acceleration
value [AMX] for the command to be accepted.
A read operation returns the deceleration value in mm/s2 for the
specified axis.
nDECx – Standard syntax
nDEC? – Read deceleration value
0DECn – All axes set deceleration value
Error [#]:
DEC? – Read operation with missing axis number [27]
nDEC – Missing deceleration parameter [28]
n[int] – Axis number
x[float] – Deceleration
? – Read deceleration value
n – 0 to 99
x – 000.001 to AMX (500.000 mm/s
2
) [degrees/s2]
2DEC1.25 |Axis 2, Set deceleration to 1.25 mm/s
2
[degrees/s2]
7DEC? |Axis 7, Read deceleration value

MICRONIX USA, LLC
www.micronixusa.com
This command restores the factory default parameters.
A read operation is not available with this command.
nDEF – Standard syntax
Error [#]:
DEF – Missing axis number [30]
n – 1 to 99
Related Commands:
1DEF |Axis 2, Set default parameters]

MICRONIX USA, LLC
www.micronixusa.com
This command is used to change the Derivative sample
time. Sample rate = 5kHz /IST. This term is only used the FBK
modes 2 and 3. This feature only available in firmware
version 1.3.1 and higher.
The time value for the Derivative sample period
nDST – Standard syntax
Error [#]:
DST – Missing axis number [30]
n[int] – Axis number
x[int] – Derivative sample time
? – Read derivative sample time
n – 1 to 99
x – 1 to 5000
2DST1 |Axis 2, Set Derivative sample time to 1]

MICRONIX USA, LLC
www.micronixusa.com
This command is used to change derivative Term gain.
Dterm*DTG, Strengthens the effect of the dTerm. This term is only
used the FBK modes 2 and 3. This feature only available in firmware
version 1.3.1 and higher.
The time value for the correction sample period
nDTGx – Standard syntax
Error [#]:
DTGx – Missing axis number [30]
n[int] – Axis number
x[int] – derivative gain
? – Read derivative gain value
n – 1 to 99
x – 1 to 5000
2DTG1 |Axis 2, Set Derivative gain term to 1]

MICRONIX USA, LLC
www.micronixusa.com
This command is used to set the desired encoder resolution for the
specified axis. When a digital encoder is connected, encoder
resolution is determined by the encoder itself. Analog encoder
resolution can be set by the controller.
A read operation returns the encoder resolution value for the
specified axis.
nENCx – Standard syntax
nENC? – Read encoder resolution value
0ENCx – All axes execute encoder resolution value
Error [#]:
ENC? – Read operation with missing axis number [27]
nENC – Missing encoder resolution parameter [28]
n[int] – Axis number
x[float] – Encoder resolution
? – Read encoder resolution value
n – 0 to 99
x – 0.001 to 999.999 µm/count (milli-degrees/count)
2ENC10 |Axis 2, Set encoder resolution to 10 microns/count
(10 milli- degrees/count)

MICRONIX USA, LLC
www.micronixusa.com
This command is used to exit out of program recording mode,
which is initiated by the PGM command. The END command must
be placed separately on the last line of the program sequence.
The resulting program is saved upon exit for later use.
A read operation is not available with this command.
nEND – Standard syntax
Error [#]:
END – Missing axis number [30]
n – 1 to 99
Related Commands:
1PGM |Axis 1, Begin program recording
1VEL1;1ACC.5 |Axis 1, Set velocity value to 1 mm/s; Axis 1, Set
acceleration value to 0.5 mm/s2 [degrees/s2]
1END |Axis 1, End program recording

MICRONIX USA, LLC
www.micronixusa.com
This command is used to switch the encoder signal polarity for the
specified axis. If the controller doesn’t seem to be recording
encoder position correctly, the polarity of the encoder signals
could be reversed. Use this command to switch from the default
setting (normal operation, n=0).
A read operation returns the following encoder polarity values for
the specified axis:
0 – Normal operation
1 – Reverse operation
nEPLx – Standard syntax
nEPL? – Read encoder polarity value
0EPLx – All axes execute encoder polarity value
Error [#]:
EPL? – Read operation with missing axis number [27]
nEPL – Missing encoder polarity parameter [28]
n[int] – Axis number
x[float] – Encoder polarity
? – Read encoder polarity value
n – 0 to 99
x – 0 for normal operation, 1 for reverse operation
13EPL0 |Axis 13, Set encoder polarity to normal
operation
6EPL1 |Axis 6, Set encoder polarity to reverse operation

MICRONIX USA, LLC
www.micronixusa.com
This command is used to erase a specified program from an axis.
Before recording a program, use the LST command to see what
program numbers are available for that axis. There are 16 program
numbers available allowing up to 16 programs to be stored. An
existing program cannot be overwritten and must be erased first.
Therefore, use this command to erase the specified program and
make space for a new one.
A read operation is not available with this command.
nERAx – Standard syntax
Error [#]:
ERAx – Missing axis number [30]
nERA – Missing program number parameter [28]
n[int] – Axis number
x[int] – Program number to be erased
5ERA4 |Axis 5, Erase program 4

MICRONIX USA, LLC
www.micronixusa.com
This command is used to change the error gain. This term is only
used the FBK modes 2 and 3. This feature only available in firmware
version 1.3.1 and higher.
The gain value for the PID error
nCST x – Standard syntax
Error [#]:
ERGx – Missing axis number [30]
n[int] – Axis number
x[int] – Error Gain
? – Read error gain value
n – 1 to 99
x – 1 to 50000
2ERG1 |Axis 2, Set Error Gain to 1]

MICRONIX USA, LLC
www.micronixusa.com
This command is used to read and clear any pending error
messages. See the error table on page 5-91 to 5-94
A read operation returns a list of error messages for the specified
axis in the following format. “AAA” signifies the specific command
name that the error corresponds to.
Error Number – Description [AAA]
nERR? – Standard syntax
Error [#]:
ERR? – Read operation with missing axis number [123]
n[int] – Axis number
? – Read error messages
n – 1 to 99
Related Commands:
3ERR? | Axis 3, Read error messages

MICRONIX USA, LLC
www.micronixusa.com
This command is used to stop a specific axis or all connected axes
simultaneously in case of an emergency. The controller executes
the largest possible deceleration.
A read operation is not available with this command.
nEST – Standard syntax
0EST – All axes execute emergency stop
n – 0 to 99
Related Commands:
8EST |Axis 8, Emergency stop
0EST |All axes, Emergency stop

MICRONIX USA, LLC
www.micronixusa.com
This command is used to execute a specified program for one or
multiple axes. If executing a program globally, all connected axes
should have individual programs stored under the specified
program number prior to execution.
A read operation is not available with this command.
nEXCx – Standard syntax
0EXCx – All axes execute program
Error [#]:
nEXC – Missing program number parameter [123]
n[int] – Axis number
x[float] – Program number to be executed
4EXC5 |Axis 4, Execute program 5
0EXC2 |All axes, Execute program 2

MICRONIX USA, LLC
www.micronixusa.com
Set Open or Closed Loop Mode
This command is used to select the feedback mode of the
controller. See section 4.2 for more details
A read operation returns the following loop mode values for the
specified axis:
0 – Open Loop [default]
1 – Open Loop with open loop position correction
2 – Open Loop Movement, Closed Loop deceleration
3 – Not for use on the MMC-200
nFBKx – Standard syntax
nFBK? – Read encoder mode value
Error [#]:
FBKx – Missing axis number [30]
FBK? – Read operation with missing axis number [27]
nFBK – Missing closed/open loop parameter [28]
n[int] – Axis number
x[float] – Open/closed loop mode
? – Read encoder mode value
n – 1 to 99
x – 0 for open loop mode, 1 for open loop with open loop corrections, 2
for open loop with closed loop deceleration, 3 closed loop
ENC, EAD, EPL, DBD,PID, CST, CVL, DST, DTG, ERG, IST, IWL, ITG
2FBK3 |Axis 2, Set closed loop mode

MICRONIX USA, LLC
www.micronixusa.com
This command is used by the bootloader to upload new firmware
to the specified axis.
Returns:
A read operation cannot be used with this command.
nFMR – Standard syntax
Error [#]:
FMR – Missing axis number [30]
n – 1 to 99
Related Commands:
1FMR | Axis 1, upload new firmware

MICRONIX USA, LLC
www.micronixusa.com
Full Steps Per Revolution
This command is used to set the number of full steps per single
revolution of the motor shaft. It is determined by the motor.
A read operation returns the Full Steps Per Revolution for the
specified axis.
nFSRx – Standard syntax
nFSR? – Read Full Steps Per Revolution
0FSRx –All axes set Full Steps Per Revolution to x
Error [#]:
FSR? – Read operation with missing axis number [27]
nFSR – Missing full step per rev parameter [28]
n[int] – Axis number
x[int] – full steps per revolution
? – Read full steps per revolution value
n – 0 to 99
x – 0 to 10000
1FSR2000 |Axis 1, Set 2000 Full Steps Per Rev
5FSR? |Axis 5, Read Full steps/ Revolution

MICRONIX USA, LLC
www.micronixusa.com
This command is used to set the gear ratio. If no gearing is used it
should be set to 1:1, which is the default.
A read operation returns the velocity value in mm/s for the
specified axis.
nGRRx,y – Standard syntax
nGRR? – Read Gear ratio value
0GRRx,y – all axes set gear ratio to x:y
Error [#]:
GRR? – Read operation with missing axis number [27]
nGRR – Missing Gear Ratio parameter [28]
n[int] – Axis number
x[float] – Leadscrew Revs
y[float] – Motor Shaft Revs
? – Read Gear Ratio value
n – 0 to 99
x – 1 – 50000
y – 1 – 50000
1GRR100,1 |Axis 1, 100:1
5GRR? |Axis 5, Read Gear Ratio value

MICRONIX USA, LLC
www.micronixusa.com
This command is used to select the direction of motion when the
Home [HOM] command is initialized.
A read operation returns the current direction setting:
0 – Home starts in the direction of the negative limit
1 – Home starts in the direction of the positive limit
nHCGx – Standard syntax
0HCGx – All axes set direction
nHCG? – Read direction setting
Error [#]:
HCG? – Read operation with missing axis number [27]
nHCG – Missing direction setting [28]
n[int] – Axis number
x[int] – Set direction of motion.
n – 0 to 99
x – 0 for setting motion in the direction of the negative limit
1 for setting motion in the direction of the positive limit
3HCG0 |Axis 3, Set initial direction of Home
command towards the negative limit
0HCG1 |All Axes, Set initial direction of Home
command towards the positive limit

MICRONIX USA, LLC
www.micronixusa.com
This command is used to find the home (zero) position for a
specified axis. An error will occur if there is no encoder signal at
the time of execution. Home is configured using the HCG
command. This command will jog the stage till it reaches the limit
configured by the HCG command. It will then acquire the zero
position by looking for the index. This command blocks all
communication over the serial port during motion. The controller
will buffer all commands sent during this period and execute them
once the command has found the index. Caution: if you write too
many commands while this command is executing you run the risk
of overloading the receive buffer.
A read parameter returns the following calibration values for the
specified axis:
0 – Not calibrated to home position
1 – Calibrated to home position
nHOM – Standard syntax
nHOM? – Returns 1 if homed since last startup otherwise returns 0
0HOM – All axes execute home position
Error [#]:
HOM? – Read operation with missing axis number [27]
n – 0 to 99
Related Commands:
1HOM |Axis 1, Move to home position

MICRONIX USA, LLC
www.micronixusa.com
This command is used to change the sample time for the I Term.
Sample rate = 5kHz/IST. This term is only used the FBK modes 2 and
3. This feature only available in firmware version 1.3.1 and higher.
The time value for the correction sample period
nISTx – Standard syntax
Error [#]:
IST – Missing axis number [30]
n[int] – Axis number
x[int] – sample time
? – Read Integrator sample time
n – 1 to 99
x – 1 to 5000
2IST1 |Axis 2, Set integrator sample time to 1]

MICRONIX USA, LLC
www.micronixusa.com
This command is used to change the Integrator gain.
iTerm = iTerm/ ITG Lessens the effect of the iTerm. This term is only
used the FBK modes 2 and 3. This feature only available in
firmware version 1.3.1 and higher.
The Integrator gain value.
nITGx – Standard syntax
Error [#]:
ITG – Missing axis number [30]
n[int] – Axis number
x[int] – Integrator Gain
? – Read integrator gain value
n – 1 to 99
x – 1 to 5000
2ITG1 |Axis 2, Set integrator term gain to 1]

MICRONIX USA, LLC
www.micronixusa.com
This command is used to change the upper limit to the integrator
wind up. This term is only used the FBK modes 2 and 3. This feature
only available in firmware version 1.3.1 and higher.
The integrator windup limit
nIWLx – Standard syntax
Error [#]:
IWL – Missing axis number [30]
n[int] – Axis number
x[int] – Windup Limit
? – Read Windup Limit value
n – 1 to 99
x – 1 to 999999
2IWL1 |Axis 2, Set integrator windup limit to 1]

MICRONIX USA, LLC
www.micronixusa.com
Jog Acceleration and Deceleration
This command is used to set the desired value for the jog
acceleration and deceleration for a specified axis. The controller
will not allow for JAC values that are greater than AMX.
A read operation returns the jog acceleration and deceleration
value in mm/s2 for the specified axis.
nJACx – Standard syntax
0JACx – All axes execute acceleration value
nJAC? – Read acceleration value
Error [#]:
JAC? – Read operation with missing axis number [27]
nJAC – Missing acceleration parameter [28]
n[int] – Axis number
x[float] – Jog Acceleration
? – Read Jog acceleration value
n – 0 to 99
x – .001 to 500.000 mm/s
2
[degrees/s2]
4JAC0.1 |Axis 4, Set jog acceleration & deceleration to
0.1 mm/s2 [degrees/s2]

MICRONIX USA, LLC
www.micronixusa.com
This command is used to jog a specific axis, or move continuously
in a direction with no target position. The jog velocity is a
percentage of the maximum velocity and may be changed onthe-fly by sending another JOG command during motion.
A read operation is not available with this command.
nJOGx – Standard syntax
Error [#]:
JOGx – Missing axis number [30]
nJOG – Missing velocity parameter [28]
n[int] – Axis number
x[float] – Velocity
n – 1 to 99
x – -100.000% to 100.000 % (of maximum velocity)
– 0 to stop
4JOG10 |Axis 4, Jog at 10% maximum velocity

MICRONIX USA, LLC
www.micronixusa.com
This command selects whether the limit switch inputs on the motor
connector are ignored, otherwise it will stop motion.
A read operation is not available with this command.
nLCGx – Standard syntax
Error(s):
LCGx – Missing axis number [30]
nLCG – Missing program number parameter [28]
n[int] – Axis number
x[int] – 0 – ignore [default]
1– active
n – 1 to 99
x – 0 – ignore [default]
1 – Home uses Soft Limits
2 – Limits Switches Enabled
3 – Home Uses Soft Limits and Limit Switches enabled
1LCG1 |Axis 1, set limit switches active

MICRONIX USA, LLC
www.micronixusa.com
Positive/ Negative Limit Location
Determines orientation of Positive limit, and negative limit.
Returns:
A read operation returns the following limit direction values for the
specified axis:
0 – Normal orientation
1 – Reverse orientation
nLDRx – Standard syntax
nLDR? – Read velocity value
0LDRx – Missing axis number, all axes set limit direction
Error [#]:
LDR? – Read operation with missing axis number [27]
nLDR – Missing limit parameter [28]
n[int] – Axis number
x[int] – limit direction value
? – Read limit direction value
1LDR1 |Axis 1, set to reverse orientation
5LDR? |Axis 5, Read limit switch orientation

MICRONIX USA, LLC
www.micronixusa.com
Returns the status of both limit switches in the form LSP, LSN. This is
useful for limit switch configuration.
Returns:
A read operation returns current limit status for the specified axis.
nLIM? – Standard syntax
Error [#]:
LIM? – Read operation with missing axis number [123]
n[int] – Axis number
? – Read limit switches
n – 1 to 99
Related Commands:
6LIM? | Axis 6, read current limit status

MICRONIX USA, LLC
www.micronixusa.com
This command sets the lead screw pitch.
Returns:
A read operation returns the lead screw pitch value in mm for the
specified axis.
nLSPx – Standard syntax
nLSP? – Read lead screw pitch value
0LSPx – All axes set lead screw pitch to x
Error [#]:
LSP? – Read operation with missing axis number [27]
nLSP – Missing pitch parameter [28]
n[int] – Axis number
x[float] – Lead Screw Pitch
? – Read Lead Screw Pitch
n – 0 to 99
x – 1nm(.000001) to 999.999999mm
1LSP.25 |Axis 1, Set pitch to 0.25mm
5LSP? |Axis 5, Read Lead Screw Pitch

MICRONIX USA, LLC
www.micronixusa.com
This command is used to display the individual commands entered
by the user to create the specified program. NOTE: Commands are
returned sequentially and individually, which means in the Micronix
GUI they will be listed from bottom (first returned) to top (last
returned).
A read operation returns the program table for the specified axis.
nLSTx – Standard syntax
Error [#]:
LSTx – Read operation with missing axis number [123]
n[int] – Axis number
x[int] – # program table to be read
n – 1 to 99
Related Commands:
6LST1 | Axis 6, read program table for program 1

MICRONIX USA, LLC
www.micronixusa.com
This command sets whether the limit switch inputs are active
high[1] or low[0]
A read operation returns the program table for the specified axis.
nLPLx – Standard syntax
Error(s):
LPLx – Missing axis number [30]
nLPL – Missing limit polarity parameter [28]
n[int] – Axis number
x – 0 –Active Low
– 1 – Active High
n – 1 to 99
x – 0 – active low [default]
1– active high
6LPL1 | Axis 6, limit switches set to active high

MICRONIX USA, LLC
www.micronixusa.com
This command is used to read the maximum output current to the
motor as determined by hardware. The MCS setting cannot
exceed this value.
A read operation returns the max motor current value in Amps for
the specified axis.
nMCMx – Standard syntax
nMCM? – Read max motor current value
Error [#]:
MCM? – Read operation with missing axis number [27]
nMCM – Missing current parameter [28]
n[int] – Axis number
? – Read max motor current value
Related Commands:
MCS, MCR
5MCM? |Axis 5, Read max motor current value

MICRONIX USA, LLC
www.micronixusa.com
This command sets the desired current output level.
A read operation returns the Motor current value in Amps for the
specified axis.
nMCSx – Standard syntax
nMCS? – Read Motor Current value
0MCSx – All axes set Motor Current
Error [#]:
MCS? – Read operation with missing axis number [27]
nMCS – Missing current parameter [28]
n[int] – Axis number
x[float] – motor current in Amps
? – Read current value
n – 0 to 99
x – 0 to MCM (2A)
1MCS.25 |Axis 1, Set motor current to 0.25A
5MCS? |Axis 5, Read motor current value

MICRONIX USA, LLC
www.micronixusa.com
This command initiates a move to the negative limit position. An
error will occur if there is no encoder signal at the time of
execution. This command blocks all communication over the serial
port during motion. The controller will buffer all commands sent
during this period and execute them once the command has
found the limit.
A read operation is not available with this command.
nMLN – Standard syntax
0MLN – All axes execute move to negative limit position
Error [#]:
MLN – Missing axis number [30]
n – 0 to 99
Related Commands:
8MLN |Axis 8, Move to negative limit position
0MLN |All Axes, Move to negative limit position

MICRONIX USA, LLC
www.micronixusa.com
This command initiates a move to the positive limit position. An
error will occur if there is no encoder signal at the time of
execution. This command blocks all communication over the serial
port during motion. The controller will buffer all commands sent
during this period and execute them once the command has
found the limit.
A read operation is not available with this command.
nMLP – Standard syntax
0MLP – All axes execute move to positive limit position
Error [#]:
MLP – Missing axis number [30]
n – 0 to 99
Related Commands:
1MLP |Axis 1, Move to positive limit position
0MLP |All Axes, Move to positive limit position

MICRONIX USA, LLC
www.micronixusa.com
This command is used to turn the motor current flow “Off” or “On”
for a specified axis. Primarily used for stages utilizing stepper motors
where the motor would be unable to rotate freely while powered.
A read operation returns the following motor current off/on values
for the specified axis:
0 – Motor current is off
1 – Motor current is on
nMOTx – Standard syntax
nMOT? – Read motor current off/on value
0MOTx – All axes set motor value
Error [#]:
MOT? – Read operation with missing axis number [27]
xMOT – Missing motor off/on parameter [28]
n[int] – Axis number
x[float] – Motor current off/on
? – Read motor current off/on value
n – 0 to 99
x – 0 for motor current off
1 for motor current on
1MOT0 |Axis1, Set motor current to off

MICRONIX USA, LLC
www.micronixusa.com
This command set the motor polarity for the specified axis. If the
theoretical positive direction is away from the motor, changing this
setting will make the theoretical positive direction towards to
motor.
A read operation returns the current motor polarity setting for the
specified axis.
nMPLx – Standard syntax
nMPL? – Read Motor polarity value
0MPLx – All axes set motor polarity value
Error [#]:
MPL? – Read operation with missing axis number [27]
nMPL – Missing motor polarity parameter [28]
n[int] – Axis number
x[float] – Motor Polarity setting
? – Read motor current off/on value
n – 0 to 99
x – 0 Normal
1 Reverse
1MPL0 |Axis1, To normal Polarity

MICRONIX USA, LLC
www.micronixusa.com
Synchronous Move - Absolute
This command is used to set up a synchronous move using the
absolute position of the axes involved. This command is most useful
when coordinating motion to an absolute position between 2 or
more axes and requires a RUN command on a separate line to
execute the synchronous move. It is recommended to run multiple
MSA commands on the same command line, as they are
executed closer together than on separate lines. If the position is
outside of the soft limits, the command will be ignored.
A read operation is not available with this command.
nMSAx – Standard syntax
0MSAx – All axes setup synchronous move
Error [#]:
nMSA – Missing absolute position parameter [28]
n[int] – Axis number
x[float] – Absolute position
n – 0 to 99
x – ± 0.000001 to 999.999999 mm (degrees)
1MSA10;2MSA10 |Axis 1, Move to absolute position: 10
mm[degrees]; Axis 2, Move to absolute
position: 10 mm [degrees]
0RUN |All axes, Execute synchronous move
0MSA5 |All axes, Move to absolute position: 5 mm
[degrees]
0RUN |All axes, Execute synchronous move

MICRONIX USA, LLC
www.micronixusa.com
Synchronous Move – Relative
This command is used to set up a relative move using the relative
position of the axes involved. This command is most useful when
coordinating relative positions between 2 or more axes and
requires a RUN command on a separate line to execute the
synchronous move. It is recommended to use multiple MSR
commands on the same command line, as they are executed
closer together than on separate lines. If the position is outside of
the soft limits, the command will be ignored.
A read operation is not available with this command.
nMSRx – Standard syntax
0MSRx – All axes setup synchronous move
Error [#]:
nMSR – Missing relative position parameter [28]
n[int] – Axis number
x[float] – Relative position
n – 0 to 99
x – ± 0.000001 to 999.999999 mm (degrees)
4MSR.1;5MSR.5 |Axis 4, Move 0.1 mm [degrees]; Axis 5, Move 0.5
mm [degrees]
0RUN |Execute synchronous move
0MSR0.01 |All axes, Move 0.01 mm [degrees]
0RUN |All axes, execute synchronous move

MICRONIX USA, LLC
www.micronixusa.com
This command is used to initiate an instantaneous move to an
absolute position for a specified axis. If the position is outside of the
soft limits, the command will be ignored.
A read operation is not available with this command.
nMVAx – Standard syntax
0MVAx – All axes execute instantaneous move
Error(s):
nMVA – Missing absolute position parameter [28]
n[int] – Axis number
x[float] – Absolute position
n – 0 to 99
x – -999.999999 to 999.999999 mm (degrees)
4MVA14.5 |Axis 4, Move to absolute position: 14.5 mm [degrees]
0MVA5.5 |All axes, Move to absolute position: 5.5 mm [degrees]

MICRONIX USA, LLC
www.micronixusa.com
This command is used to initiate an instantaneous move to a
relative position for a specified axis. If the position is outside of the
soft limits, the command will be ignored.
A read operation is not available with this command.
nMVRx – Standard syntax
0MVRx – All axes execute command.
Error(s):
nMVR – Missing relative position parameter [28]
n[int] – Axis number
x[float] – Relative position
n – 0 to 99
x – ± 0.000001 to 999.999999 mm [degrees]
6MVR10 |Axis 6, Move 10 mm [degrees]
0MVR.89 |All axes, Move 0.89 mm [degrees]

MICRONIX USA, LLC
www.micronixusa.com
This command is used to change the number of times a program
will execute. If the program loop setting is 0, any program that is
executed will run in a continuous loop. It can be combined with
the PGS command to run a program continuously on startup. To
disable program looping, set PGL to 1. A looping program can be
stopped at any time by sending the STP or EST commands.
This version of the command available in firmware version 1.3.11
and up. Prior version have an on/off PGL setting 1/0.
A read operation returns the program loop setting for the specified
axis.
nPGLx – Standard syntax
Error(s):
PGLx – Missing axis number [30]
nPGL – Missing program number parameter [28]
n[int] – Axis number
x[int] – loop flag parameter
n – 1 to 99
x – 0 – Loop indefinitely
1 – Don’t Loop
2 to 999999 – number of times an executed command will repeated
1PGL0 |Axis 1, Run program 1 continuously
1PGL5 |Axis 1, Run program 5 times

MICRONIX USA, LLC
www.micronixusa.com
This command is used to enter program recording mode for a
specified axis. The program being recorded must use a unique
program number or else the program will be ignored. Us the LST
command to check program number availability and use the ERA
command to erase any previously recorded programs. Each
program has a size limit of 4Kb.
A read operation in not available for this command
nPGMx – Standard syntax
nPGM? – Read a binary representation of written program numbers
If programs 1 and 2 are written it will return 3
If programs 1 and 4 are written it will return 9
If only program 1 is written it will return 1
If only program 3 is written it will return 4
Error(s):
PGMx – Missing axis number [30]
nPGM – Missing program number parameter [28]
n[int] – Axis number
x[int] – Program number to be recorded
1PGM3 |Axis 1, Begin recording program. Save program
as program 3

MICRONIX USA, LLC
www.micronixusa.com
This command is used to set a program to run immediately on startup. Only one program per axis can run on start up.
A read operation returns a value for the specified axis in the format
below:
0 – No program set to run
1-16 – Program set to run on start-up
nPGSx – Standard syntax
0PGSx – Missing axis number, all axes set program to run on start-up
nPGS? – Read program(s) set to run on start-up
Error [#]:
PGS? – Read operation with missing axis number [27]
nPGS – Missing program set to run on start-up parameter
[28]
n[int] – Axis number
x[float] – Program set to run on start-up
? – Read encoder mode value
n – 0 to 99
x – 0 - No program
1 to 16- Specific program set to run on start-up
6PGS5 | Axis 6, set program 5 to run on start-up
–
0PGS23 | All axes, set program 23 to run on start-up
–
3PGS? | Axis 3, Read program to run on start-up
–
3PGS0 | Axis 3, Set no program to run on start-up

MICRONIX USA, LLC
www.micronixusa.com
This command is used to set the encoder feedback constants for
a specified controller.
A read operation returns the encoder feedback constant values
for the specified axis.
nPIDx1,x2,x3 – Standard syntax
nPID? – Read encoder feedback constant values
Error(s):
PIDx1,x2,x3 – Missing axis number [30]
PID? – Read operation with missing axis number [27]
nPID – Missing encoder feedback constant parameters
[28]
n[int] – Axis number
x1[float] – K
p
(proportional term)
x2[float] – K
i
(integral term)
x3 [float] – K
d
(derivative term)
? – Read encoder feedback constants and values
n – 1 to 99
x1 – 0.000 to 1.000
x2 – 0.000 to 1.000
x3 – 0.000 to 1.000
5PID.02,.04,.05 |Axis 5, Set encoder feedback constants to 0.02,
0.04 and 0.05, respectively
2PID.03,, |Axis 2, Set encoder feedback constant K
p
to
0.03, other constants remain unchanged
4PID,,.07 |Axis 4, Set encoder feedback constant K
d
to
0.07, other constants remain unchanged

MICRONIX USA, LLC
www.micronixusa.com
This command is used to read the position information from the
specified axis controller
A read operation returns the position values in mm for the specified
axis in the following format:
[Theoretical position in mm; Encoder position in mm]
[Theoretical position in degrees; Encoder position in degrees]
nPOS? – Standard syntax
Error(s):
POS? – Read operation with missing axis number [27]
n[int] – Axis number
? – Read position values
n – 1 to 99
Related Commands:
4POS? | Axis 4, Read position values

MICRONIX USA, LLC
www.micronixusa.com
This command sets the system resolution. If CFG is 0 this value is
calculated automatically based of LSP, FSR and GRR
The units are (picometers/fullstep)/ 10.
A read operation returns the resolution value in (pico
meters/fullstep)/10 for the specified axis.
nREZx – Standard syntax
nREZ? – Read (picometers/fullstep)/ 10 value
Error(s):
REZ? – Read operation with missing axis number [27]
REZx – Missing axis number [30]
nREZ – Missing (picometers/fullstep)/ 10 parameter [28]
n[int] – Axis number
x[float] – (picometers/fullstep)/ 10
? – Read (picometers/fullstep)/ 10
n – 1 to 99
x – 0 to 0-2^32 (pico meter/fullstep )/ 10
9REZ25 | Axis 9, Set resolution to 25
(picometers/fullstep)/ 10
3REZ? | Axis 3, Read (picometers/fullstep)/ 10
resolution value

MICRONIX USA, LLC
www.micronixusa.com
This command is used to perform a soft reset of the specified axis.
Returns:
A read operation cannot be used with this command.
nRST – Standard syntax
0RST – All axes execute soft reset
n – 1 to 99
Related Commands:
8RST | Axis 8, execute soft reset

MICRONIX USA, LLC
www.micronixusa.com
This command is used to start a global synchronous move
previously set up by using the MSA or MSR commands.
A read operation cannot be used with this command.
3MSR5;4MSR5 | Axis 3, Move 5 mm [degrees];
Axis 4, Move 5 mm [degrees]
0RUN | All axes, Execute synchronous move

MICRONIX USA, LLC
www.micronixusa.com
This command is used to save all settings for the specified axis. This
allows an axis to be configured on power up.
A read operation cannot be used with this command.
nSAV – Standard syntax
0SAV – All axes save settings
n – 0 to 99
Related Commands:
16SAV | Axis 16, save settings

MICRONIX USA, LLC
www.micronixusa.com
This command is used to check the status register for a specified
axis.
A read operation will return an integer from 0 to 255 describing the
status of the axis. The byte must be decoded in binary to determine
the value of each bit.
Note: Bits 2, 1 and 0 are unused
Bit 7: 1 – One or more errors have occurred. Use ERR? Or CER to
clear.
0 – No Errors have occurred.
Bit 6: 1 – Currently in Acceleration phase of motion.
0 – Not in Acceleration phase of motion.
Bit 5: 1 – Currently in Constant Velocity phase of motion.
0 – Not in Constant Velocity phase of motion.
Bit 4: 1 – Currently in Deceleration phase of motion.
0 – Not in Deceleration phase of motion.
Bit 3: 1 – Stage has stopped. (In Closed Loop Stage, is in the deadband)
0 – Stage is moving. (In Closed Loop, Stage is out of deadband)
Bit 2: 1 – A Program is currently running
0 – No program is running
Bit 1: 1 – Positive Switch is Activated
0 – Positive Switch is not Activated
Bit 0: 1 – Negative Switch is Activated
0 – Negative Switch is not Activated
nSTA? – Standard syntax
Error(s):
STA? – Read operation with missing axis number [27]
nSTA – Missing read operation parameter [28]
n[int] – Axis number
? – Read status register
n – 1 to 99
Related Commands:
6STA? | Axis 6, Read status register

MICRONIX USA, LLC
www.micronixusa.com
This command is used to stop motion for a specified axis.
Returns:
A read operation cannot be used with this command.
nSTP – Standard syntax
0STP – All axes execute stop
n – 0 to 99
Related Commands:
8STP | Axis 4, execute stop

MICRONIX USA, LLC
www.micronixusa.com
This command is used to set the startup position. Default is 0. This
setting does not require the SAV command to save it into memory.
It also does not change with a DEF command. To reset the Startup
position to the default, send nSVP0.
A read operation returns the Startup position setting for the
specified axis.
nSVP – Standard syntax
0SVP – Missing axis number, command accepted as standard
syntax
n[int] – Axis number
x[float] – Startup Position mm
? – Read Startup Position
n – 0 to 99
x – TLN (-999.999999mm) to TLP(999.999999mm)
4SVP | Set current position to Startup position
2SVP2.3 | Set startup position to 2.3mm

MICRONIX USA, LLC
www.micronixusa.com
This command is used in a program together with the wait for sync
[WSY] command in order to synchronize motion between multiple
axes.
A read operation cannot be used with this command.
nSYN – Standard syntax
0SYN – Missing axis number, command accepted as standard
syntax
n – 0 to 99
Related Commands:
4SYN | Send sync to axis 4

MICRONIX USA, LLC
www.micronixusa.com
Negative Soft Limit Position
This command is used to set the desired negative soft limit position,
using absolute position, for the specified axis. The negative soft limit
position value must be less than the positive soft limit position value
[TLP] for the command to be accepted.
A read operation returns the negative soft limit position value.
nTLNx – Standard syntax
nTLN? – Read negative soft limit position value
0TLNx – All axes set limit position value
nTLN – Set current position to negative limit
Error(s):
TLN? – Read operation with missing axis number [27]
n[int] – Axis number
x[float] – Negative soft limit position
? – Read negative soft limit position
n – 0 to 99
x – -999.999999 to TLP mm [degrees]
2TLN0.005 | Axis 2, Set negative soft limit position to 0.005
mm [degrees]
6TLN? | Axis 6, Read negative soft limit position
value

MICRONIX USA, LLC
www.micronixusa.com
Positive Soft limit Position
This command is used to set the desired positive soft limit position,
using absolute position, for the specified axis. The positive soft limit
position value must be greater than the negative soft limit position
value [TLN] for the command to be accepted.
A read operation returns the positive soft limit position value for the
specified axis.
nTLPx – Standard syntax
nTLP? – Read positive soft limit position value
0TLPx – All axes set limit position value
nTLN – Set current position to negative limit
Error(s):
TLP? – Read operation with missing axis number [27]
n[int] – Axis number
x[float] – Positive soft limit position
? – Read positive soft limit position
n – 0 to 99
x – TLN to 999.999999 mm [degrees]
4TLP10.005 | Axis 2, Set positive soft limit position to 10.005
mm [degrees]
9TLP? | Axis 9, Read positive soft limit position
value

MICRONIX USA, LLC
www.micronixusa.com
This command is used to execute a trace of the specified axis.
A read operation returns the position samples taken for the
specified axis.
nTRAx1,x2,x3 – Standard syntax
nTRA? – Read position values
0TLPx1,x2,x3 – All axes execute trace
Error(s):
TRA? – Read operation with missing axis number [27]
nTRA – Missing parameters [28]
n[int] – Axis number
x1[int] – Number of samples taken (default is 1000)
x2[int] – 10kHz /Sampling frequency (default is 1)
x3[float] – Trace starting position (default is immediate)
? – Read position
n – 0 to 99
x1 – 1 to 9000
x2 – 1 to 1000 Servo clocks per cycle
x3 – 000.000000 to 999.999999 mm [degrees]
5TRA5,10,1 | Axis 5, execute trace with 5 samples at a
sampling frequency of 1kHz starting at a
position of 1 mm [degrees]
3TRA2000,, | Axis 3, execute trace with 2000 samples at
a sampling frequency of 10kHz starting at the
current position

MICRONIX USA, LLC
www.micronixusa.com
Query only. Returns the max number of microsteps achievable
based on the motor current setting.
Returns:
A read operation returns the maximum possible microsteps for the
specified axis.
nUMXx – Standard syntax
nUMX? – Read Max Microsteps value
Error [#]:
UMX? – Read operation with missing axis number [27]
n[int] – Axis number
? – Read velocity value
n – 0 to 99
Related Commands:
Example:
5UMX? |Axis 5, Read Maximum microsteps

MICRONIX USA, LLC
www.micronixusa.com
This command sets the current Microstepping value. Max
determined by UMX. 4096 at full current.
Returns:
A read operation returns the microstepping value for the specified
axis.
nUSTx – Standard syntax
nUST? – Read microstepping rate
0USTx – Missing axis number, all axes set to x microstepping
Error [#]:
UST? – Read operation with missing axis number [27]
nUST – Missing microstep parameter [28]
n[int] – Axis number
x[float] – Microsteps
? – Read microstep value
n – 0 to 99
x – 1 to UMX (4096)
1UST2000 |Axis 1, Set 2000 microsteps [degrees/s]
5UST? |Axis 5, Read microstep value

MICRONIX USA, LLC
www.micronixusa.com
This command is used to set the desired velocity for the specified
axis. The velocity may be changed on-the-fly by sending another
VEL command during motion. The velocity value should be lower
than the maximum allowable velocity [VMX] for the command to
be accepted.
A read operation returns the velocity value in mm/s for the
specified axis.
nVELx – Standard syntax
nVEL? – Read velocity value
0VELx – Missing axis number, all axes set velocity
Error [#]:
VEL? – Read operation with missing axis number [27]
nVEL – Missing velocity parameter [28]
n[int] – Axis number
x[float] – Velocity value
? – Read velocity value
n – 0 to 99
x – 000.001 to VMX (999.999 mm/s) [degrees/s]
– 0 to set VEL to VMX
1VEL.25 |Axis 1, Set velocity to 0.25mm/s [degrees/s]
5VEL? |Axis 5, Read velocity value

MICRONIX USA, LLC
www.micronixusa.com
This command is used to check the firmware version for the
specified axis.
A read operation returns the firmware version for the specified axis.
nVER? – Standard syntax
Error(s):
VER? – Read operation with missing axis number [27]
nVER – Missing read operation parameter [28]
n[int] – Axis number
? – Read firmware version
n – 1 to 99
Related Commands:
11VER? | Axis 11, Read firmware version

MICRONIX USA, LLC
www.micronixusa.com
Maximum Allowable Velocity
This command is used to read the maximum allowable velocity for
a specific axis. This value is calculated based on the steps per
micron parameter in the REZ command.
A read operation returns the maximum allowable velocity value in
mm/s for the specified axis.
nVMX? – Read maximum allowable velocity value
Error [#]:
VMX? – Read operation with missing axis number [27]
nVMX – Missing read operation parameter [123]
n[int] – Axis number
? – Read maximum allowable velocity value
n – 1 to 99
Related Commands:
4VMX? |Axis 4, Read maximum allowable velocity value

MICRONIX USA, LLC
www.micronixusa.com
This command returns the actual velocity calculated from the
encoder.
A read operation returns the encoder velocity in mm/s.
nVRT? – Standard syntax
Error [#]:
VRT? – Read operation with missing axis number [27]
n – 1 to 99
Related Commands:
5VRT? |Axis 5, Read encoder velocity

MICRONIX USA, LLC
www.micronixusa.com
This command is used in a program to wait until motion is
completed to begin executing the next command.
A read operation cannot be used with this command.
nWST – Standard syntax
WST – Missing axis number, command accepted as standard
syntax
n – 1 to 99
Related Commands:
7WST | Axis 7, Wait for motion to stop before
executing next command

MICRONIX USA, LLC
www.micronixusa.com
This command is used in a program together with the sync [SYN]
command in order to synchronize motion between multiple axes.
A read operation cannot be used with this command.
nWSY – Standard syntax
WSY – Missing axis number, command accepted as standard
syntax
n – 1 to 99
Related Commands:
1WSY | Axis 1, Wait until sync command is
received before executing next
command

MICRONIX USA, LLC
www.micronixusa.com
This command is used in a program to wait for a specified period of
time before executing the next command.
A read operation cannot be used with this command.
nWTMx – Standard syntax
WSTx – Missing axis number, command accepted as standard
syntax
n[int] – Axis number
x[int] – Time
n – 1 to 99
x – 0 to 999999 milliseconds
2WTM42 | Axis 2, Wait for 42 milliseconds before
executing next command

MICRONIX USA, LLC
www.micronixusa.com
This command is used to set the absolute zero position for the
specified axis.
A read operation cannot be used with this command.
nZRO – Standard syntax
Error [#]:
ZRO – Missing axis number [123]
n – 1 to 99
Related Commands:
1ZRO | Axis 1, set current position as absolute zero

MICRONIX USA, LLC
www.micronixusa.com
This command is used to take the specified axes offline. An offline
axis will not respond until the power is cycled.
Returns:
A read operation cannot be used with this command.
nZZZ – Standard syntax
ZZZ – Missing axis number, all axes set to offline
n – 1 to 99
Related Commands:

MICRONIX USA, LLC
www.micronixusa.com
The Receive Buffer has reached or exceeded maximum
capacity.
The command that triggered this error was trying to move
the servo while it was disabled.
The command that triggered this error was trying to access
encoder data when no encoder was attached.
The controller moved across the full range of motion and
did not find an index.
The HOM command requires an encoder signal.
Move Limit Requires
Encoder
The MLN and MLP commands require an encoder signal.
The command that triggered this error only supports read
operations. The command must be followed by a question
mark to be accepted. Ex: XXX?
One Read Operation Per
Line
Multiple read operations on the same command line. Only
one read operation is allowed per line, even if addressed to
separate axes.
Too Many Commands On
Line
The maximum number of allowed commands per
command line has been exceeded. No more than 8
commands are allowed on a single command line.
Line Character Limit
Exceeded
The maximum number of characters per command line has
been exceeded. Each line has an 80 character limit.
The controller could not find an axis number or the
beginning of an instruction. Check the beginning of the
command for erroneous characters.
The controller could not find a 3-letter instruction in the input.
Check to ensure that each instruction in the line has exactly
3 letters referring to a command.
The 3-letter instruction entered is not a valid command.
Ensure that the 3-letter instruction is a recognizable
command.

MICRONIX USA, LLC
www.micronixusa.com
Global Read Operation
Request
A read request for a command was entered without an axis
number. A read request cannot be used in a global context.
1. The parameter entered does not correspond to the type
of number that the instruction requires. For example, the
command may expect an integer value, therefore sending
a floating point value will trigger this error.
2. The allowable precision for a parameter has been
exceeded. For example, velocity can be specified with a
precision of 0.001 mm/sec. If a more precise velocity value
of 0.0001 mm/sec is entered, this error will be triggered.
Refer to the command pages for the type of parameter
that each command expects.
Invalid Character in
Parameter
There is an alpha character in a parameter that should be a
numeric character.
Command Cannot Be
Used In Global Context
The command entered must be addressed to a specific axis
number. Not all commands can be used in a global
context. Check the specific command page or the table of
commands for more info.
The parameter is out of bounds. The current state of the
controller will not allow this parameter to be used. Check
the command page for more information.
Incorrect Jog Velocity
Request
The jog velocity can only be changed during motion by
using a new JOG command. If the VEL command is used to
change the velocity, this error will be triggered. The VEL
command can only be used to change velocity during
motion initiated by the move commands [MVR, MVA, MSR,
MSA].
Sending a JOG command during motion initiated by a
move command will trigger this error. To initiate Jog Mode,
the controller should be at stand-still. To change velocity
during a move, use the VEL command.
Trace Already In Progress
This error is triggered when a new trace command is
received after a trace is already in progress. Trace settings
may be modified only if the trace hasn’t started recording
data. Otherwise, wait until the trace has finished before
modifying the trace settings.
An error occurred while recording trace data. Try the
operation again.
Command Cannot Be
Executed During Motion
Only certain commands can be executed when motion is in
progress. Check the command pages for information on
individual commands.
If a requested move will take the controller outside of the
preset travel limits, then the command will not be executed.

MICRONIX USA, LLC
www.micronixusa.com
Read Not Available For
This Command
This error is triggered by a read request from a command
that does not support a read operation.
Program Number Out of
Range
The number entered for the program number was either less
than 1 or greater than 16.
Program Size Limit
Exceeded
The program has exceeded the character limit of 4 Kb.
Error in recording program. Erase program and try operation
again.
End Command Must Be
on its Own Line
The End command used to end a program must be on a
separate line from all other instructions.
An error occurred while trying to read a program. Try the
Operation again.
Command Only Valid
Within Program
The command that triggered this error is only suitable for use
within a program.
A program already exists for the indicated program
parameter. The program must be erased with the ERA
command before being written again.
The indicated program does not exist. This error can occur
when you try to execute a program number that has not
had a program assigned to it.
Read Operations Not
Allowed Inside Program
Read Operations are not permitted in programs.
Command Not Allowed
While Program in Progress
The command that triggered this error was given while a
program was executing.
Motion in the direction of the activated limit switch is
disallowed if limit switches are enabled.
The requested move will take the controller outside of
its valid travel range, therefore the move is disallowed.
A Home or a Move To Limit Procedure is in progress.
Motion commands are disallowed during this time. A
STP or EST command can be used to terminate the
Home, and then a motion command can be sent.
IO Function Already In
Use
The I/O Function in question is already assigned to
another I/O pin. Some Functions can only be
assigned to one pin at a time. See the
documentation for each function for more details.

MICRONIX USA, LLC
www.micronixusa.com
The parameters entered for Gear Ratio, Lead-Screw
Pitch, and Full Steps Per Revolution result in a
resolution that cannot be handled by the controller.
Limits Are Not Configured
Properly
Both Limit Switches are active, so motion is disallowed
in both directions. Most likely the LPL(Limit Polarity
command) setting should be switched.
Command Not Available
in this Version
The command entered is not supported in this version
of the firmware.
Analog Encoder Not
Available In this Version
The current version of firmware installed does not
support Analog Encoders.

MICRONIX USA, LLC
www.micronixusa.com
6. Appendix
6.1 Encoder Input Pin-out
6.3 8-Pin Din IO connector
Pin8 - +5V
Pin6 – IO1 (output only)
Pin5 – IO2
Pin3 – IO3
Pin2 – IO4
Pin4 – GND
I/O ports can be set up as either active high or active low,
With a recommended input current of 5mA and a maximum output current of 50mA.

MICRONIX USA, LLC
www.micronixusa.com
6.4 RS-485 Intermodular Connector Cable Pin-out
The RS-485 Intermodular Connector Cable is used to daisy chain two MMC modules together,
allowing for alternative module configurations. The cable is directional and its orientation should
be noted when configuring axis numbers, for the direction of the cable will determine axis order.
This connector can also be used to communicate with the controller in place of the USB
connection by connecting your RS-485 Bus to pins 2, 3 and 4 as they appear below.
RS-485 Intermodular Connector Cable Pin-out:
6.5 Firmware
The firmware on the MMC-200 can be updated without returning the controller to manufacturer.
For questions regarding the current firmware release and updating the firmware of your MMC200 Please contact Micronix USA support. Please be sure to check the firmware version by using
the VER command.