DCS-BIOS is an Export.lua
script for use with DCS: World, enabling external hardware and software to interact with the clickable cockpit of a DCS aircraft.
[!NOTE] DCS-Skunkworks DCS-BIOS is a continuation of the original DCS-BIOS, which is no longer updated.
Getting started with DCS-BIOS is easy! Just follow these simple steps.
Start by finding your DCS Saved Games folder. On Windows, this is likely either:
C:\Users\USERNAME\Saved Games\DCS
C:\Users\USERNAME\Saved Games\DCS.openbeta
Within that folder, you find the folder called Scripts
. Create one if it does not exist. The final path should look like:
C:\Users\USERNAME\Saved Games\DCS\Scripts
C:\Users\USERNAME\Saved Games\DCS.openbeta\Scripts
[!Note] The process for updating DCS-BIOS is exactly the same as installing it.
DCS-BIOS_x.y.z.zip
DCS-BIOS
folder into the previously mentioned scripts folder.Export.lua
file, copy the Export.lua
file overExport.lua
file, add the following line to the end
dofile(lfs.writedir() .. [[Scripts\DCS-BIOS\BIOS.lua]])
[!Tip] Still having trouble? Check out our wiki, ask a question in Discussions or get in touch on Discord.
Arduino Users should download the Source code (zip)
on the Release page to get all needed files.
You don't need to be a programmer or electrical engineer to build your own panels. The DCS-BIOS User Guide includes step-by-step instructions on how to connect your panel to DCS using DCS-BIOS and the beginner-friendly Arduino microcontroller platform. You don't have to write any code yourself.
Both socat
and DCSBIOSBridge can be used to connect to your device.
[!Important] If using
socat
, the files in the .zip file must be unzipped directly in the socat folder. The path must be/socat/socat.exe
If you are working a lot with hardware, it may come in handy to log and replay dcs-bios data. There are two scripts in Programs/tools that allow you to do so.
python connect-logger.py
will log all dcs-bios data to dcsbios_data.json
. Ensure that you start the logger before loading a mission in order to capture the mission-start message properly.
python replay-log.py
will ask for a serial port like connect-serial-port.cmd
and replay the data to that com-port. When it reaches the end of the file, it will loop forever until you close it. The first message will not be repeated as this is usualy the mission-start message and should only be sent once.
dcsbios_data.json
This file contains the logged data in hex format. If you are familiar with the format of dcs-bios messages, you may modify the file by hand if needed. The included sample file is a recording of the A-10C with a blinking Master Caution light.
The Developer Guide explains how to connect to and interpret the DCS-BIOS export data stream and how to send commands to DCS-BIOS in order to operate controls inside the cockpit.
There are also a variety of client libraries available, including (but not limited to): | Language | Library |
---|---|---|
C# | DCS-BIOS Communicator |
[!Note] Aircraft with multiple variants (e.g. A-10C/A-10C II, F-14A/B, etc.) are considered single modules.
Currently, DCS-BIOS supports the following aircraft modules:
Module | Status | Contributors |
---|---|---|
A-10C/A10C-II | ✅ | FSF-Ian, WarLord |
AH-64D | ✅ | WarLord |
AJS-37 | ✅ | pdmarsh, WarLord, ArturDCS, Matchstick |
AV-8B N/A | ✅ | WarLord, Matchstick |
Bf-109-K-4 | ✅ | ArturDCS |
C-101CC/EB | ✅ | WarLord, cdpkobra |
CH-47F | 🚧 | WIP |
Christen Eagle II | ✅ | WarLord, cdpkobra |
F-14A/B | ✅ | WarLord, ArturDCS, Bullitt |
F-15E | ✅ | WarLord, Maverick87Shaka |
F-16C | ✅ | WarLord, cdpkobra, Matchstick, BuzzKillington |
F-4E | ✅ | |
F-5E-3 | ✅ | geebeer2, WarLord |
F-86F | ✅ | ArturDCS |
F/A-18C | ✅ | AndrewW |
Fw 190 A-8 | ✅ | WarLord, MD44 |
Fw 190 D-9 | ✅ | ArturDCS |
I-16 | ✅ | WarLord, NightStalker |
JF-17 | ✅ | WarLord, cdpkobra |
Ka-50/Ka-50 3 | ✅ | airtom, WarLord |
L-39ZA/C | ✅ | kadda11, WarLord |
M-2000C | ✅ | Exo7, ArturDCS, Matchstick |
MB-339 | ✅ | WarLord |
Mi-8MTV2 | ✅ | ArturDCS, WarLord |
Mi-24P | ✅ | WarLord, BaD CrC |
MiG-15bis | ✅ | WarLord, Steve Gee |
MiG-19P | ✅ | WarLord |
MiG-21Bis | ✅ | wraith444 |
Mirage F1 | ✅ | WarLord |
Mosquito FB Mk.VI | ✅ | WarLord |
OH-58D | ✅ | |
P-47D | ✅ | WarLord, Donators |
P-51D/TF-51D | ✅ | pdmarsh |
Spitfire LF Mk. IX | ✅ | WarLord |
SA342 | ✅ | |
UH-1H | ✅ | FSF-Ian |
Yak-52 | ✅ | WarLord, cdpkobra |
Flaming Cliffs (all modules) | ✅ | danvac, WarLord |
Module | Status | Contributors | Link |
---|---|---|---|
A-4E-C | ✅ | Dehuman, WarLord | GitHub |
A-29B | ✅ | WarLord | GitHub |
AH-6J | ✅ | WarLord | DCS Forums |
Alphajet | ✅ | WarLord | Developer |
Edge-540/Extra-330SR | ✅ | WarLord | Developer |
F-18E/F/G | ✅ | DCS Forums | |
F-22A | ✅ | WarLord | Developer |
T-45 | ✅ | WarLord | DCS Forums |
DCS-BIOS supports many community mods out-of-the-box.
In order to a Flaming-Cliffs-based mod which is not supported by DCS-BIOS, add the following to the bottom of DCS-BIOS/lib/AircraftList.lua
:
add("PlaneName", false)
[!Tip] To get the correct plane name, open the DCS-BIOS Reference Tool (
MetadataStart
) while you fly that plane and look what value_ACFT_NAME
has.[!Important] Please consider submitting a pull request to add support for the module to DCS-BIOS for all users!
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You may also simply open an issue.
Please see Contributing.md for more information.
[!Important] If you plan on submitting a pull request, please read the Contributing Guide first.
Distributed under the GPL 3.0
license. See LICENSE for more information.
The original DCS-BIOS was created by [FSF]Ian under the SimPL 2.0
license.
The copy of socat
that comes with DCS-BIOS is licensed under GPL 2.0
(see Programs/socat/COPYING).
For questions, consider asking in our Discussions page, or reach out to us on Discord.