Skip to content

Multi Vehicle

Ruben M edited this page Jul 17, 2026 · 1 revision

Multi-Vehicle

ArduDeck connects to and flies more than one ArduPilot vehicle at once. You see the whole fleet live on one map, switch which vehicle you are looking at, command several together, order formations, and split a single survey area across the fleet so each vehicle flies its own slice.

Every vehicle needs a unique SYSID_THISMAV (1, 2, 3, ...). That is the only vehicle-side setup. Everything else is automatic.

The two connection tabs

The Connection panel has two tabs:

  • Single vehicle -- the classic flow for one flight controller (Serial, TCP, or UDP). Unchanged. Use this when you are working with one vehicle. See Getting Started.
  • Multi-vehicle -- the fleet flow: one button, then friendly pickers to add each vehicle.

Starting the engine

Open the Multi-vehicle tab and click Start multi-vehicle.

ArduDeck spins up a small coordination engine in the background (it ships inside the app) and connects to it. The engine listens on UDP ports 14550-14553, so any ArduPilot vehicle that sends telemetry to one of those ports registers itself and appears in the vehicle list. This covers the common setups out of the box:

  • One forwarder, many vehicles -- a MAVProxy / mavlink-router / telemetry box fans the whole fleet into a single UDP port. They all appear from that one stream.
  • One stream per vehicle -- each vehicle (or ELRS backpack) sends to its own port. They land on 14550, 14551, 14552, and so on.

The engine is supervised: if it crashes it restarts itself, and it is shut down when you quit the app. Stop turns multi-vehicle mode off again.

Adding vehicles

Click + Add a vehicle and pick how the vehicle reaches you:

  • Radio -- a telemetry radio plugged into this computer (serial port + baud, default 57600).
  • Internet -- ArduDeck dials the drone's address (TCP host + port, default 5760). Also the way to attach a SITL instance.
  • Cellular -- the drone dials in to you over an IP link such as a 4G/5G modem (UDP or TCP listen port, default 14560).
  • 2nd GCS -- link up with another ArduDeck ground station by its peer URL.

Raw UDP / TCP / Server sources stay available under Advanced for people who want to wire things by hand; Server connects the app to a remote coordination server by URL. Every source you add has a Remove button.

The fleet rail

Once two or more vehicles are connected, a fleet rail appears on the left of the telemetry screen. Each card shows the vehicle's system ID, an airframe pictogram tinted with its identity color, flight mode, battery, and a heartbeat indicator. Vehicles flying in a formation nest under their leader's card.

  • Click a card to make that vehicle active. The main HUD, map focus, and the single-vehicle screens (parameters, mission, calibration, and so on) follow the active vehicle. Click the active card again to deselect.
  • Check the box on cards to select vehicles for a group command.
  • Click the chevron (or right-click) for the Orders menu.
  • The rail collapses to a thin strip of status dots when you want more map.

All vehicles are drawn on the map at once as airframe silhouettes (quad, hexa, octo, plane, VTOL, rover, boat) in their identity colors, with a ring showing armed, disarmed, or critical state. Overlapping vehicles fan out around a lead marker and separate as you zoom in. Click any vehicle on the map to make it active; right-click it for the same Orders menu as the rail.

Group commands

Select vehicles in the fleet rail and a group action bar appears:

  • Arm / Disarm
  • RTL -- return to launch
  • Start -- begin the loaded mission

Each action is sent to every selected vehicle and asks for confirmation first, listing how many vehicles it affects. These are independent commands fanned out to each vehicle, not coordinated flight -- formations are.

Formations

Formations work from the Orders menu (right-click a fleet card or map marker):

  1. Set as leader on the vehicle you want in front.
  2. Pick a gap and altitude step.
  3. Click a formation glyph: Vee, Line abreast, Column, Echelon left/right, Diamond, Box, or Survey sweep. The wingmen take station and hold it as the leader flies.

If you have vehicles multi-selected, only those become wingmen; otherwise the whole fleet forms up. Break formation releases everyone, or a single vehicle can Leave formation.

The rail also carries fleet-wide coordinated actions when the engine supports them: Take off all (synchronized takeoff to a chosen altitude) and Start leader mission (the leader flies its mission, the formation follows).

Multi-vehicle survey

Plan one area, split it across the fleet, and upload a slice to each vehicle:

  1. Draw a survey polygon in the Mission Planning as usual.
  2. With two or more vehicles connected, click the split-across-fleet button in the survey toolbar.
  3. Choose which vehicles to include and an optional altitude step (each vehicle flies a slightly different height as a safety layer).
  4. Click Generate split. ArduDeck divides the area by actual track workload, builds each vehicle's grid, and shows the waypoint count, area, and altitude per vehicle.
  5. Click Upload all. Each vehicle's mission is uploaded to it in turn.

The slices are contiguous, so coverage has no gaps or overlaps.

Fleet log analysis

The Flight Logs view has a Fleet Forensics tab: a cross-vehicle roll-up of flight summaries, maintenance flags, and health trends. Inside it, Pull logs from fleet lists the dataflash logs on every vehicle and downloads them over the engine, so you can analyze the whole operation's flights side by side. See Flight Log Analysis.

RTK for the whole fleet

With the engine running, the built-in NTRIP client injects RTK corrections into every connected vehicle from one caster connection. See RTK and NTRIP.

Practice with a SITL swarm

The SITL panel has a Swarm mode: pick a vehicle count (2-20), spacing, and a spawn layout (grid, line, or circle), and ArduDeck launches that many SITL instances with unique system IDs and offset home positions, wiring each one into the fleet automatically. A safe way to rehearse formations and group commands before risking airframes.

Notes and limits

  • Switching the active vehicle updates the live telemetry views immediately. Per-vehicle parameter and mission editing always targets the active vehicle.
  • Group Arm/Disarm/RTL/Start are independent per-vehicle commands; timing and separation between vehicles are only managed for the coordinated actions (formations, synchronized takeoff).
  • The engine ships inside the app; if it is reported missing, reinstall the app.

Clone this wiki locally