Skip to content

What You'll Need

What you need depends on what you're here to do. Pick your path — you don't need the build or firmware toolchain just to understand the project.

This page lists the tools and skills. It does not cover installation — setup steps live in the build guides.

To understand the project

You can read the whole site and follow the architecture with nothing installed. To actually see OpenSkyhawk drive a cockpit, you need:

  • DCS World with the A-4E-C Skyhawk Community Mod installed. The A-4E-C is a free community module — OpenSkyhawk targets it specifically.
  • A DCS-BIOS relay — something to bridge the sim and the SimGateway serial port. Two options:
    • OpenSkyhawk Client (recommended) — cross-platform GUI, auto-detects the SimGateway, adds live monitoring and replay. Download from GitHub Releases.
    • DCS-BIOS serial relay — the legacy connect-serial-port.cmd / socat script shipped with DCS-BIOS. Windows-only, no GUI, requires manual COM port selection.
  • Basic electronics familiarity — you should be comfortable with the idea of a microcontroller, a serial link, and reading a schematic. You do not need to know CAN bus, DCS-BIOS, or STM32 development going in; the docs explain those.

To build a panel

Fabricating and wiring a panel adds the hardware toolchain:

Tool Use Notes
KiCad 8+ PCB schematic + layout review Project tooling and CI use v10.0.1; open the .kicad_pro projects under PCB/
PlatformIO + VS Code Firmware build and upload The firmware build system — see PlatformIO Setup
ST-Link (or compatible SWD probe) Flashing STM32 boards over SWD The hardware probe. STM32 boards expose a 5-pin SWD header (PA13/PA14/NRST/GND/3.3V); PlatformIO flashes through it directly
DCS-BIOS DCS ↔ cockpit export stream Runs on the PC; the firmware speaks its protocol
JLCPCB account PCB fabrication Design rules are pre-loaded for JLCPCB's standard 2-layer service
Soldering iron + multimeter Assembly and bring-up Surface-mount rework; continuity and voltage checks

CAD (evaluation in progress) is optional for panel building:

  • Fusion 360 or FreeCAD — CAD tooling is currently being evaluated (FreeCAD is the preferred direction). The CAD/ sources open in whichever tool is chosen.
  • Either tool can open and export STEP files for the KiCad fit-check.
  • STL files for 3D printing are released via GitHub Releases, not committed to the repo.

RP2040 boards need no special flasher

The SimGateway and any HID boards run on off-the-shelf RP2040 modules (e.g. a Raspberry Pi Pico). They flash over USB by drag-and-drop UF2 or directly from PlatformIO — no ST-Link required. Only the STM32 boards need the SWD programmer.

STM32CubeProgrammer is optional

STM32CubeProgrammer is ST's standalone GUI flasher — handy for erasing or inspecting a chip, but not required. PlatformIO drives the ST-Link directly for normal build-and-upload.

To contribute firmware

Everything above, plus the bench hardware to develop and verify against real boards:

  • STM32F103 dev board — an STM32F103C8 Blue Pill is the default for every board and runs all of the firmware, including PanelBridge (its full DCS-BIOS input map still compiles to ~26 KB flash). The STM32F103CB (128 KB flash) is a drop-in fallback on the same footprint for any future build that exceeds 64 KB — no board currently needs it. Either way the firmware requires an external 8 MHz crystal for CAN; verify your board has one populated.
  • RP2040 module (Raspberry Pi Pico or similar) — for SimGateway work.
  • USB-to-TTL serial adapter — for the DiagSerial debug stream. Every STM32 board exposes a 3-pin header (GND / RX / TX) on USART1 at 115200 baud for human-readable diagnostics.
  • ST-Link (or compatible SWD probe) — for flashing and debugging STM32 targets.
  • CAN bus analyzeroptional but useful. Lets you watch frames on the bus directly when debugging multi-node behaviour.

See How to Contribute for conventions, and Adding a New Panel Group for the end-to-end workflow.