Simhub
  • WELCOME
  • Motion Addon
    • Getting started
    • Addon licence activation
    • OpenXR Motion compensation
    • OpenVR Motion compensation
    • WitMotion sensor for Motion compensation
    • Supported controllers
      • Generic serial controller
  • Standard Firmware Builder
    • Firmware introduction
    • Getting started
    • Manual compilation and customization
    • Testing and maintenance utility
    • References and troubleshooting
  • Others
    • Other simhub features
Powered by GitBook
On this page
  • Introduction
  • Required hardware
  • Physical installation
  • Wiring
  • Mounting
  • Simhub Setup
  • Calibration
  • Motion compensation mixing
  1. Motion Addon

WitMotion sensor for Motion compensation

PreviousOpenVR Motion compensationNextSupported controllers

Last updated 15 days ago

Introduction

If your actuators are slow, imprecise, or unpredictable, motion compensation may become inaccurate. When tuning motion compensation smoothing or scaling is not enough to fill the gap, adding a physical sensor can significantly improve the result.

The physical sensor will help Simhub to know the real orientation and feed accordingly the motion compensation layer ( OpenXR Motion compensation or OpenVR Motion compensation) Physical sensors can measure the following three components:

  • Yaw (can sometime overshoot or drift) in case of high velocity

  • Pitch angle

  • Roll angle

However, physical sensors are not perfect. Because this type of sensor applies strong internal smoothing, the measured position can be delayed. It also cannot measure heave, sway, or surge movements.

Nevertheless, when a sensor is available, SimHub blends its data with internal calculations to build complete motion compensation. If the sensor is disconnected or missing, SimHub will continue working using only its internal computations. Naturally, the result will differ — otherwise, there would be no reason to add a sensor.

This feature will be available from SimHub 9.8

Before investing in hardware, please note that both OpenVR and OpenXR motion compensation rely on third-party software that is not guaranteed to work with every game or headset and may become incompatible following VR framework or game updates.

Required hardware

The WitMotion range has many variations, so please pay close attention to the model you purchase.

  • Sensor : WT901C-232 , 9-Axis Vibration Inclinometer MPU9250, Asin B01N91GCJX

This exists in two models, RS232 or TTL, you need the RS232 version (WT901C-232)

  • Official RS232 to USB Adapter with CH340 chip, Asin : B07WF7BJJH

The kit (sensor + adapter) can be found here

  • Amazon:

Physical installation

Wiring

  • Plug the cable to the sensor

  • Plug the sensor to an usb port

Mounting

Install firmly the sensor on your simulator, you can install it vertically or horizontally .

Ensure it is installed far from magnetic interference sources (motors, wheels, bass shakers).

Horizontal mounting

In horizontal mounting you must have label on top, connector pointing to the right. You can adjust later the rotation if you could not keep the connector pointing to the right, but try to keep it as flat as possible.

Vertical mounting

In vertical mounting you must have label on the right, connector pointing to the floor. You can adjust later the rotation if you could not keep the label pointing to the right, but try to keep it as vertical as possible.

Reversed Horizontal mounting

In reversed horizontal mounting you must have label pointing to the floor, connector pointing to the right. You can adjust later the rotation if you could not keep the connector pointing to the right, but try to keep it as flat as possible.

Simhub Setup

In motion compensation settings, go into the physical sensor tab.

  • Enable the sensor

  • Select the serial port

  • Select the mounting mode

  • Adjust the yaw offset if you could not align the sensor as shown in the Mounting instructions; the preview will display a visual representation of the offset (for example, a 45° rotation).

Adjusting the yaw offset is critical, as it ensures SimHub correctly interprets the sensor’s mounting orientation, including:

  • Pitch and roll direction: if the sensor is rotated by 90°, pitch and roll will be swapped, and their directions may also be reversed.

  • Pitch and roll reference: an incorrect offset will result in mixed pitch and roll components.

SimHub takes care of it, as long as you give it the correct offset.

  • Perform an initial zero calibration.

  • Optional: Enable yaw drift correction to progressively compensate for yaw drifts.

About yaw drift : Yaw drift on the Witmotion sensor occurs easily, Simhub will only adjust the drift when expected yaw and sensor yaw are steady (and expected yaw close to 0). This means it will not attempt to compensate for unstable values during active yaw movements, even if drifting occurs.

Calibration

  • Start your platform. If it remains idle (outside of a game), use the "Force Unpark" button to unpark it, then open the VR MC Monitor dialog. If the settings are not visible, click on "Show MC Settings."

  • When the platform is running and flat, click on calibrate zero :

Calibration is not required every time, but it is recommended to redo it periodically or after any significant rig movement or modifications.

Motion compensation mixing

SimHub allows you to "mix" and "tune" sensor-based motion compensation with its own calculations, offering the best of both worlds.

Open the MC monitor (see #fine-calibration) and open the Global tab

You can now adjust for each motion compensation components how much of the compensation you want by enabling the physical sensor mixing.

  • 100% means Simhub will only trust the sensor

  • 50% means simhub will average evenly the simhub expected position with the sensor.

If the sensor reports slightly off values you can also scale it using the sensor gain

Motion is complex and not limited to yaw, pitch, and roll alone. Some missing components will still be computed by SimHub (and the "mixing" option won't be available), you can smoth,scale, or disable those at your will.

Smoothing should not be necessary for the sensor, as its internal smoothing and latency are already significant and additional smoothing would increase latency further.

Physical sensor values are injected into the compensation system using the same center of rotation as SimHub’s computations. Please pay attention to the following parameters:

  • In Simhub's geometry settings : Seat position and height for 2/3/6 DOFs and traction loss dimensions

  • In Game, make sure to get a matching COR (see OpenXr or OpenVR instructions). Unmatched COR, makes any computations senseless.

ERacing lab :

Sensor :

Cable :

https://eracing-lab.com/collections/diy-projects/products/witmotion
https://amzn.eu/d/7a48q7o
https://amzn.eu/d/39y4NYL