Apollo III - 1000 Series






14518 County Road 7240, Newburg, MO 65550
(573) 368-7399 • Fax (573) 341-2672



Improper installation of this motion controller can cause DEATH, INJURY or serious PROPERTY DAMAGE. Do not attempt to install this controller until thoroughly reading and understanding this manual.

Do NOT connect DC voltage greater than 48V, or any AC voltage to any part of the Apollo III motion controller.
It could cause serious damage to the controller.

1 Introduction

1.1  Overview

The Apollo III is MachMotion's Ethernet motion controller. It uses differential or single-ended step and direction to control up to 6 axes with full encoder feedback (full closed loop). It also has 16 inputs, 8 outputs, excellent position resolution, two MPG inputs, and spindle encoder feedback.

See the overview video on our youtube channel:

1.2  Tools Required

A small, flat head screwdriver is needed for the I/O terminals.
Small needle nose pliers may be needed to move jumpers for the inputs.

1.3  Reference Diagram

Use the diagram below as a reference throughout the manual.

Figure 1 Apollo III Overview

DO NOT connect 115VAC to any part of the Apollo III motion controller.
It could cause serious damage to the controller.


1.4 Status LEDs

The Apollo III has four status LEDs that show the status of the controller’s processor. The LEDs are located close to the center of the controller. See the figure below.

2 Status LEDs






Power is supplied to Apollo III



Apollo III has an enable signal from control



Apollo III has an error



Apollo III CPU is running (should be flashing when power is supplied)

Table 1 - Apollo III Status LEDs


1.5  Specifications

Below are the specifications for the Apollo III motion controller.



Input Power


Max Power Consumption






      Step and Direction Axis Control

5V Single Ended and Differential


RJ45 Connectors and Terminal Blocks

            Max Pulse Speed

1.6 MHz

      Encoder Feedback

5V Differential


RJ45 Connectors

            Max Frequency

6.25 MHz





      Relay Outputs

Clockwise (CW) and Counterclockwise (CCW)

Analog Signal


Encoder Feedback

5V Differential







Max Current







16 (Sinking or Sourcing)



      Min Current






Enable Circuit


Hardware Enable

Relay Contacts, 5V Enable, 24V Enable

Drive Enable

Relay Contacts



Emergency Stop Circuit

Normally Closed Connection



Ethernet Port

10/100 MHz




8.32"(L) X 5.75"(W) X 2"(H)

Optimal Temperature Range

32° to 100°F (0° to 38°C)

Table 2 – Specifications for the apollo III motion controller

*Only 24V is provided on the motion controller. Any other voltage must be supplied. 

**Commons must be supplied externally. If the commons are using the Apollo III power supply, each output can only source 125mA.

1.6  Drawing

Below is a drawing of the Apollo III.

Figure 3 - Apollo III Mounting Holes

The controller can be mounted on any solid surface that will be protected from dust and dirt. Use a minimum of 3/8 inch standoffs to prevent electrical shorts.

Scale drawing of the Apollo III and mounting bracket is attached

1.7    Hardware Startup

To power the Apollo III, you must supply 24VDC to the power connection located at the top right of the board as shown below. The top orange LED labeled Power will turn on.

Figure 4 24V Power Connector

1.8    Software Startup

On the desktop of your control, there is a Mach4 shortcut for your machine type. Below is an example of the Mach4 shortcut.

Figure 5 Profiles

There is also a shortcut for Mach4 Loader. This allows any of the profiles to be loaded from one location. Double clicking on the Mach4 Loader shortcut opens the following window: 

Figure 6 Loader

After double clicking on a profile or opening a profile from Mach4 Loader, a window will come up (Figure 7) asking to Press Cycle Start to Enable Mach and Home All Axes. Select [Cancel] since motion is not yet possible.


Figure 7 Enable and Home All axes

On subsequent startups, once motion and limit switches are set, press [Cycle Start] and the control will enable and home all axes. This prompt can be turned off in the machmotion plugin if desired. 

2 Axis Setup

2.1    Apollo lll Cover Removal

All of the drives and external I/O will be wired into the Apollo III. Begin by removing the cover by loosening the black knobs on the sides.


Figure 8 Apollo III Cover Removed

Next, plug the drive control and encoder cables into the Apollo III motion controller. The drive control connections are located on the bottom row of the large RJ45 block. The encoder control connections are located on the top row of the large RJ45 block. See the picture below.


Figure 9 Differential Step and Direction, and Encoder Feedback RJ45 Connections

2.2    Enabling Axes

After the drives are connected to the Apollo III, open up the motion software, and enable the axes as follows:

Note: This may already be setup depending on your system.

  1. On the menu bar, click Configure->Control. Then select the Motors tab (pictured below).
    • Note, if menu options are greyed out (not active/selectable), click the button to disable the system
  2. Enable all the motors that are to be controlled by setting the respective boxes in the right pane to checks. In the example below, motors 0, 1, and 2 are enabled.

Figure 10 motor Setup

  1. Press [Apply] to save any changes.
  2. Next, select the Axis Mapping tab as pictured below. Associate the enabled motors to the applicable axis. In the below example, Motor0 is the X master, Motor1 is the Y master, and Motor2 is the Z master.



Figure 11 Axis Mapping

  1. Press [Apply] and [OK] to save and close.

The system is now set up for motion, however,....

The machine can be crashed very easily. No limit switches have been set up and the units have not been configured yet.


2.3    Axis Calibration

For the machine to move the correct distance, the axes need to be calibrated. To get the units perfect, they must be calculated automatically from the machine specifications. However, you can get them extremely close if you manually calibrate especially if you measure at greater distances of travel.

Go to Configure-> Plugins -> Machine Calibration.

Note, if menu options are greyed out (not active/selectable), click the button to disable the system

Select the type of configuration you would like to perform from the window:

  1. Manual; Calculate the steps per by comparing distance traveled vs. distance commanded. See the next section for instructions.
  2. Automatic; Calibrate motors using specifications of your motor type. Continue for instructions.
  3. Screw Mapping; currently unreleased.

2.3.1    Automatic Calibration 

  1. Select the type of configuration you would like to perform
    1. Manual - Calculate the steps per by comparing distance traveled vs. distance commanded. See the next section for instructions.
    2. Automatic - Calibrate motors using specifications of your motor type. Continue for instructions.
    3. Linear Compensation - Also known as screw mapping. Allows you to adjust travel distance with setting offsets to improve accuracy over different parts or sections of the travel. This is often only needed for high precision machining and typically requires the use of laser for determine very accurate positions. Contact MachMotion for information on setting this up.
  2. Select the drive type of the axis being configured.
  3. Select the max motor RPM.
  4. Verify the correct drive ratio.
    Drive Ratio Apollo III Drive Type
    1 Teco
    8 Mitsubishi
    64 Yaskawa
    1 Stepper
    Table 3 - Default Drive Ratio Value

    Figure 13 - MachMotion Plugin Calibration Calculator
  5. Choose the machine configuration for the axis from the following three options.
    • Enter the ball screw pitch
    • Enter the ball screw pulley # teeth and motor pulley # teeth

      Note: If the system has a pulley ratio and a gear box use this equation to get the total gear ratio: [Gear Box Ratio] x [Pulley Ratio] = [Total Gear Ratio] Ex: [10:1 Gear Box] x [30 Motor Pulley Teeth/15 Ball Screw Pulley Teeth] = [10] x [30/15] = [20 Total Gear Ratio](20 Motor Pulley Teeth, 1 Ball Screw Pulley Teeth)
    • Enter pinion diameter
    • Enter the gearing ratio between the shaft and the motor
    • Enter number of teeth on pinion
    • Enter the rack pitch
    • Enter the gearing ratio between the shaft and the motor
    1. Ball Screw
    2. Rack and Pinion – Pinion Diameter
    3. Rack and Pinion – Rack Pitch
  6. Select the axis to calibrate.
  7. Press the [Calculate] button.
  8. Choose [Accept] or [Ignore] to save or discard the changes.
  9. Repeat starting at step 2 for each additional axis.
  10. Press [OK] and restart the software to save the calibration settings.

2.3.2    Manual Calibration


Figure 14 manual Calibration

  1. Select Manual Calibration from the Machine Calibration Selector menu.
  2. Select the axis to calibrate.
  3. Select either Jog Distance or Commanded Distance.
    • Typically commanded distance is used. This is where you enter the distance you want it to move and then record how far it actually moved.
  4. Enable the system and either press [Move] or [Record Jog]. 
    • For Jog Distance mode, manually jog the axis a distance that can be accurately measured.
  5. Measure how far the axis moved.
  6. Enter in the distance the axis moved and press [Submit].
  7. Choose [Accept] or [Ignore] to save or discard the changes.
  8. Repeat this procedure until the axis is within the required accuracy.

If you want to adjust your velocity, select Configure on the top menu bar, then Control. Select the Motors tab as shown below. 

Figure 15 Motor Setup

In the right pane, click on the motor you want to set up (Click the word to highlight and select the axis). The checkbox is for enabling/disabling the motor). The selected motor’s parameters will be loaded and the velocity or acceleration settings can be adjusted.  For stepper motors, max acceleration is typically 15-20 if in standard units. For servo motors, a value of 30-40 is typically best. The max velocity is limited by several factors, including the motor. If you want an axis rapid speed to be limited or lowered, adjust the velocity for that motor to the max speed you want the rapid to be. 

Press [Apply] before clicking on another motor or closing out the Mach Configuration window. NOTE: If you change the counts per unit, the velocity and acceleration values will adjust accordingly. If you do not want them to change, type in the current values shown. Verify by clicking another motor and then coming back to the adjusted motor.

No limits have been set up.  DEATH, INJURY or serious PROPERTY DAMAGE can occur if the system is not operated carefully.

2.4    Backlash Calculation

The Apollo III has backlash compensation. Use the MDI line to enter G-Code to move the axes. To calculate the machine’s backlash, follow the steps below.

        1. Move an axis in one direction farther than the maximum possible backlash.
        2. Mount a dial indicator and zero it.
        3. Move the axis again in the same direction for a specific distance (it doesn’t matter how far).
        4. Move the axis backwards the same distance.
        5. Note how far the dial indicator was off from zero to see the axis’s backlash value.
        6. Backlash is configured in the HiCON plugin. On the menu bar, go to Configure->Plugins and select the HiCON plugin.
        7. Select the desired motor tab and enter the value (see explanation below). Select [OK] to save settings.

Backlash – This field sets the backlash amount in inches or millimeters, depending on the setup units. If there is more than .002" of backlash there will likely be noticeable accuracy issues. Compensating for backlash is not a preferred method of resolution. It is better to remove or greatly reduce backlash from the mechanics of the system.

Backlash Speed % – This field adjusts the maximum acceleration that the backlash counts can be applied. The Apollo III takes the max acceleration of the motor and multiplies it by this percentage. Valid values are 10-400 (0.1 to 4 times max acceleration).  A common value is 20%.

Figure 16 Backlash Settings


Do not leave the backlash speed zero if you enter in a backlash distance. The Apollo III will not function.

For best performance, backlash should be less than .0015 inches.


2.5    Reversing Direction

If a motor moves the wrong direction, it can be reversed in the software.

  1. From the main menu bar, click Configure->Control and then select the Motors tab to display the following:


    Figure 17 Reversing Direction
  2. Select the motor (not the checkbox) from the list on the Right.
  3. Check the Reverse? box if the motor direction needs to be reversed.
  4. After making all the changes, press [OK].

The motor will now move the opposite direction than it did before. If the homing direction was already set, it will need to be reversed as well. (see the homing section).

NOTE: If you are needing to reverse direction on an axis with a slave motor, you may need to change the direction for both the master and slave axis.

2.6    Slaving a Motor

To configure a motor as a slave:

  1. From the main menu bar, select Configure->Control  and then select the Axis Mapping tab.
  2. Select the motor from the dropdown menu for the axis that the motor will be slaved to. Each enabled axis must have one master and up to 5 slave motors. For example, the configuration below is used to slave Motor3 to Motor0 on the X axis.

    Figure 18 Motor3 slaved to Motor0
  3. Press [OK] to save changes.

3  Spindle Setup

The Apollo III spindle control consists of a 0-10V analog signal for spindle speed and two relays (CW and CCW) for spindle direction. Below the spindle terminals there are two LEDs: forward (FWD) and reverse (REV).