Authors: Luis Jose Alarcon-Aneiva · Nicoletta Fala (Auburn University, AEON Lab) Contact: [email protected] · https://aeonresearch.org/
This X-Plane plugin streams user-selected datarefs to the Lab Streaming Layer (LSL) in real time, enabling rigorous human-in-the-loop experiments, flight-training analytics, and studies that require precise synchronization of flight parameters with physiological signals.
| Plug-in binary | Built with | Loads in | Simulator versions tested |
|---|---|---|---|
64/win.xpl |
x64, SDK 4.1 | X-Plane ≥ 10.20 (64-bit) | 11.55r2, 12.09r1 |
win.xpl |
Win32, SDK 2.1 | X-Plane ≤ 10.19 (32-bit) | 9.70 |
Both binaries come from the same source tree; only the Visual Studio configuration changes.
- Real-time, low-latency streaming via LSL
(unique stream UID per PC – multiple simulators on the same LAN are now visible simultaneously). - User-editable
config.txt– enable or disable any dataref with a “1 / 0”. - Cross-version: runs unmodified in X-Plane 9 → 12 on Windows
- Download the latest version
- Extract the contents into
X-Plane 11/Resources/plugins/, for example.
The plugin reads flight data from X-Plane datarefs listed in config.txt. Each dataref has a flag (1 for enabled, 0 for disabled). Modify config.txt in X-Plane /Resources/plugins/LSL_XPlane_Plugin/ to customize data streaming.
sim/flightmodel/position/latitude 1
sim/flightmodel/position/longitude 1
sim/flightmodel/position/elevation 1
sim/flightmodel/position/indicated_airspeed 1
For recording LSL streams, we recommend using LabRecorder, a software tool designed to capture and log data from multiple LSL streams efficiently. You can download LabRecorder from the LSL GitHub repository.
Launch X-Plane, and the plugin will automatically load.
- Open Plugins > Plugin Admin in X-Plane.
- Look for LSL_XPlane_Plugin and ensure it is enabled.
- Check X-Plane Log.txt for debugging messages.
You can use LabRecorder to easily log your streamed data for later analysis. Alternatively, you can use Python with pylsl to receive streamed data:
You can use Python with pylsl to receive streamed data.
If this plugin contributes to your research, please cite our paper:
Alarcon-Aneiva, L. J., & Fala, N. (2025). Real-Time Synchronization of Flight Simulation and Physiological Data Using Lab Streaming Layer: A Custom X-Plane Approach. Proceedings of the 23rd International Symposium on Aviation Psychology, 23, 222–227. [PDF link]
@inproceedings{alarcon-aneiva2025-realtime-lsl-xplane,
author = {Luis Jose Alarcon-Aneiva and Nicoletta Fala},
title = {Real-Time Synchronization of Flight Simulation and Physiological Data Using Lab Streaming Layer: A Custom X-Plane Approach},
booktitle = {Proceedings of the 23rd International Symposium on Aviation Psychology},
year = {2025},
volume = {23},
pages = {222--227},
note = {Wright State University},
url = {<https://corescholar.libraries.wright.edu/isap_2025/38/>}
}This project is licensed under the MIT License.
- ÆON lab, Auburn University, PI: Dr. Nicoletta Fala.
- X-Plane SDK for plugin development.
- Lab Streaming Layer (LSL) for real-time data integration.