Authors: Luis Jose Alarcon-Aneiva · Nicoletta Fala (Auburn University, AEON Lab) Contact: lja0024@auburn.edu · 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 or use XPLMDebugString 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.