MX2 Users Guide Part 4: Advanced Use

The MX2 can be controlled remotely, much like it controls the camera, by using Ext 1 inputs.  On the left side of the MX2 controller there are two 2.5mm TRS plugs labeled Ext 0 and Ext 1.  Each of these plugs breaks out into two I/O lines and one ground line, which is essential for establishing communication between two electronic components.

The Ext 0 inputs connect directly to the Arduino microcontroller’s hardware serial pins (Digital 1 is the tip connector, Digital 0 is the ring connector), and are reserved for special uses or serial communication.  The Ext 1 inputs, however, are general purpose inputs for use in controlling the MX2 and interacting with the environment.

To craft your own connection to a switch, or some other device, you will normally either buy a cable with a 2.5mm TRS connector on one end and bare leads on the other, or buy a 2.5mm TRS to 2.5mm TRS cable and cut one end off.  Either way, make sure you accurately identify which wire matches which conductor — this is a simple task that be accomplished simply by using a multi-meter in “continuity” mode.  This mode tells you whether or not two test points are electrically connected, in many electronic multi-meters there is an audible “beep” when the two points are connected.  Simply test every wire in the cable against each conductor and label each wire as you go.


The Basics of MX2 Inputs and Outputs

Before we go any further, let’s describe how the MX2 inputs work.  As we described earlier, there are two I/O lines and one GND line per input connector, this means there is no 5V signal!  In fact, when an input is engaged in the MX2 firmware, it is immediately “pulled high” at 20K of resistance.  This means that the MX2 will read a 5V signal off that input as long as the input is left unconnected.  Thus, to trigger the input, you will need to connect the GND signal to the input you wish to trigger.  This allows you to wire switches and other passive devices easily without needing a power source.

Only Ext 1 inputs are available for triggering actions on the MX2.

As the internal pull-up resistors are 20K Ohms, you must not exceed 19K of resistance in your cabling, otherwise the signal will not be recognized.  Limit yourself to under 20′ of 20gg wiring.

All Ext 1 inputs are automatically de-bounced for you, so you can use analog switches without having to build complicated de-bouncing circuitry.

Under no circumstances should you ever send a positive signal (+V) down any Ext I/O line!  Doing so may permanently damage your MX2!


As for outputs, each input port may instead be converted to outputs, to trigger external devices like relays, lights, etc. As with inputs, the behavior of triggering an output is to connect the given output to the common GND signal. 


Actions Available Based On Inputs

Each individual input has the following actions which can be associated with it:

  • Stop
  • Start
  • Toggle
  • Remote Intervalometer


Actions Available for Outputs

  • Trigger before shot
  • Trigger after shot
  • Trigger before and after shot

The trigger times are shared between both outputs if they are configured to trigger at the same time.

Dynamic Perception Multi-Function Switch Blocks

The Multi-Function Switch Blocks provide a quick and easy way to interact with the inputs on the MX2. They can be used either as limit switches, or as remote toggles.  For information about how to configure the MX2 to work with the switch blocks in a particular role, see the sections below.

Creating Limit Switches

For limit switches, the best type to use are momentary micro switches with a lever, either SPST (normally open), or SPDT (choose between normally open and normally closed).  These switches are easily sourced cheaply, and work very well as limit switches.  It is important to use the correct kind of switch for the correct application: the "lever-style" limit switches that have an arm are designed to be placed in a fixed position and the moving object should trip them by moving into them; if you want to place your switches on your cart - use a plunger-style switch instead.

To wire up your limit switch, connect the GND lead from your cable (the Sleeve of the TRS connector) to the Normally Open connector on the switch, and connect either the Ring (Input 1 in the MX2 firmware) or the Tip (Input 2 in the MX2 firmware) to the signal connector.   Leave the normally closed contact unconnected!  Now, when the switch is depressed, the input will be connected to the GND signal, and the MX2 will recognize it.

When using limit switches on your cart, you should generally have one on each side of the cart, to stop it from moving too far in either direction.  You can use the same input for both switches to save yourself an input on the MX2, just splice in some extra wires.  The best place to locate your switches are on the cart its self, either glued or fastened to the edges such that the belt clamps trip the switches.  By placing them on the cart, you will reduce the amount of wiring you need to use.

Remember that the Ring is Input 1 in the MX2 firmware and the Tip is Input 2 in the MX2 firmware.

NOTE: The limit switch function will only work when the program is ‘on’, do NOT rely on limit switches in manual motor control!  The input toggles do not apply to manual motor control and you must prevent over-running the belt clips by releasing the direction button before you hit them.


To configure the firmware to recognize your input as a limit switch:

  1. [Enter] to enter the main menu
  2. [Down] to select Settings and press [Enter]
  3. [Down] to select Input x and press [Enter]
  4. [Up] or [Down] to set the value to Stop
  5. [Enter] to save or [Right] to abort

Creating Your Own Remote Toggle Switch

You can create your own toggle switch to start and stop the program from running when you press a remote button.  Just like with limit switches above, we’ll use a TRS cable to connect a momentary switch to the MX2.  For this purpose, it is better to use an SPST Momentary Pushbutton (normally open) which are very easy to source and inexpensive.  Connect one of the leads to one of the input conductors and the other to GND.  Once you have configured the firmware correctly, every time you press the switch, the program will start if it is stopped, or stop if it is started.

Some wired remotes for cameras that have a 2.5mm TRS connector may work fine with the MX2, as long as they are not powered (no battery).  You may have to experiment to see which input is triggered when using it.

To configure the firmware to recognize your input as a toggle switch:

  1. [Enter] to enter the main menu
  2. [Down] to select Settings and press [Enter]
  3. [Down] to select Input x and press [Enter]
  4. [Up] or [Down] to set the value to Toggle
  5. [Enter] to save or [Right] to abort

Controlling Inexpensive Telescope Heads

The MX2 controller is capable of controlling a low-cost motorized telescope head, in addition to its two axes of DC motor control. This functionality can be used to quickly and easily add pan and tilt control to your MoCo project at a very low cost. The following telescope mounts are supported:

  • Acuter Merlin
  • Merlin SynScan AZ GoTo
  • Orion Teletrack
  • Skywatcher Multifunction
  • Celestron Skywatcher ('Backpacker')

You’ll notice that the only difference between these mounts is the name brand and the hand-controller on it.  You do not need to buy the GoTo models, as the extra cost will be unrealized (the MX2 replaces the hand-controller when used with the MX2 or the Stage Zero).  Please note that these are the only officially supported telescope mounts.  Other models produced by Synta or the other name brands they market under may work but have not been tested, and even if they do support the same protocol, they may have wildly different wiring requirements that may make them incompatible.  From here on out, we will refer to these heads collectively as Merlin.

How The Merlin Integration Works

The MX2 controller is capable of pretending to be the hand-controller shipped with the telescope head.  It is used in place of the original hand controller. A special connector cable is made (instructions below), and is used to connect the EXT 0 port on the MX2 to the HC port on the Merlin.  Once the telescope functions have been enabled in the MX2 firmware, you will now have a new manual control option labeled ‘Scope’, and a second home screen will be available allowing you to specify the movement speeds or distances for the pan and tilt axes during program execution.

The MX2 communicates with the Merlin via a specially constructed cable, and uses a textual serial protocol to transmit and receive information from the Merlin mount.

Much of the integration work is based on the great work done by Gustav Evertsson on hisGigapixel Photo Rig and the Papywizard group where they have been working with the Merlin heads for some time.  The MX2 firmware requires a modified version of Gustav’s MerlinMount library that enables greater control of the head.


It goes without saying, there are always some limitations, and the Merlin control has a few:

  • Ramping/feathering is not supported for the Merlin axes
  • You cannot upload firmware with the Merlin cable connected to the MX2
  • You must have the Merlin powered on and connected before attempting to use any Merlin-related features, or the MX2 will lockup and require a power cycle before responding
  • You are limited to 1/10th of a degree speed/motion inputs for the Merlin head
  • The Merlin head does not support Calculated Interleave mode, only Fixed Interleave and Continuous motion modes are supported.
  • You cannot perform any other Serial communications with the MX2 via the USB port when the Merlin cable is connected
  • You cannot use the camera port on the Merlin
  • The Merlin requires its own 12V power supply
    • You can, however, use a Y-adapter for the 2.1mm power cable provided for the MX2
    • You can also run the Merlin off of AA batteries

Running on USB Power Alone

If you wish to only control the Merlin and your camera with the MX2, and not control other DC motors via the motor ports, you may power the MX2 off of five volts via the USB cable.   The Merlin will still need its own power supply, either via AA batteries or a 12V DC feed to the Merlin’s power input port.

Enabling Scope Control

To be able to control the Merlin via the MX2, you must enable the scope control in the firmware.  This setting is found under the global settings menu. IF THE MERLIN IS NOT CONNECTED OR IF THERE IS A COMMUNCATION ISSUE BETWEEN THE TWO DEVICES THE MX2 WILL FREEZE/LOCKUP.

To enable Scope Control:

  1. [Enter] to enter the main menu
  2. [Down] to select Settings and press [Enter]
  3. [Down] to select Scope and press [Enter]
  4. [Up] or [Down] and choose  On
  5. [Enter] to save or [Right] to abort

Manually Positioning the Merlin

Once you have enabled scope control, you will now have a new option available in the manual control screen labeled scope.  This option enables you to control both axes of the Merlin from a single screen.

Inside the scope manual control screen, use [left] to cause the pan (yaw) axis to start moving left, and [right] to cause the pan axis to start moving right.  Pressing either button again will cause the motion to stop.  [up] and [down] cause the tilt (pitch) axis to move either up or down, again, pressing either a second time will stop movement.

Press [enter] to exit this screen and return to the main manual control screen.

You can configure the speeds at which the pan and tilt axes move in the scope manual control screen by accessing the Main Menu->Scope menu, and configuring the desired manual speed, from 0.1 deg/minute, to 1,440 deg/minute.


  1. [Enter] to enter the main menu
  2. [Down] to select Manualand press [Enter]
  3. [Down] to select Scope, and press [Enter]
  4. [Up], [Down], [Left], and [Right] to position the Merlin
  5. [Enter] to exit the manual control screen
  6. [Right] to return to the main menu

Configuring the Merlin for Use During a Shot

Once you have enabled scope control in the MX2 firmware, you will now have an additional home screen available.  To access the additional home screen, simply press [Up] on the home screen with no items selected, it will switch to a new screen that looks like the following:

Off     Scope
R0.0    U0.0

This is the scope control screen.   Like the normal home screen, you can use [Right] and [Left] to select an item to edit, the On/Off control works just as with the normal home screen, starting or stopping the current shot program.  The pan axis is displayed first, and then the tilt axis, these values can be modified just like the normal axis controls on the normal home screen.  You can select R for right or L for left for pan, or U for up and D for down for the tilt axis.

Distance values are input in tenths of degrees from 0.1 to 360.  When in continuous motion mode these values indicate how many degrees to move per minute, whereas in interleaved mode, these values indicate how many degrees to move between each shot.  Scope motion control always inherits from the global motion control mode with one caveat: when in interleaved mode, the Merlin will only operate in Fixed SMS, even no other axis is set to fixed SMS.  Additionally, ramping is not supported for the Merlin head at this time.

To exit the scope control screen, simply press [Up] again with no values currently selected for editing.  You may switch back and forth between these home screens while the program is executing without issue.

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request


Powered by Zendesk