Motion Layers Explained

Engine Vibrations (EV)

At any given engine speed, there are over a dozen vibrations, called orders of vibration. The 1st order is simply the engine speed i.e. At 3000 rpm, the 1st order is 50 Hz (3000 rpm ÷ 60 rev/s). The other orders of vibration are multiples of the 1st order. i.e. At 3000 rpm, the 2nd order is 100 Hz. Interestingly, there are also fractional orders i.e. At 3000 rpm, the 0.5 fractional order is 25 Hz.

The engine vibration layer works in pairs, meaning the two front motors work together and the two rear motors work together. Each motor from the pair plays a unique order of vibration. When an order of vibration reaches the maximum frequency possible, it will fade out and start to simulate a lower order of vibration. The EV algorithm prioritizes simulating the highest orders possible.

The simulation of many orders of vibration, and two at any given time, is a unique approach and creates a very realistic feel. This layer only simulates real orders of vibrations that would occur in a real engine.

The motors have a maximum vibration of 85 Hz for DK2 and 94 Hz for DK2+/DK6. To put this in perspective, various tactile research suggest that our bodies are really efficient in detecting vibration frequency up to 100 Hz, then the efficiency declines but still adequate by 300 Hz. Anything above this frequency, it is more efficient to reproduce this through a good sound system. In comparison to tactile transducers, they typically have a maximum vibration of 80 to 200 Hz. For the ultimate realism, we advise complimenting the DK motion systems with tactile transducers, especially those that operate higher than 90 Hz.

This layer also features automatic max rpm detection. This saves the user the burden of manually inputting the max rpm in the UI, which can become painful when switching cars. The max engine rpm is an important parameter because the controller needs to know the full rpm range of an engine, so it can calculate the correct intensity boost. The rate of boost is currently fixed in the firmware but we are looking at exposing this parameter through a tuning slider in the UI.

The controller runs a real-time OS (RTOS) which utilizes velocity control at 10kHz in order have very precise control of the vibration frequencies.



Road Vibrations (RV)

This layer captures the high-frequency vibrations for each suspension corner. These telemetry driven vibrations are analyzed in the Sigma Simulation software and streamed to the controller. The controller is running a Texas Instruments real-time OS (RTOS) that will accurately process and play these vibrations. The independent signal per corner allows a bias towards one side. i.e. When the driver-side wheels go over rumble strips, the vibrations in the simulation rig would be biased towards the driver-side.

The current vibration range of this layer is 10 Hz to 85 Hz for DK2 and 10 to 94 Hz for DK2+/DK6.

Gas/Brake Pitch

Surge is very responsive and highlights the driver's pedal inputs. Surge also induces pitch naturally, and this layer replicates the responsiveness of surge by converting to responsive pitch movements. As you increase this, consider reducing the Environment layer intensity.

Turning Roll

Sway is very responsive and highlights the driver's steering input. Sway also induces roll naturally, and this layer replicates the responsiveness of sway by converting to responsive roll movements. As you increase this, consider reducing the Environment layer intensity.


This layer captures the low-frequency up-and-down movement (up to 10 Hz). i.e. after a bump, suspension settling occurs at approximately 2 Hz.


This layer captures the true pitch & roll of the game-vehicle. Think of the game-vehicle chassis as a 2D plane. This layer replicates in real-time, that plane's orientation in 3D space with scaling up to 100 percent of reality.


The controller-box counts the number of motion-frames from the PC, per second. This shows the ability of the PC-side software to process the game-telemetry in a timely manner. When the system is running smoothly, this should equal the game's telemetry sampling rate.


PC-side conversion time from game-telemetry to motion-frames, which is sent to the controller-box for further processing. This is the PC-side latency of the motion system.