Handheld as PC Wireless Motion Controller (DSU Protocol)
Why buy an expensive Wiimote or DualSense controller just to aim in Dolphin or solve gyro shrines in Cemu? Your Retroid Pocket or Odin 2 already possesses a studio-grade 6-axis IMU gyroscope. Stream low-latency motion telemetry to your desktop PC over local UDP Wi-Fi.
📡 Live 6-Axis IMU Orientation & DSU UDP Packet Stream
Adjust the Roll, Pitch, and Yaw controls to see the real-time 3D handheld attitude indicator rotate and view the binary DSU UDP telemetry packet structure.
🎮 Step-by-Step PC Emulator Configuration
Configure your favorite PC emulators to receive the handheld's wireless DSU motion stream:
- Open Dolphin on PC -> Controllers -> Alternate Input Sources.
- Check "Enable", enter Server Address:
127.0.0.1(or your handheld's IP), Port:26760. - Configure Emulated Wii Remote -> Point / Tilt / Shake -> Select "DSUClient/0/DualShock".
- Enjoy pointing and flicking in Super Mario Galaxy and Zelda: Skyward Sword!
- In Cemu -> Options -> GamePad motion source -> Select DSU1.
- Verify IP is set to
127.0.0.1:26760or your Wi-Fi IP. - Under Input Settings, set Emulated Controller to "Wii U GamePad".
- Aim bow shots and solve apparatus shrines effortlessly by tilting your handheld!
24 Handheld IMU Gyroscope Hardware & DSU Compatibility Matrix
Physical gyroscope hardware, sensor polling rate (Hz), recommended DSU server app, and zero-point calibration stability.
| Console | Physical IMU Sensor | Polling Rate | DSU Server Method | Drift Stability |
|---|---|---|---|---|
| Retroid Pocket 5 / Mini | 6-Axis Bosch BMI160 / ICM-42607 | 100 Hz | Android (MotionSource APK) | Excellent (Factory Calibrated) |
| Retroid Pocket 4 / 4 Pro | 6-Axis InvenSense MPU6050 | 100 Hz | Android (MotionSource APK) | Very Good |
| Odin 2 / Odin 2 Portal | High-Precision 6-Axis Bosch IMU | 200 Hz | Android (Full DSU / GamePad) | Studio Grade (<0.2°/s) |
| Steam Deck OLED | Dual 6-Axis Bosch IMU (Steam Controller API) | 250 Hz | SteamOS / ScpToolkit DSU | Studio Grade |
| Anbernic RG406H / RG406V | 6-Axis Gyroscope / Accelerometer | 100 Hz | Android Native | Good |
| Anbernic RG-Cube | 6-Axis Gyroscope | 100 Hz | Android Native | Good |
| Anbernic RG35XX SP (Clamshell) | No Physical IMU Gyroscope | N/A | Not Supported | N/A |
| Anbernic RG35XX H / Plus | No Physical IMU Gyroscope | N/A | Not Supported | N/A |
| Miyoo Mini Plus / v4 | No Physical IMU Gyroscope | N/A | Not Supported | N/A |
| TrimUI Smart Pro | No Physical IMU Gyroscope | N/A | Not Supported | N/A |
| Powkiddy RGB30 | No Physical IMU Gyroscope | N/A | Not Supported | N/A |
| Ayaneo Pocket S | 6-Axis Ultra-Precision IMU | 200 Hz | Android Native | Studio Grade |
Frequently Asked DSU Motion Questions
What is the DSU (DualShock UDP / Cemuhook) motion server protocol?
The DSU protocol (originally created for the Cemuhook Wii U emulator plugin) is a standardized UDP network protocol that streams raw 6-axis IMU sensor telemetry (3-axis gyroscope angular velocity + 3-axis accelerometer gravity vectors) over local Wi-Fi on UDP port 26760. Emulators on PC (like Dolphin, Cemu, Citra, Yuzu, and Ryujinx) listen on this port to receive high-precision motion controls without requiring physical Nintendo Wiimotes or proprietary Sony hardware.
How do I turn my Android retro handheld into a PC motion controller?
On Android handhelds (like Retroid Pocket 4/5, Odin 2, or Anbernic RG406H): 1) Install the open-source 'MotionSource' or 'Android DSU Server' APK, 2) Launch the app and note your handheld's local IP address (e.g. 192.168.1.150:26760), 3) On your desktop PC emulator (Dolphin/Cemu), navigate to Motion Input / Alternate Motion Sources, check 'DSU Client', and enter the handheld's IP address. The emulator will instantly receive real-time gyro and button inputs.
Can Linux handhelds (muOS, ArkOS, Batocera) stream DSU motion data?
Yes, provided the handheld has a physical IMU chip (such as the Powkiddy RGB30 or Anbernic RG-Cube) and runs a Linux DSU daemon (like 'dsu-nodemcu' or 'evsieve' mapped to UDP). However, Android-based handhelds are significantly easier to configure due to plug-and-play APK background services.
What network latency does DSU UDP introduce over local Wi-Fi?
Because DSU uses connectionless UDP packets transmitted at 100Hz (every 10ms), typical local Wi-Fi network latency is only 1.5ms to 3.5ms on a standard 5GHz home router. This is virtually imperceptible and rivals direct Bluetooth controller connections.
Why is my motion control spinning or drifting uncontrollably on PC?
IMU gyro sensors accumulate numerical integration drift if the baseline zero-point is uncalibrated. Before launching your PC emulator, place your handheld flat on a completely still, level table for 5 seconds inside the DSU server app and press 'Calibrate Gyro Zero'. This zeroes out thermal drift.
Does the DSU server also transmit physical button presses and analog sticks?
Yes! The full DSU protocol packet structure transmits a complete controller state: D-Pad, face buttons (A/B/X/Y), analog triggers (L2/R2), dual analog stick axes (LX/LY, RX/RY), and 6-axis motion. Your handheld effectively acts as a wireless Wii U GamePad or Switch Pro Controller.