Current release documentation FFB-Bridge 1.3.1 Found something stale? Tell us in the feedback form.

First launch

First launch acknowledges force safety, gives a 30-second orientation, and checks local device readiness. Simulator and network availability are not part of the automatic startup preflight.

Version 1.3 keeps device setup in one place

After the welcome and safety acknowledgement, select the physical device, set its strength ceiling, calibrate directions, and assign controls under Hardware. Then use Tuning only for aircraft feel. Open the hardware guide.

Safety acknowledgement

The very first screen is a safety modal. The bridge drives a physical motor that moves the stick on its own, so before anything else you're asked to acknowledge the physical-hazard brief. The modal blocks dismissal until you tick the “I understand” checkbox.

This shows once, ever, on first launch. It's stored separately from the welcome dialog so upgrading from a pre-safety build still triggers it once.

Safety-acknowledgement modal. Tick the checkbox and click “I acknowledge” to continue. Safety-acknowledgement modal. Tick the checkbox and click “I acknowledge” to continue.
Figure 1. Safety-acknowledgement modal. Tick the checkbox and click “I acknowledge” to continue.
disarmed

Disarmed means no force whatsoever: device open, repeated Disarm, startup failure, and shutdown command zero gain plus STOPALL; no spring or other effect is replayed, and MOZA's two firmware output gates remain inhibited until explicit Arm.

Welcome dialog

After safety, one 30-second welcome panel explains the main workflow. Open Support guide closes it and opens Support → Resources; Got it closes it. Don't show again controls future launches.

To replay the orientation, open Settings → General, enable Show welcome on next launch, then restart FFB-Bridge.

Automatic device preflight

At launch, FFB-Bridge quietly checks the device backend on Windows, Linux, and macOS. Linux also checks read/write access to a supported event node and whether the installed udev rule covers every current device permission. WARN or FAIL shows a non-blocking Review and fix banner naming each problem.

  • If all checks pass, nothing opens.
  • Startup does not probe the simulator or network; a closed sim is normal and remains a runtime concern.
  • While the dialog is open, Auto-arm waits. Review and fix the issue, or dismiss it when the device is intentionally disconnected; after dismissal, Auto-arm can continue only if its other prerequisites pass.
The startup banner names only device/setup checks that need attention and opens Support → Health checks already populated when you choose Review and fix. The startup banner names only device/setup checks that need attention and opens Support → Health checks already populated when you choose Review and fix.
Figure 2. The startup banner names only device/setup checks that need attention and opens Support → Health checks already populated when you choose Review and fix.

The main window

After the welcome dialog closes, you'll see the Dashboard. The layout is the same on every page: a full-width status strip across the top, a left-hand navigation rail below it, the page itself filling the centre, and a thin flight-telemetry tape along the bottom. At this point the device is detected but disarmed — no forces will reach the stick until you explicitly arm it.

The window uses the normal operating-system controls for minimize, maximize, close, and resizing. The close action still follows the tray behavior described below.

The Dashboard in its initial state. Top: the status strip — brand block on the left, then the cockpit ARM gauge centred, the Sim · Device · Mode lamps, and the Profile picker + Tune button on the right. Below that, the page nav on the left and the page content. Across the bottom: the flight-telemetry tape (IAS, G, MACH, force outputs, age, tick). The Dashboard in its initial state. Top: the status strip — brand block on the left, then the cockpit ARM gauge centred, the Sim · Device · Mode lamps, and the Profile picker + Tune button on the right. Below that, the page nav on the left and the page content. Across the bottom: the flight-telemetry tape (IAS, G, MACH, force outputs, age, tick).
Figure 3. The Dashboard in its initial state. Top: the status strip — brand block on the left, then the cockpit ARM gauge centred, the Sim · Device · Mode lamps, and the Profile picker + Tune button on the right. Below that, the page nav on the left and the page content. Across the bottom: the flight-telemetry tape (IAS, G, MACH, force outputs, age, tick).

The status strip

The strip across the top is the operational dashboard for the bridge — everything you need to know about what the bridge is doing right now lives in one row. From left to right:

  • Brand block — the FFB-Bridge logo + name, lined up with the navigation rail below.
  • Cockpit ARM gauge — boxy framed indicator that's the visual hero of the strip. Three states: disarmed (grey glyph, warm border at rest), ARMED (amber gradient, bright glyph), FAULTED (red — see "Recovering from a fault" below). Click the gauge to arm or disarm.
  • SIM · DEVICE · MODE lamps — colour-coded one-word status per prerequisite. Green = healthy, amber = attention (e.g. Demo source), red = failure (e.g. stick unplugged), grey = not in play.
  • Profile picker — dropdown trigger showing the active profile name with a warm dot when the live tunables differ from the saved file.
  • Tune / Save button — outlined "Tune →" navigates to the Tuning page; filled "Tune" indicates you're already there; filled amber "Save" appears whenever you have unsaved tuning changes — clicking it commits and jumps to the Tuning page so you see the confirmation.

The flight-telemetry tape

The thin tape along the bottom of the content area is a quick-read of the live numbers the pipeline is working with. From left to right:

  • IAS — indicated airspeed in knots.
  • G — load factor.
  • MACH — Mach number.
  • PITCH F — the force the pipeline is currently sending on the pitch axis (fraction of full authority, signed).
  • ROLL F — same on the roll axis.
  • AGE — milliseconds since the last snapshot arrived. when no data has been received yet.
  • TICK The control loop targets 50 Hz normally and 200 Hz when the active renderer needs host-side waveform blending or a device-coupled feedback loop.

Arming the stick

Click the cockpit ARM gauge in the strip to open the arm-confirmation dialog. Confirm and the gauge flips to ARMED with the amber gradient — forces are now reaching the stick. Click again to disarm. Esc cancels the confirmation dialog if you change your mind before confirming.

Safety first

Before arming, make sure nothing — including you — is resting on or near the stick. When forces first come online the centring spring snaps the handle to the trimmed centre position. Treat every arm as a “hands clear” moment the same way you would a sim yoke reset.

First-arm confirmation

The very first time you arm, a confirmation dialog explains what's about to happen. Check Don't show this again if you'd rather go straight to armed from here on.

Recovering from a fault

If a prerequisite drops while you're armed — most often the stick gets unplugged or the sim crashes mid-flight — the gauge flips to FAULTED (red), forces stop, and the matching lamp goes red so you can see exactly what failed (DEVICE for an unplug, SIM for a sim drop). Click the gauge to acknowledge and reset back to Disarmed; restoring the missing prerequisite then lets you re-arm normally. The open Diagnostics link next to the gauge takes you to the Support page's Diagnostics tab event log if you want the full story.

Closing the window

Close behavior follows Settings → General: Ask, Minimize to tray, or Quit. In Ask mode, the first close offers Minimize and Quit. Without tray support, closing quits.

When Minimize to tray is selected and a tray host is available, the window hides while FFB-Bridge keeps running. Use Quit to stop force output and release the device.

  • Show window — bring the UI back from the tray.
  • Arm / Disarm — same effect as the Dashboard toggle.
  • Quit — shut the bridge down for real.
Close behavior follows Settings → General: Ask, Minimize to tray, or Quit. In Ask mode, the dialog offers Minimize and Quit; without tray support, closing quits. Close behavior follows Settings → General: Ask, Minimize to tray, or Quit. In Ask mode, the dialog offers Minimize and Quit; without tray support, closing quits.
Figure 4. Close behavior follows Settings → General: Ask, Minimize to tray, or Quit. In Ask mode, the dialog offers Minimize and Quit; without tray support, closing quits.
System tray menu. Show / Arm / Disarm / Quit. On Linux this lives in whatever tray your desktop provides; on Windows it's the standard notification area.
Figure 5. System tray menu. Show / Arm / Disarm / Quit. On Linux this lives in whatever tray your desktop provides; on Windows it's the standard notification area.
Desktops without a tray

Some Linux desktops, especially stock GNOME Wayland, do not expose a tray host. When the bridge detects that, it tells you close will quit directly instead of hiding the running app. Install AppIndicator Support or use a desktop with a tray if you want hide-to-tray behavior there.

Keyboard shortcuts

The bridge is mouse / tray-driven by design — there are no global hotkeys for arming or navigating between pages. Earlier builds tried Space=Arm and D1D8 to switch pages, but they hijacked the spacebar and digit keys while a TextBox owned focus (saving a profile name, for example), and only fired when the bridge window was foreground anyway — which is rare in practice because the sim is usually foreground while you fly. Use the tray menu for arm / disarm / quit when the window is hidden.

The one keystroke the window does intercept is Esc, which cancels the open arm-confirmation dialog (no-op when no dialog is open).

Next steps

If your sim was already running, FFB-Bridge should have found it — check the SIM lamp in the top status strip. If not, head to the connection guide for the one you use:

On macOS the supported simulator is X-Plane; MSFS connects on Windows and Linux only.