> ## Documentation Index
> Fetch the complete documentation index at: https://docs.altnautica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Setup Walkthrough

> Step-by-step ground-station setup wizard, from first boot to a paired link.

# Setup Walkthrough

This page walks through every step of the ground-station setup wizard
the way a fresh operator sees it. For a more compact reference, see
[Setup and Pairing](/ground-agent/setup-and-pairing).

## Before you start

You need:

* A flashed SBC (Raspberry Pi 4B / 5, Radxa Rock 5C, or a supported
  alternative) with the ADOS Drone Agent installed.
* One RTL8812EU USB Wi-Fi adapter for the air link.
* An optional second RTL8812EU adapter if you plan to run the node as a
  relay or receiver.
* The pairing key from the drone you want to receive from. The drone
  side prints this in its setup webapp.

## Step 1. Welcome

The wizard opens on the agent's mDNS URL (`http://ados.local:8080`).
The welcome step confirms the device name, board, and version, and
shows a chip row for the local network (Wi-Fi, hotspot, USB tether, or
LAN). If no usable local network is up, this step asks you to bring one
up before continuing. Otherwise no action is needed; click **Next**.

## Step 2. Profile

Pick **Ground station**. Then pick the role:

| Role     | Use when                                                                       |
| -------- | ------------------------------------------------------------------------------ |
| Direct   | Single-node receive. No mesh.                                                  |
| Relay    | Mesh forwarder. Needs a second USB adapter.                                    |
| Receiver | Mesh aggregator. Needs a second USB adapter and pairs with one or more relays. |

The recommended role appears as a hint based on the agent's hardware
fingerprint.

## Step 3. Operating region

Optional. The agent defaults to an unrestricted RF posture, so this
step never blocks the wizard. Pin a region here if you want your local
jurisdiction's channel and power limits enforced. When unpinned, you
are responsible for local RF compliance.

## Step 4. Hardware check

The page sweeps every component the picked role requires: SBC, RTL8812EU
adapter, kiosk display (HDMI), gamepad, second USB adapter for mesh
roles. Components that fail show a fix hint.

Resolve any required `missing` items before continuing. Optional items
can be skipped.

## Step 5. Cloud posture

Choose how this ground station talks to the outside world. ADOS is
local-first, so the default and primary path is **local-only**: Mission
Control reaches the agent over the LAN by hostname or IP and stores the
key locally, with no cloud round-trip. Pick **cloud** (or a self-hosted
backend) only when you need remote or cross-network access. Local-only
is a correct, fully-working state, not a misconfiguration.

The next step (Pair with Mission Control) appears only when you choose a
cloud or self-hosted posture. Local-only deployments skip it.

## Step 6. Pair with Mission Control (cloud or self-hosted only)

When you opted into a cloud or self-hosted posture, the agent shows a
six-character pairing code. Enter it in Mission Control to accept the
device, or accept a code from Mission Control. After a successful pair,
the wizard moves on.

For local-only deployments, you pair from Mission Control's Add-a-Node
card by the ground station's hostname or IP over the LAN. No code is
needed.

## Step 7. WFB pairing

This is the drone-to-ground air link, separate from Mission Control
pairing. On the ground receiver step, paste the drone's pairing key,
pick the radio channel, and click **Pair**. The agent stores the key,
configures the WFB-rx service, and starts receiving.

The page lights up with the live RSSI and bitrate once the air side is
in range.

## Step 8. Local display

If a kiosk display is attached, the wizard offers driver install +
calibration. Touch screens prompt a four-corner calibration step.

## Step 9. Remote access

Optional. Configure a cloud or tunnel link (for example a Cloudflare
tunnel) for reaching the ground station from outside the local network.
Skip it for an offline or LAN-only setup.

## Step 10. Finish

The wizard's final step writes the chosen profile to
`/etc/ados/profile.conf`, marks `setup_finalized = true`, and reboots
any services that need it.

After finalization the sidebar shows the role-aware entries (Mesh,
Sources) and the ProfileGate enforces page visibility across profiles.

## Re-running the wizard

You can re-run the wizard from **Settings → Profile → Re-run
setup**, or via:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST http://ados.local:8080/api/v1/setup/reset
```

Pairing keys and Mission Control links are preserved across a reset
unless you explicitly unpair first.

## Related

* [Setup and Pairing reference](/ground-agent/setup-and-pairing)
* [Browser Dashboard tour](/ground-agent/dashboard-overview)
* [Three roles](/ground-agent/three-roles)
* [Field pairing](/ground-agent/field-pairing)
