THORLABS MCMK3 User manual

MCMK3 3-Axis USB HID
Joystick
User Guide

MCMK3 USB HID Joystick
Table of Contents
Chapter 1 Introduction ...............................................................................................................1
Chapter 2 Getting Started...........................................................................................................3
2.2.1 Minimum computer Requirements..................................................................................................................... 3
2.2.2 Setup ................................................................................................................................................................... 3
Chapter 3 Software.....................................................................................................................5
3.1.1 Installation........................................................................................................................................................... 5
3.1.2 Setup ................................................................................................................................................................... 6
3.1.3 Actions................................................................................................................................................................. 7
3.2.1 Installation......................................................................................................................................................... 11
3.2.2 Setup ................................................................................................................................................................. 11
3.2.3 User Interface.................................................................................................................................................... 12
3.2.4 Troubleshooting Guide...................................................................................................................................... 13
Chapter 4 USB HID In and Out Reports......................................................................................17
Chapter 5 Maintenance ............................................................................................................19
5.2.1 Problem/ Solution Table ................................................................................................................................... 19
Chapter 6 Specifications ...........................................................................................................21
Chapter 7 Mechanical Drawings................................................................................................22
Chapter 8 Certifications and Compliance...................................................................................23
Chapter 9 Warranty and RMA Information................................................................................24
Chapter 10 Thorlabs Worldwide Contacts ...................................................................................25

MCMK3 USB HID Joystick Chapter 1: Introduction
Rev. A, February 3, 2023 Page 1
Chapter 1 Introduction
The MCMK3 3-Axis USB HID Joystick consists of a hand-operated knob box with an attached USB cable. Each of
the three side faces of the knob box include a Rotating Encoder Knob and a Push-button LED switch (with a green
LED). A smaller knob on the top face adjusts the velocity output of the bigger rotating knobs.
1.1 Device Overview
Figure 1 MCMK3 Joystick Elements
1.2 Safety Information
All statements regarding safety of operation and technical data in this user guide will only apply when the unit is
operated correctly. Please read the following warnings and cautions carefully before operating the device.
Warning
DO NOT use the device for anything other than its intended use. If the device is used in a manner
not specified by Thorlabs, the protection provided by the equipment may be impaired.
Caution
DO NOT operate in a wet, damp, or explosive environment.
USB Cable
Rotating Encoder
Knob
Face 2
Enable/Disable
Switch
Face 1
Speed Control
Knob
Face 3

MCMK3 USB HID Joystick Chapter 1: Introduction
Page 2 TTN279970-D02
Caution
The product has been tested and found to comply with the limits according to IEC 61326-1 for
using connection cables shorter than 3 meters (9.8 ft).
Note
This equipment has been tested and found to comply with the limits for a Class A digital device,
pursuant to Part 15 of the FCC Rules and meets all requirements of the Canadian Interference-
Causing Equipment Standard ICES-003 for digital apparatus.
Note
This equipment has been tested and found to comply with the limits for a Class A digital device,
pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection
against harmful interference when the equipment is operated in a commercial environment. This
equipment generates, uses, and can radiate radio frequency energy and, if not installed and used
in accordance with the instruction manual, may cause harmful interference to radio
communications. Operation of this equipment in a residential area is likely to cause harmful
interference in which case the user will be required to correct the interference at his own
expense.

MCMK3 USB HID Joystick Chapter 2: Getting Started
Rev. A, February 3, 2023 Page 3
Chapter 2 Getting Started
2.1 Unpacking and Inspection
Open the package, and carefully remove the MCMK3 Joystick. Inspect the device for any missing parts or damage.
If there is any problem, please contact our nearest office (see Chapter 10, on Page 25 for details).
Figure 2 MCMK3 Packaging
2.2 Setting up the MCMK3 Joystick
2.2.1 Minimum Computer Requirements
Operating System
Windows 7 (or later)
Other Software
Microsoft .NET 4.8 or later
USB Version
USB 2.0
2.2.2 Setup
1. Plug the MCMK3 USB cable into the computer.
2. You should see the below popup message:
Figure 3 MCMK3 Device Setup Popup

MCMK3 USB HID Joystick Chapter 3: Software
Rev. A, February 3, 2023 Page 5
Chapter 3 Software
Thorlabs offers two software tools for the MCMK3 Joystick. The first is the Thorlabs Joystick Firmware Update
Utility for firmware updates, and the second is the Thorlabs Joystick Test Utility for assessing the USB HID In and
Out report functionality of the MCMK3 Joystick. The latest versions of both of these, along with the firmware .hex
file, can be found on www.thorlabs.com.
3.1 Thorlabs Joystick Firmware Update Utility Installation and Update Procedure
The MCMK3 Joystick comes with the latest firmware version installed. Use the below processes to install the
firmware updater, and subsequently, to update the MCMK3 Joystick to the latest firmware version.
3.1.1 Installation
1. Navigate to the below Thorlabs software downloads page URL, where you can search for
the MCMK3 in the search tab.
https://www.thorlabs.com/software
After doing so, you will find a list of product specific documents available for download
for the MCMK3 Joystick.
2. On this page, navigate to the firmware update utility tab, and click on the download
button to begin downloading the utility installer, following the instructions that appear.
Make sure to note the location the installer is downloaded to.
3. Navigate to the location where the installer was downloaded, then right-click on the ZIP
file and extract all of the contents, noting the extraction directory.
4. Navigate to the extracted folder, and find and run the installer software, following the
instructions that appear, noting the location the software is installed to.
5. Locate and double-click on the application to run the Thorlabs Joystick Firmware Update
Utility.
If preferred, to access the application from another location, left-click on the file once,
and then right-click and select “Create shortcut”. Follow the instructions that appear, to
place the shortcut file in the desired location.

MCMK3 USB HID Joystick Chapter 3: Software
Page 6 TTN279970-D02
3.1.2 Setup
1. Plug the MCMK3 Joystick into an open USB port on your computer.
2. Navigate to and double click on the Thorlabs Joystick Firmware Update Utility icon.
3. The below window should appear stating the Device Name (MCMK3), and the Serial
Number (found on the baseplate of the MCMK3 Joystick). If the MCMK3 Joystick does not
appear here, please click the refresh button, or try to plug it into a different USB port on
your computer.
Figure 5 “Select a Device” Firmware Update Utility Window
4. Highlight the MCMK3 Joystick plugged into your computer by clicking once on the row
containing the Serial Number, and then click the Next button.
5. The below window should appear. From here, you can choose to update the firmware on
the MCMK3 Joystick to the latest version available, or verify the firmware version that is
currently installed. These two actions are explained in the next section.
Figure 6 “Select an Action” Firmware Update Utility Windowb

MCMK3 USB HID Joystick Chapter 3: Software
Rev. A, February 3, 2023 Page 7
3.1.3 Actions
From the “Select an Action” Window you have the option to either update the firmware, or verify the firmware
installed on the MCMK3 Joystick. Both of these actions are explained in more detail below. First however, it is
important to download the most up to date firmware version for the MCMK3 Joystick from the website.
1. Download Firmware
a. Navigate to the below Thorlabs software downloads page URL, where you can search for
the MCMK3 in the search tab. After doing so you will find a list of product specific
documents available for download for the MCMK3 Joystick.
https://www.thorlabs.com/software
b. On this page, navigate to the firmware tab, and click on the download button to begin
downloading the firmware, following the instructions that appear. Make sure to note the
location the firmware is downloaded to.
2. Update Firmware
a. Select the Update Firmware option on the “Select an Action” Window and click the Next
Button.
Figure 7 Update Firmware Selected
b. Click the Browse button and navigate to the location the firmware was saved to, and
select the firmware file, then click the Next button.
Figure 8 Browse to and select Firmware to update to

MCMK3 USB HID Joystick Chapter 3: Software
Page 8 TTN279970-D02
c. Click on the Install button, and wait for the progress bar to finish. A message will pop up
saying that the Update has been completed. Please power cycle the MCMK3 Joystick
before use, by unplugging and plugging in the USB cable.

MCMK3 USB HID Joystick Chapter 3: Software
Rev. A, February 3, 2023 Page 9
3. Verify Firmware
a. Select the Verify Firmware option on the “Select an Action” Window and click the Next
Button.
Figure 9 Verify Firmware Selected
b. Click the Browse button and navigate to the location the firmware was saved to, and
select the firmware file, then click the Next button.
Figure 10 Browse to and select Firmware to Verify against

MCMK3 USB HID Joystick Chapter 3: Software
Page 10 TTN279970-D02
c. Click on the Verify button, and follow the on screen instructions. You will need to power
cycle the MCMK3, then click OK on the pop-up window, and then click the Next button.
Figure 11 Power Cycle pop-up window
d. Wait for the progress bar to finish, and then click Next. A message will pop up indicating
if the verification has been successful.
Figure 12 Successful Firmware Verification
In the case that the verification has not been successful, please ensure that the correct,
and most up to date firmware file for the MCMK3 Joystick has been downloaded, as
described in Section 3.1.3, Step 1, above. Please also ensure that this file has been
correctly selected in Step 3(c) above.
If the firmware file is correct and up to date, and you are still encountering issues when
attempting to verify the firmware on the MCMK3 Joystick, please contact our nearest
office (see Chapter 10, on Page 25 for details) for assistance from an applications
engineer.

MCMK3 USB HID Joystick Chapter 3: Software
Rev. A, February 3, 2023 Page 11
3.2 Thorlabs Joystick Test Utility Installation Procedure
The Thorlabs Joystick Test Utility can be used to verify the HID In and Out reporting of the MCMK3 Joystick through
a visual interface.
3.2.1 Installation
1. Navigate to the below Thorlabs software downloads page URL, where you can search for
the MCMK3 in the search tab.
https://www.thorlabs.com/software
After doing so, you will find a list of product specific documents available for download
for the MCMK3 Joystick.
2. On this page, navigate to the Test utility tab, and click on the download button to begin
downloading the utility installer, following the instructions that appear. Make sure to
note the location the installer is downloaded to.
3. Navigate to the location where the installer was downloaded, then right-click on the ZIP
file and extract all of the contents, noting the extraction directory.
4. Navigate to the extracted folder, and find and run the installer software, following the
instructions that appear, noting the location the software is installed to.
5. Locate and double-click on the application to run the Thorlabs Joystick Test Utility.
If preferred, to access the application from another location, left-click on the file once,
and then right-click and select “Create shortcut”. Follow the instructions that appear, to
place the shortcut file in the desired location.
3.2.2 Setup
1. Plug the MCMK3 Joystick into an open USB 2.0 (or higher) port on your computer.
2. Double-click on the Thorlabs Joystick Test Utility.
3. The Test Utility home screen should appear. The MCMK3 Joystick should be recognized
automatically, and the utility should display the Serial Number found on the bottom of
the MCMK3 Joystick.
The Test Utility is now ready for use with the MCMK3 Joystick.

MCMK3 USB HID Joystick Chapter 3: Software
Page 12 TTN279970-D02
3.2.3 User Interface
The below diagram depicts and labels some of the basic software features on the Thorlabs Joystick
Test Utility that will be referenced in case the need for troubleshooting arises.
Figure 13 Test Utility User Interface
1. Serial Number Display Area: Joystick Serial Number will display here
2. Face Control Box: Everything displayed within this box pertains to the Face on the Joystick
with the same number. For example, the Face 1 Control Box will display and control
encoder inputs and Push-button inputs and outputs only from Face 1.
3. Push-button Depression Indicator: This Push-button symbol will turn red when the Push-
button on the Joystick is pressed.
4. Push-button LED Slider: This 0% to 100% slider controls the brightness of the Push-button
LED.
5. Clockwise and Counterclockwise Rotation Direction Arrows: These arrows turn blue to
match the direction the Encoder Knob is rotated in
6. Encoder Knob Rotation Velocity Gauge: This gauge, where each tick from left to right
represents 10% of maximum velocity, will fill up as the Encoder Knob is rotated at a faster
rate.
*: The maximum achievable velocity is determined by the position of the speed knob.
7. Idle Indicator: This indicator is green and the text “Idle” is displayed when there is no
signal output from the joystick. When a signal is received, the indicator turns yellow and
the text “Busy” is displayed.
NOTE: For any issues encountered during Setup, or when using the MCMK3 Joystick,
please refer to Chapter 5, on Page 19 for troubleshooting help.
1
2
3
4
5
5
6
7
*

MCMK3 USB HID Joystick Chapter 3: Software
Rev. A, February 3, 2023 Page 13
3.2.4 Troubleshooting Guide
This guide can be used to determine if any issues experienced while using the MCMK3 Joystick are originating
from within the joystick, whether related to hardware or software, or if the issues are originating from the device
the joystick is plugged into.
1. Encoder and Speed Knob Testing
a. Rotation Direction Test
i. Rotate the Encoder Knob on Face 1 clockwise at a constant rate. Check to see that the
arrow pointed in the clockwise direction is highlighted blue, and that the rotation
velocity gauge is filling up, in the Face 1 Control Box, as shown below.
Figure 14 Clockwise Rotation on Test Utility
ii. Rotate the Encoder Knob on Face 1 counterclockwise at a constant rate. Check to see
that the arrow pointed in the counterclockwise direction is highlighted blue, and that
the rotation velocity gauge is filling up, in the Face 1 Control Box, as shown below.
Figure 15 Counterclockwise rotation on Test Utility
iii. Repeat steps i-ii for each Knob, checking to see that the Knob on Face 2 displays
information in the Face 2 Control Box, and that the Knob on Face 3 displays
information in the Face 3 Control Box.
Note that the amount the rotation velocity gauge is filled up does not matter in this
test, only that it does fill up. This concludes the Rotation Direction Test. If the MCMK3
Joystick is not functioning as explained above, please contact our nearest office (see
Chapter 10, on Page 25 for details).

MCMK3 USB HID Joystick Chapter 3: Software
Page 14 TTN279970-D02
b. Rotation Velocity Test
i. Rotate the Encoder Knob on Face 1 clockwise or counterclockwise slowly, paying
attention to the amount the rotation velocity gauge is filling up, in the Face 1 Control
Box, as shown below.
Figure 16 Low Rotation Velocity on Test Utility
ii. Next, rotate the Encoder Knob on Face 1 clockwise or counterclockwise quickly,
paying attention to the amount the rotation velocity gauge is filling up, in the Face 1
Control Box, as shown below.
Figure 17 High Rotation Velocity on Test Utility
iii. Check to see that the amount the rotation velocity gauge is filling up increases as
you rotate the knob more quickly, and decreases as you rotate the knob slowly.
Repeat i-ii for Knobs 2 and 3. This concludes the Rotation Velocity Test. If the MCMK3
Joystick is not functioning as explained above, please contact our nearest office (see
Chapter 10, on Page 25 for details).

MCMK3 USB HID Joystick Chapter 3: Software
Rev. A, February 3, 2023 Page 15
c. Speed Knob Test
i. Rotate the Velocity (Speed) Knob on top of the MCMK3 Joystick counterclockwise
until it stops (rotate to minimum).
ii. Rotate the Encoder Knob on Face 1 in either direction at a constant rate. Take note
of the amount the rotation velocity gauge is filling up in the Face 1 Control Box.
Figure 18 Low Speed Knob Setting
iii. Gradually rotate the Speed Knob clockwise and then gradually counterclockwise
(increasing and decreasing speed), while still rotating the Encoder Knob on Face 1 in
either direction at a constant rate. Increasing the speed should increase the amount
the rotation velocity gauge is filling up in the Face 1 Control Box, while decreasing
the speed will decrease the amount the velocity gauge is filled up.
Figure 19 High Speed Knob Setting
iv. Repeat i-iii for Knobs 2 and 3. This concludes the Speed Knob Test. If the MCMK3
Joystick is not functioning as explained above, please contact our nearest office (see
Chapter 10, on Page 25 for details).

MCMK3 USB HID Joystick Chapter 3: Software
Page 16 TTN279970-D02
2. Push-button LED Testing
a. Button Test
i. Press the Push-button on Face 1 multiple times, and check that the Push-button
depression indicator in the Face 1 Control Box changes colors in response.
Figure 20 Push-button depression indicator
ii. Repeat the above step for the Push-buttons on Face 2 and Face 3, checking to see
that the Push-button depression indicator changes colors in the Face 2 and Face 3
control boxes.
This concludes the Button Test. If the MCMK3 Joystick is not functioning as explained
above, please contact our nearest office (see Chapter 10, on Page 25 for details).
b. LED Test
i. In the software, find the Push-button LED brightness slider in the Face 1 Control Box,
shown in a red box on the image below. Move this slider to around 50%, and then to
100%, while checking to see that the LED brightness follows the slider percentage.
Figure 21 Push-button LED brightness slider
ii. Repeat the above step to test the Push-button LEDs on Face 2 and Face 3, using the
Push-button LED brightness slider in the Face 2 and Face 3 control boxes respectively.
This concludes the Push-button LED Test. If the MCMK3 Joystick is not functioning as
explained above, please contact our nearest office (see Chapter 10, on Page 25 for
details).

MCMK3 USB HID Joystick Chapter 4: USB HID In and Out Reports
Rev. A, February 3, 2023 Page 17
Chapter 4 USB HID In and Out Reports
The MCMK3 joystick is a USB HID Class Device, and as such can be configured and used with a variety of different
joysticks that can utilize the USB HID Class. More resources regarding the Device Class Definition for USB HID can
be found at usb.org/hid. The hardware controls, and the IN and OUT Report Structure used specifically for the
MCMK3 joystick are explained in more detail below.
4.1 Hardware Controls Overview
The table below describes all hardware controls on the MCMK3 joystick.
Hardware Control
Description
HID Report Summary
Position Knob
(One per Face)
Encoder Knob
16 bit IN report each, 10 bits
dedicated to speed
Push-button LED
(One per Face)
Push-button switch with green LED
indicator
1 bit IN report, and 1 bit OUT
report for each button
Speed Knob
(Top of Device)
Potentiometer where adjustment affects
the maximum output possible from
position knob input
N/A (Internal modulation of
position knobs)
4.2 VID and PID
For those interested in configuring the MCMK3 Joystick for their own applications, the VID and PID used to identify
the joystick are listed in the table below. These can also be found by finding the device in the Device Manager
(under HID devices), and then right-clicking and going to Properties →Events →Information.
Figure 22 Device Manager Information
4.3 USB HID IN Report
The table below details the IN report by byte, where Knob 0, Knob 1, and Knob 2 refer to the Rotating Knobs, and
B0, B1, and B2 refer to the Push-button switches:
Byte 7
Byte 6
Byte 5
Byte 4
Byte 3
Byte 2
Byte 1
Byte 0
NA
NA
NA
NA
NA
NA
B2
B1
B0
Knob 2
Knob 1
Knob 0
0
0
0
0
0
0
0/1
0/1
0/1
0 to 1023
0 to 1023
0 to 1023
•The Rotating Knobs will produce a value equal to 511 in the IN report when there is no input detected.
•The Rotating Knobs will produce a value in the IN report from 510 to 0 for a counterclockwise rotation,
and from 512 to 1023 for a clockwise rotation.
oThe deadband can be increased to decrease the sensitivity of the knobs
•The actual value produced in the IN report is dependent on the velocity at which the knob is being rotated,
and the position of the Speed Control Knob.
•The Push-button will produce a value of either 0 or 1 in the IN report dependent on whether the button
is pressed or released.
VID
PID
0x1313
0x2005

MCMK3 USB HID Joystick Chapter 4: USB HID In and Out Reports
Page 18 TTN279970-D02
4.4 USB HID OUT Report
The table below details the OUT report by byte, where LED 0, LED 1, and LED 2 refer to the LEDs on the Push-
buttons:
Byte 3
Byte 2
Byte 1
Byte 0
Internal Use
LED 2
LED 1
LED 0
N/A
0 to 255
0 to 255
0 to 255
•The OUT report, with a byte dedicated to each Push-button LED contains a value from 0 to 255, with the
LED off when receiving a value of 0 and the LED at maximum brightness when receiving a value of 255.
Table of contents
Other THORLABS Video Game Controllers manuals