Moonlink Overview

Overview

Moonlink captures your mouse input (movement, buttons, scroll) and forwards it over USB to a hardware device that appears as a native HID mouse to the target machine. Mouse movement is injected through a named pipe, bypassing the Windows cursor entirely.


Tabs

Moonlink's interface is organized into three tabs: Device, Tuning, and Misc.


Device Tab

Connection

Setting
Description

COM Port

The serial port your Moonlink device is connected to. Auto-detected on startup if a known device is found.

Baud Rate

Communication speed. Moonlink auto-negotiates up to 312500 baud for lowest latency. Default fallback is 115200.

Connect / Disconnect

Manually connect or disconnect from the device.

Input Masking

Block specific mouse buttons from being forwarded to the device. Useful when your software uses certain buttons for its own controls.

Setting
Description

Block Right Click

Prevents right-click from being sent to the device.

Block Back Button

Prevents mouse back button (Mouse4) from being sent.

Block Forward Button

Prevents mouse forward button (Mouse5) from being sent.


Tuning Tab

Blend

Controls how physical (your hand) and injected mouse movements interact.

Setting
Description

Bypass Mode

When enabled, physical and injected input are added together raw with no blending or filtering.

Physical Priority Window

How long (1–1000 ms) after you stop moving your mouse before injected input resumes. Higher values give your physical mouse stronger priority. Default: 50 ms.

Status indicator — Displays idle or active to show whether physical mouse movement is currently detected.


Misc Tab

Output

Setting
Default
Description

Output Rate

1000 Hz

How many packets per second are sent to the device. Options: 1000, 2000, 4000, 8000 Hz. Higher rates use interpolation to subdivide movements.

Enable Interpolation

Off

Smooths output at rates above 1000 Hz by subdividing each movement across multiple packets. When disabled, output runs at 1000 Hz regardless of the rate setting.


Gear Menu (top-right)

App-level settings accessible from the gear icon.

Setting
Description

Always On Top

Keeps the Moonlink window above other windows.

Debug Output

Enables verbose logging to Moonlink-Debug.log.


Config File

All settings are saved to moonlink.json in the Moonlink directory. The file is created automatically with defaults on first launch.

All settings take effect immediately — no restart required.



1️⃣ First-Time Login

  • Register an Account:

    • Enter your username and password.

    • Input 1 of the following: Color, AI, or Moonlink key.

    • Ensure there are no extra spaces in the key field before clicking 'Register.'


Check Folder Structure

  • Ensure there is only one Moonlink folder on your 2nd PC.

    • Multiple folders can cause conflicts.

Verify Firmware Upload

Make sure the correct firmware is uploaded to your Arduino:

  • For Arduino Leonardo: Upload the .ino.hex file.

  • For Arduino Due: Upload the .bin file.


3️⃣ Device-Specific Checks

For Arduino Leonardo Users

Check CP2102 Connection

  • CP2102 should be plugged into the 2nd PC.

  • Arduino Leonardo should be plugged into the Main PC.

  • Ensure all jumpers are properly connected.

Disable Power Management for CP2102

  1. Open Device Manager on the 2nd PC.

  2. Locate CP2102 under Ports (COM & LPT).

  3. Right-click CP2102 → Select Properties.

  4. Go to the Power Management tab.

  5. Uncheck "Allow the computer to turn off this device to save power."

  6. Click OK.

Try Different USB Ports & Restart PCs

  • Test with different USB ports on both PCs.

  • Restart both PCs if needed.

For Arduino Due Users

Check Both Micro USB Cables

  • Use high-quality cables that support both data and power (avoid charging-only cables).

  • Swap out cables to test if one is faulty.

Try Different USB Ports & Restart PCs

  • Test different USB ports on both PCs.

  • Restart both PCs if needed.


4️⃣ Check for Windows OS Related Issues

If you try to open the exe and you get a cv2 recursion error, it never opens, force closes, or something else, you may need to follow these steps.

  • Check for Windows updates

    • Windows search bar --> settings --> Windows Update --> Check for updates

  • Sync your clock

    • Windows search bar --> Time & Language --> Date & Time

    Windows 10

Windows 11


5️⃣ Final Steps for Both Arduino Leonardo & Due

  1. Open Command Prompt (CMD) (Do not run as administrator).

  2. Drag the Moonlink.exe file into the command window.

  3. Press Enter and check for any error messages.


6️⃣ If All Else Fails

  • Check the .log file in the Moonlink folder and upload it in the support channel.


Following these steps should help resolve most common issues!

Last updated