What is Open Sim Relay (OpenSR)?
OpenSR is a free middleware, i.e. an intermediary piece of software, designed to act as a bridge between any system that produces telemetry (racing simulators, games, data applications) and a wide variety of destination systems (devices of all kinds).
It is the successor to Ledsmaster and SLIMax Manager, software developed by Zappadoc (EKSIMRacing) since 2007 for the sim racing community. OpenSR is 100% free, no license, no activation, no hidden fees. The core of the software is distributed as a closed binary but is freely accessible, while the plugins can be open-source or proprietary depending on each developer’s choice.
OpenSR runs on Windows 10/11 64-bit, generally consumes less than 1% of CPU and a few megabytes of memory. It is designed to run in the background without impacting game performance. The plugins used may also consume CPU.
Architecture: how does it work?
The principle is simple: OpenSR decouples the source of data (the game) from the destination (the hardware).
1. “IN” Plugins (Sources)
Each supported game has an IN plugin that captures the game’s telemetry (speed, engine RPM, position, accelerations, etc.). This plugin converts this data according to the OpenSR orientation convention to make it uniform before distribution.
2. The Core (the central relay)
The heart of OpenSR is a server that manages the plugins’ lifecycle. It uses shared memory blocks to isolate the streams. The IN plugin writes its data into shared memory, and all active OUT plugins read from it in parallel. This mechanism makes the transfer nearly instantaneous without going through the network or burdening the CPU.
3. The “OUT” Plugins (Destinations)
They retrieve the data from shared memory and send it to the target hardware: LEDs, screens, steering wheels, motion platforms, IoT devices, etc.
The two data paths
OpenSR transports the information via two distinct channels:
OutSimData (the standard sim racing path)
This is the main channel. It carries structured telemetry: session (track, weather, timing), vehicle (speed, RPM, gear, fuel, state), player (position, laps, gaps), and motion data (motion data type pitch, roll, yaw, accelerations, G-forces).
Blob Data (the versatile path, 32 KB)
A generic 32-kilobyte data exchange space. It allows a specialized IN plugin to send non-standard data to one or several specialized OUT plugins, without modifying the core of the software. This is useful for experimental integrations, robotics systems, drones, or proprietary protocols. Example: an IN plugin that retrieves GPS coordinates and other data from a specialized application and converts them into a standardized protocol for drones, and OUT plugins that retrieve this standardized data to control drones in real time.
In addition, since version 0.5.0.3, OpenSR exposes 3 shared memory channels (Shared Memory) accessible to external applications (which are not plugins):
- Context Data (
Local\SMOSRCONTEXTDATA): application state, game PID (process identifier), folder paths (plugin and game profile). - Simulation Data (
Local\SMOSROUTSIMDATA): the high-frequency telemetry, identical to what the OUT plugins receive. - Blob Data (
Local\SMOSRBLOBDATA): the versatile channel, accessible read-only.
These channels are synchronized in real time by the host and accessible via the Windows OpenFileMapping API. The SDK provides examples in C++ (headers), C# (full wrapper) and Python (script osr_shared_mem_test.py with ready-to-use ctypes structures).
Built-in features
Beyond simple data relay, OpenSR integrates:
- Central dashboard: interface to manage plugins, enable/disable, configure game profiles.
- Smart Launcher: event-based automation system, launch a program or script or activate the built-in UDP Proxy Server on the startup of a game, on a button press, or a keyboard input.
- Macros: simulate keyboard keystrokes via buttons, encoders, or rotary switches.
- Arduino projects: native integration to create custom input controllers and RGB LEDs with Arduino-compatible boards.
- Hot Plug: ability to connect or disconnect a device in real time, even in the middle of a game session, without restarting the server or the game (when the hardware allows it).
The SDK (Software Development Kit)
The OpenSR SDK is the keystone of the project’s scalability. It includes:
- C++ headers defining the
IOpenSRPlugin(for IN) andIOpenSROutPlugin(for OUT) interfaces. - Templates and examples of complete plugins (native C++, but also C# and Python wrappers).
- Detailed technical documentation (SDK doc, ~18 pages).
What this concretely changes: any developer or hardware manufacturer can write a plugin to add a new game OR a new device to OpenSR. No need to modify the core of the software. The plugin is dropped into the right folder (Plugins/ or OutPlugins/) and the core loads it automatically.
Supported languages: C++ is the native and recommended choice. But C#, Python, Java, etc. are all possible via wrappers or interop layers.
Configuration: each plugin can manage its own parameters. OpenSR natively manages a settings.xml file and the game profiles, but the SDK allows creating a custom configuration interface (settings.dll or UI.dll) or using its own preference format (JSON, INI, or even a database).
Supported games
The list is massive and extends to infinity, since any game can be supported by writing a dedicated IN plugin.
The currently supported titles include: iRacing, Assetto Corsa, Assetto Corsa Pro, Assetto Corsa Competizione, Assetto Corsa EVO, Assetto Corsa Rally, Automobilista 2, BeamNG.drive, DCS (Motion), DiRT 4, DiRT Rally, DiRT Rally 2.0, Codemasters F1 2010 to 2021, EA F1 22/23/24/25, EA Grid Legends, EA SPORTS WRC 2023, Euro Truck Simulator 2, American Truck Simulator, Forza Horizon 4/5/6, Forza Motorsport 2023, GRID Autosport, GRID 2, GT Legends, GTR 2, KartKraft, Le Mans Ultimate, Live For Speed, Project CARS, Project CARS 2, Project CARS 3, Project Motor Racing, RaceRoom Racing Experience, rFactor, rFactor Pro, rFactor 2, Richard Burns Rally, WRC Generations, Wreckfest 2, Rally, GP Bikes, Kart Racing Pro, MX Bikes
Note: for the “Pro” versions (Assetto Corsa Pro, rFactor Pro), the plugins are available on request for professionals only.
Supported hardware
The current list (2026-09) includes: Once again, this list is not limited: any device can be supported if a developer writes the corresponding OUT plugin.
LEDs and displays:
- Leo Bodnar SLI interfaces (SLI-F1, SLI-PRO, SLI-M, SLI-FTEC)
- Digital dash VDASH-EMU (Windows, Android) with native support for Vocore screens and Stream Deck
- SIM Display (SIM RACE LCD, F1, Deluxe, PRO)
- Stream Deck (MK2, XL v1/v2) in standalone mode
- V2R Controller (based on Adafruit Trinket M0)
Steering wheels:
- Thrustmaster (TS-PC Racer Ferrari 488 Challenge Edition)
- All Fanatec hardware supported by the Fanatec 4.06 SDK
Motion platforms:
- 3DOF and 6DOF Motion plugins (see section below)
- Thanos AMC 600 controller (integrated direct support)
Compatible Arduino/ESP32 boards:
SparkFun Pro Micro (32u4), Raspberry Pi Pico, Pico W, Pico 2, Pico 2 W, Arduino Micro, Arduino Leonardo, Freenove ESP32-S3 VROOM-1, Waveshare ESP32-S3 DevKitC-1, Seeed Studio XIAO ESP32-S3, Adafruit Trinket M0, Adafruit ItsyBitsy M0, Adafruit ItsyBitsy M4
VoCore screens: USB Screen 4″, 4.3″, 5″, 6.8″ and Round (via VDASH-EMU)
SteelSeries SRW-S1 (steering wheel)
The Motion plugins (3DOF and 6DOF)
This is an important aspect of OpenSR that merits a clear explanation.
Principle: the Motion plugins are hardware-independent. They perform all the calculations (kinematics, gains, smoothing, clamping) and send the final cylinder positions, in millimeters, ready to be applied, via UDP (160-byte packet for 6DOF) or in future versions pipe or shared memory.
The user (or developer) simply has to write a bridge (application bridge) that:
- Receives the UDP packets
- Extracts the positions (A1 to A6, + optionally the additional cylinders Traction Loss, Sway, Surge1, Surge2)
- Sends these positions directly to the cylinders
No need to do inverse kinematics, geometry calculation, gains, smoothing, all of it is already done by the OpenSR plugin and can be parameterized in the game profiles.
6DOF plugin features:
- Stewart 6-axis platform (V-pair, 3 shared upper anchors)
- 4 additional motion channels (TL, SW, SR1, SR2) for extended platforms
- Real-time 3D viewer with telemetry HUD and saturation alert
- Per-game profiles: gains, smoothing, per-axis inversion, independently configurable
- Traction loss effect: the platform “slides” and rotates slightly when the rear breaks traction (based on yaw rate)
- Test/calibration mode (F1 key): sequential sweep of each axis to check the wiring
- Pause detection: the platform automatically returns to center when the game is paused
- Lost signal detection: if the bridge no longer receives packets for 2 seconds, it must return the cylinders to center
Compatible hardware:
- Dyadic SCN5/SCN6 (electric linear cylinders, via COM bridge)
- Thanos AMC 600 (direct support integrated into OpenSR, via COM port, experimental status)
- Any simulator system with a bridge capable of receiving UDP
The 3DOF plugin is a separate plugin, with a different UDP packet (92 bytes) and 4 cylinder positions + TL. It is intended for 4-leg platforms with optional lateral actuator.
Access levels and performance
This is a point where precision is needed to avoid confusion. OpenSR is free, but the refresh rate of the data (the frequency at which the telemetry is updated) depends on the account level (activation is done by logging into your account in OpenSR): When creating the account on the eksimracing.org forum, the amount of the donation defines the access level: without a donation it is the Basic level (30 Hz), from 5 dollars or 5 euros it is the Standard level with the Pro Performance Mode (PPM) included (up to 500 Hz), and above 29 dollars or 29 euros it is the Gold Premium level which includes the PPM and the Motion Addon (3DOF and 6DOF plugins at full speed).
| Level | Refresh rate | Access |
|---|---|---|
| Basic / Guest (free, no donation) | 30 Hz | Sufficient for dashboards, LEDs, display. This is the default mode. |
| Standard+ (donation ≥ 5 $/€) | Up to 500 Hz (game’s native frequency) | “Pro Performance” mode (PPM). Software support. |
| Gold Premium (higher donation) | Up to 500 Hz+ (game’s native frequency) | PPM and integrated Motion Addon, premium software support. |
Specifically for users of the 3DOF and 6DOF Motion Simulateur plugins:
| Access level | Motion performance | Access |
|---|---|---|
| Basic / Guest | not recommended for a motion simulator | Preview Mode: allows testing the setup and using the 3D view. |
| Standard+ with Motion Addon | Up to 500 Hz (up to 1000 Hz for the 6DOF plugin via UDP) | Full Pro Performance: high-speed and high-precision motion. |
The Motion Addon is the recommended access level to fully use the 3DOF and 6DOF Motion plugins. It is only useful if you have a motion simulator. It is accessible if:
- You have contributed $29 / €29 or more to the OpenSR project
- You are already a Premium Access or Gold Premium member
- You are already a registered user of MotionMax Manager
Basic or Standard users can at any time move up to the Motion Addon level by making a donation.
Why this specific access level? The development of professional motion simulation software is a considerable undertaking. The research and development work began in 2018 with MotionMax Manager, in collaboration with the company FREX. OpenSR integrates this decade of knowledge in high-precision kinematics and real-time telemetry. The testing costs and the specialized hardware required (cylinders, platforms) are significant. The generosity of the community, through its contributions (plugins, donations, feedback and reviews on social networks, etc.), allows the project to keep evolving. Likewise, manufacturers who wish to see their products supported in OpenSR can send hardware. Given the acquisition costs, this support represents a precious help.
Licenses
OpenSR Core:
- Free license for personal and non-commercial use.
- No reverse engineering, no modification, no redistribution of the binaries.
- Commercial use (sim racing centers, demos, product promotion, etc.) requires a separate written agreement.
- The core’s source code is not open-source.
The plugins (Extension Software):
- Each plugin developer retains ownership of their work.
- Plugins can be distributed under any license chosen by their author (MIT, GPL, proprietary, etc.).
- The only condition: the plugin’s license must not conflict with the Core’s license.
Key points to remember
- OpenSR is free and will remain free. No paid version, no freemium on the basic features.
- It is ultra-light. < 1% CPU, a few MB of RAM. It does not slow down the game. Plugins may consume more CPU.
- The architecture is modular. An IN plugin + one or several OUT plugins = a complete system. Everything is interchangeable.
- The SDK allows infinite evolution. Any game can be supported, any device can be connected.
- Motion is “hardware-agnostic”. The plugins calculate everything, send positions ready to be used with any machine. The bridge is trivial to write.
- It is a community project. Evolution depends on engagement: plugin development, testing, feedback, hardware support and financial support for the advanced features.
- It replaces Ledsmaster and SLIMax Manager (all versions). If someone still uses Ledsmaster or older software, OpenSR is the way to go: same hardware, same workflow, but free and under active development with regular updates.
