This console application bridges DCS World with some of the WinCtrl hardware, enabling real-time data exchange between the simulator and the physical device.
Data Flow: DCS <-> DCS-BIOS <-> This App <-> WinCtrl CDUs (and FCU)
- Install DCS-BIOS (see detailed instructions below)
- Download and extract this application to your preferred folder
- Connect your WinCtrl CDU ( before starting bridge )
- Run the application
- Launch DCS and load your aircraft — the bridge detects it automatically and starts
- DCS World
- DCS-BIOS v0.11.0 or later (0.11.4 recommended as it updates the ch47 cdu pages)
- .NET 8.0 runtime
At least one of these devices.
- Winctrl CDU hardware (MCDU / PFP3N / PFP7 / PFP4)
- Winctrl FCU and EFIS ( tested with Left Efis )
- Winctrl PAP3 (or PAP3Mag )
- Winctrl AGP32 Metal
Each aircraft has its own page describing the supported devices, CDU display, LEDs, brightness, and any front-panel output. Click an aircraft for details.
| Aircraft | Support | Highlights |
|---|---|---|
| A-10C | Full | CDU + CMS overlay, LEDs, brightness, full front panel (flight data, gear, baro) and AGP32 clock |
| AH-64D | Basic | Pilot EUFD + keyboard display |
| F/A-18C | Basic | UFC and IFEI pages |
| CH-47F | Basic | Pilot or co-pilot CDU (requires DCS-BIOS v0.11.0+) |
| OH-58D | Basic | MPD/TGT/TRQ/CMWS/RFI CDU display, AGP32 UTC clock |
| F-15E | Basic | UFC lines 1-6 (by smreki) |
| F-16C | Basic | Switchable DED / NAV / RWR CDU pages |
| M-2000C | Basic | PCN display and caution-light panel |
Front panels (FCU/EFIS, PAP3, AGP32) render whatever the active aircraft publishes. Today the A-10C drives the full set (flight data, gear LEDs, and the chrono/UTC/ET clock on the AGP32), and the OH-58D drives the AGP32 UTC clock. See each aircraft's page for specifics.
-
Download the latest DCS-BIOS release (min v0.11.0 , 0.11.4 recommended as it updates the ch47 cdu pages):
-
Extract the DCS-BIOS folder to your DCS saved games Scripts directory:
%USERPROFILE%\Saved Games\DCS\Scripts\DCS-BIOS\ -
Configure Export.lua in your Scripts folder:
dofile(lfs.writedir() .. [[Scripts\DCS-BIOS\BIOS.lua]])
⚠️ Important: If you already have an Export.lua file, add the line above instead of overwriting it.
- Extract the application files to your chosen directory
- Run
WctrlDcsBiosBridge.exeif no config.json is found, it will create a default one and show you a dialog box to edit it. - Select the File locations at
DCS-BIOSJSON folder. It should be located inside theScripts/DCS-BIOS/doc/jsonfolder.- Example (as default in your Saved Games):
Saved Games/DCS/Scripts/DCS-BIOS/doc/json
- Example (as default in your Saved Games):
config.json file.
You no longer pick the aircraft yourself. While the bridge is running, the CDU shows a "Waiting for DCS... / Aircraft detection" screen and watches DCS-BIOS for the loaded module:
- When a supported aircraft is loaded, the bridge starts automatically.
- An unsupported module is shown in red as "Not supported", and the bridge keeps waiting.
- When you switch or exit the aircraft, the bridge resets and returns to the waiting screen on its own — no restart needed.
The only manual choice left is the seat for the CH-47F when two or more CDUs are connected (see below).
- CDU Keys: Map them in DCS.
- Seat selection (CH-47F with 2+ CDUs): when prompted, press the line-select key next to PILOT or COPILOT. See the CH-47F documentation.
"PLT_CDU_LINE1" does not exist (CH-47 Chinook)
- Wrong dcsbios version installed.
- You need version 0.11.0 or later
"Connection failed" or CDU not responding
- Ensure your Winctrl CDU is properly connected
- Try unplugging and reconnecting the device
- Restart the application ( application does not detect devices plugged after start )
- Check that no other applications are using the CDU
"No data appearing on CDU"
- Start your aircraft in DCS (data appears after aircraft systems are powered)
- Check that DCS-BIOS is working (look for network traffic) - you can use Bort tools from DCSSkunkworks to verify DCS-BIOS is sending data
- Verify Export.lua is configured correctly
Aircraft not detected / stuck on "Waiting for DCS..."
- Make sure an aircraft is loaded in the cockpit and DCS-BIOS is exporting (check
Export.lua) - Unsupported aircraft are shown in red as "Not supported" — the bridge keeps waiting for a supported one
- You do not need to restart when switching aircraft; the bridge detects the change automatically
Start bridge is greyed
- You probably launched the app before plugging your devices.
- Exit application, plug all the cdus you plan to use and launch the app again
- Mismatched brightness: Use the aircraft's brightness controls first, then adjust MCDU
- A10C: MCDU brightness is linked to the console rotary control (right pedestal)
- CH-47F: Check the specific documentation
- In case of flickering with SimAppPro running, check the
All application activity is logged to log.txt in the same folder as the executable. Check this file for detailed error information.
Report issues here, or reach out on Discord .
- Cursor behavior: May appear erratic during waypoint entry (reflects DCS-BIOS data)
- CH-47F support: Requires DCS-BIOS nightly build (0.11.0 or later)
- Brightness sync: May not perfectly match aircraft state
This project is written in C# and targets .NET 8.0. It uses:
- DCS-BIOS for DCS communication
- ww-devices-dotnet for Winctrl hardware interface
- NLog for logging
- System.CommandLine for command-line parsing
see docs/CONTRIBUTING.md for contribution guidelines. link
See LICENSE.txt and thirdparty-licences.txt for licensing information.
For issues and questions, please check the logs first and review the troubleshooting section above.
and if you want, no need, you can Buy Me a Coffee