License: CC BY-NC-SA 4.0 GitHub DeepWiki APP Version Platform: Android Jetpack Compose
PYTHON TOOLS Platform: Windows Python

English | Chinese (Simplified)
Changelog | Documentation | Roadmap | Security Policy | License | Collaborators
Third-Party Licenses

ScreenshotsDemo Videos

InteractiveChecklists

InteractiveChecklists is an Android application for viewing and interacting with Markdown and PDF checklists. It is built with Jetpack Compose and follows an MVVM-style architecture. It is designed to be extensible with an interactive aviation map featuring live DCS data integration, tactical markers, and dynamic route and pattern calculation. Runway heading–based approach visualization and real-time map updates enable enhanced situational awareness during flight operations.

Development status: This repository is a development version and not an official release. The app is functional but under active development and may contain experimental features.

Note: A preview APK for version 1.1 is planned. If you are not familiar with Android Studio or building apps from source, please wait for the official preview release to test the app.

Table of Contents

Features

Map Status Notes
Caucasus Supported Marker set available in DB
Marianas Supported Marker set available in DB
Germany (CW) mostly Supported Marker addition in progress

Roadmap

Planned features and long-term improvements are tracked in the Roadmap document.

Install the DCS Export Script (Required)

Copy export.lua from
scripts/DCS-SCRIPTS-FOLDER-Experimental

into your DCS scripts folder, for example:
%USERPROFILE%\Saved Games\DCS\Scripts\

This script enables DCS to write entity batches and player telemetry files into a subfolder that the Python forwarder reads.

After copying:

to activate the export script.


Important Note – Python Requirement

The Python forwarder (DataPad Server) requires a **local Python installation

This keeps dependencies isolated and clean.


Initial Setup

  1. Navigate to the folder:
    /DCS-SCRIPTS-FOLDER-Experimental

  2. One-time setup – double-click:
    install.bat
    → Wait 1–2 minutes while required packages are installed
    (only needed once or when updating packages)

  3. Start the server – double-click:
    run.bat
    → A small console window / menu will open


DataPad server (launcher)
DataPad server launcher with configuration menu

4. Server Setup

Notes

Start the Server


QR Code Pairing

DataPad server (QR-Generation)
DataPad server QR-code generation for authorized_devices.json

  1. In the server window:
    • Press B within 5 seconds → A QR code will be displayed automatically
    • (Optional) You can also configure IP/port manually

5. Android App Setup

APP DataPad Activate Toggle
Activates the in App datapad functions

  1. Open the Android app
  2. Go to Settings → DataPad
  3. Turn DataPad ON

APP DataPad Settings button
Settings Menu for datapad

  1. Open the DataPad Popup using the FAB button
  2. Tap Settings in the DataPad Popup

APP DataPad Device Name
Enter your Device Name

  1. Enter a Device name

APP DataPad Setup Ip and QR-code
Enter your Server IP and Scan QR-Code

  1. Scroll down set your ServerIP (recommend) then to QR-Code setup or for Manual adding, copy Device Name, ID and Public Key and enter as new entry in authorized_devices.json
  2. Tap Scan QR Code
  3. Scan the QR code displayed on your PC screen
    • (First time only – securely registers your device)
  4. Enable the toggle button in the DataPad Popup
    • If the correct server is selected, a heartbeat is sent every 30 seconds

Data Status & Indicators


Unblocking Files in DCS World (Important)

Some DCS files may be blocked by Group Policy or antivirus software.
This can prevent correct operation.

  1. Press the Windows key and type PowerShell
  2. Right-click Windows PowerShellRun as Administrator
  3. To unblock a single file, enter:
Unblock-File "C:\Program Files\Eagle Dynamics\DCS World\bin\lua-dxgui.dll"


4. Press **Enter**

### To Unblock All DLL Files at Once

```powershell
Get-ChildItem "C:\Program Files\Eagle Dynamics\DCS World\bin\*.dll" | Unblock-File

Press Enter.


Alternative: Repair DCS

If unblocking does not help:

  1. Open DCS Launcher
  2. Go to Settings (gear icon)
  3. Click Repair
  4. Wait for the process to complete

This will restore and unblock all affected files.


Done! The app should now receive live telemetry and tactical data from DCS.

Security – Quick Summary (2025/2026)

For most users the QR code method is secure enough and very simple.

For Linux/macOS or advanced users (manual start)

If you don’t use Windows or want full control:

cd scripts/DCS-SCRIPTS-FOLDER-Experimental
python -m venv venv
source venv/bin/activate          # Linux/macOS
# or on Windows: venv\Scripts\activate
pip install -r requirements.txt
python forward_parsed_udp.py --authorized-devices authorized_devices.json --host YOUR_PC_IP --port 5010

Entity Contacts (tactical units): Enable Entity Tracking and run the forwarder with entity tracking enabled to receive live markers; see scripts/DCS-SCRIPTS-FOLDER-Experimental/README_ENTITY_TRACKING.md and docs/EN/features/TACTICAL_UNITS_TRACKING.md.

See docs/EN/features/DATAPAD_FEATURE.md for full usage, configuration, and troubleshooting.

Phase 1 (experimental): This is Phase 1 of DataPad — future phases will add more telemetry, visualizations, and security improvements.

Next up: 2-way communication (experimental) to enable data flow back to DCS.

Screenshots

File explorer - list of files and folders
File explorer showing the hierarchical file and folder structure

Markdown viewer showing interactive checklists
Interactive Markdown checklist with stateful checkboxes

PDF viewer with annotation tools
PDF viewer with drawing, highlighting and annotation capabilities

QuickNotes bottom sheet and editor
QuickNotes editor with markdown support and autosave

Calculator for landing patterns
Landing pattern calculator displaying flight path calculations

First implementation parts for atc features
Early ATC features showing airspace visualization

AA map range rings visualization
AA range rings visualization

Full tactical live data Support
Live tactical markers displaying real-time unit positions

Flight path overlay
Flight path tracking overlay on the aviation map

Route lines overlay with labels
Route planning with labeled waypoints and flight paths

Route planner - line preview
Route planner interface with live preview

Create Route sheet
Landing route creation sheet with configuration options

DataPad live telemetry panel
DataPad displaying live aircraft telemetry from DCS World

Settings and preferences
Application settings and configuration panel

Demo Videos 🎬

Carrier Landing Pattern – Live Tracking & Pattern Calculation Test (STATE App 1.0.19)   Demo 1   Demo 2

📝 NOTE
This is a test recording to evaluate recording performance, tablet capture workflow, resolution settings, and overall system stability during DCS gameplay. Mission content and pacing are deliberately simple and functional.

Installation for Developer

Step-by-step instructions to get the project running locally.

  1. Prerequisites
    • Install Android Studio (Arctic Fox or later recommended).
    • Install a compatible JDK (Java 11 or later recommended).
    • Configure Android SDK and at least one emulator or use a physical device.
    • For Python forwarder scripts (optional): install qrcode and cryptography dependencies: pip install qrcode[pil] cryptography cffi (use a virtual environment to avoid system conflicts).
  2. Clone the repository
git clone https://github.com/arn-c0de/InteractiveChecklists.git
cd InteractiveChecklists
  1. Build with Gradle (command-line)
./gradlew assembleDebug
  1. Open in Android Studio
    • Open the InteractiveChecklists directory in Android Studio.
    • Let Gradle sync and allow Android Studio to download any missing SDK components.
    • Run the app on an emulator or connected device.

System Requirements

How to Build & Run

Contributing

We welcome contributions. For guidelines, issue workflow, and coding standards, see COLLABORATORS.md.


💰 Unpaid Contributions

All contributions are currently unpaid and voluntary. This is a non-commercial project without donation functionality or sponsorship options at this time.


Quick contribution ideas:

For larger or breaking changes, please open an issue first to discuss design and scope.

Support & Contact

If you encounter issues or have questions:

Bug Reports

When reporting a bug, please include a screenshot if possible.
Use the screenshot to mark or highlight the exact area where the issue occurs, and briefly describe what is shown and what is wrong in that location.

FAQ

Acknowledgements & Credits

Thanks to all contributors and to the Jetpack Compose and Android open-source ecosystems used in this project.

Contributors

License

This project is licensed under the terms in the LICENSE file (CC BY-NC-SA 4.0).