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
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.
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.
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
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.
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.
If you're experiencing issues with Moonlink, follow these steps to diagnose and resolve them:
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.'
2️⃣ Moonlink Not Working After Login
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.hexfile.For Arduino Due: Upload the
.binfile.
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
Open Device Manager on the 2nd PC.
Locate CP2102 under Ports (COM & LPT).
Right-click CP2102 → Select Properties.
Go to the Power Management tab.
Uncheck "Allow the computer to turn off this device to save power."
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

Install Visual C++ Redistributable Runtimes All-in-One
5️⃣ Final Steps for Both Arduino Leonardo & Due
Open Command Prompt (CMD) (Do not run as administrator).
Drag the Moonlink.exe file into the command window.
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