Skip to main content

MSTAR24 One-to-Many Telemetry

Most telemetry radios are a matched pair: one on the ground, one in the aircraft, one link. MSTAR24 is built for the case where that does not scale — one ground unit and up to eight aircraft, all reachable from one ground station at the same time.

That is what you need for formation work, light shows, survey fleets, or a classroom with several aircraft in the air at once.

Not a drop-in replacement for a point-to-point radio

MSTAR24's firmware, working modes and parameters are genuinely different from the point-to-point LR900 and LR24 radios. Configuring it as though it were one of those will not work. If you only fly one aircraft at a time, a point-to-point radio is simpler and gives that aircraft the whole link.

How it works

One ground unit presents eight COM ports; each reaches one air unit, and each aircraft needs its own MAVLink system ID

The ground unit connects to the computer with one USB cable and presents eight separate serial ports, named ChA to ChH. Each port is a pipe to one aircraft:

Ground channelAir unit slave number
ChA0
ChB1
ChC2
ChD3
ChE4
ChF5
ChG6
ChH7

ChA also doubles as the ground unit's own configuration port.

The ground station then opens one connection per aircraft, each pointed at a different channel. From the ground station's point of view these are simply several serial links — which is why standard multi-vehicle support in Mission Planner and QGroundControl works without anything special.

Bandwidth is shared, and that shapes everything

This is the design constraint worth understanding before you configure anything, because it explains most of the decisions that follow.

All the aircraft share one radio downlink:

Ground unit rate modeTotal downlink
Standard (default)about 10.5 KB/s
High speedabout 22 KB/s

That total is divided among however many air units the ground unit is configured to expect. Four aircraft in standard mode get roughly 10.5 ÷ 4 ≈ 2.6 KB/s each.

Three consequences:

  • Set the air-unit count to what you actually fly. Leaving it at a higher number reserves bandwidth for aircraft that are not there.
  • More aircraft means slower parameter loading and higher latency, not a broken link. On a full fleet, expect a ground station to take a minute or two to read every aircraft's parameters.
  • Reducing each flight controller's MAVLink stream rates buys back real headroom.

Step 1 — Install the driver and find the channels

The ground unit needs a USB multi-serial driver — it is a single USB device presenting eight ports, and Windows needs to be told how to do that.

After installing, plug the ground unit in and open Device Manager. Under Ports (COM & LPT) you should see eight entries, ChA through ChH.

Windows assigns the COM numbers itself, so they differ between computers and are not necessarily consecutive. Write down which COM number belongs to which channel — everything later refers to channels, and the ground station asks for COM numbers.

If you see only one port, or none:

  • Is the driver installed, and is it the multi-serial one?
  • Is the USB cable a data cable?
  • Any yellow warning triangles in Device Manager?
  • Is this actually the ground unit rather than an air unit?

Step 2 — Configure the ground unit

Connect the ground unit, open MicoAssistant, select the COM port for ChA, set 57600 baud and connect. Open the radio settings, read the current parameters, change what you need, and write them back.

ParameterRange / defaultWhat it does
Rate modeStandard (default) or High speedtotal downlink: about 10.5 KB/s or 22 KB/s
Number of air units1–8, default 4how many ways the bandwidth is divided
Transmit powerup to 1000 mWground-side power
Frequency modemanual (fixed)leave it
Module address1–30000, default 8888only units with the same address connect
Frequency channel0–82 → 2400–2482 MHz, default 0the operating frequency

Module address is what separates one fleet from another. Two systems at the same site should use different addresses and different frequency channels — the address stops them pairing, the channel stops them interfering.

Step 3 — Configure each air unit

Each air unit is configured separately, over its own USB connection. The MSTAR24-F has a CP2102 on board, so it needs the CP210x driver.

Connect at 57600 baud in MicoAssistant and open the radio settings.

ParameterSet toNotes
Working modenetworking moderequired for one-to-many; it is the default
Slave number0–7, unique per aircraftnumber from 0 upwards with no gaps
Transmit powerup to 500 mWair-side maximum
Rate modesee the pairing table belownot the same name as the ground unit's
Module addresssame as the ground unit
Frequency modemanualthe default
Frequency channelsame as the ground unit
UART baud rate57600 by defaultmust match the flight controller's serial port
USB baud rate57600leave it

The rate modes are named differently at each end

This is the single most confusing thing about MSTAR24, and it is worth reading twice:

Ground unitAir units
StandardHigh speed
High speedUltra high speed

An air unit acting as a one-to-many slave only offers high speed and ultra high speed. There is no "standard" to choose, and choosing the mode whose name matches the ground unit's is wrong. Match the pairing, not the label.

Slave numbers

Give the first aircraft 0, the second 1, the third 2, and so on. Numbering from zero with no gaps keeps the channel mapping predictable, and the slave number is what determines which ground-side channel that aircraft appears on.

Two air units with the same slave number will not both work. They are contending for one channel.

Step 4 — Wire and configure each flight controller

Wire the air unit to a spare serial port — TELEM 1 is the usual choice:

Air unitFlight controller
TXRX
RXTX
GNDGND

ArduPilot

For an air unit on TELEM 1, which is SERIAL1:

SERIAL1_BAUD = 57600
SERIAL1_PROTOCOL = 2 # MAVLink2

Use the matching SERIALx_ parameters for any other port.

Then, connecting to each aircraft in turn over USB, give every one a different MAVLink system ID:

SYSID_THISMAV = 1 # aircraft 1
SYSID_THISMAV = 2 # aircraft 2
SYSID_THISMAV = 3 # aircraft 3

PX4

For an air unit on TELEM 1:

MAV_0_CONFIG = TELEM 1
MAV_0_MODE = Normal
MAV_0_FORWARD = Disabled
MAV_0_RATE = 1200 # bytes per second

Write those, reboot, and only then set the port's baud rate — the parameter does not exist until the port has been claimed:

SER_TEL1_BAUD = 57600

Reboot again, then give every aircraft a different system ID:

MAV_SYS_ID = 1 # aircraft 1
MAV_SYS_ID = 2 # aircraft 2
MAV_SYS_ID = 3 # aircraft 3
Two identifiers, both must be unique

The slave number is a radio setting and decides which channel an aircraft appears on. The MAVLink system ID is a firmware setting and is how the ground station tells one aircraft from another.

They are independent, and both have to be unique. Duplicate slave numbers give you aircraft competing for a channel; duplicate system IDs give you several aircraft that the ground station believes are one.

MAV_0_FORWARD is disabled here deliberately. Forwarding relays traffic between links, and on a shared downlink that is bandwidth spent on nothing useful.

Step 5 — Connect the ground station

Before connecting, check:

  • The ground unit is plugged into the computer.
  • Every air unit is wired to a flight controller and powered.
  • Every air unit has a different slave number.
  • Every flight controller has a different system ID.
  • Module address and frequency channel match across the whole system.
  • Ground and air rate modes are correctly paired.

When an air unit has linked to the ground unit, its green LED lights steadily, and the ground unit's display shows the signal strength for that channel. That gives you a per-aircraft link check before any ground station is involved.

Mission Planner

  1. Select the COM port for ChA, set 57600, and click Connect. That is aircraft 1, on slave 0.
  2. With it connected, right-click the dark toolbar area at the top of the window and choose the connection option.
  3. In the window that opens, select the COM port for ChB, again at 57600, and connect. Aircraft 2 appears.
  4. Repeat for each further aircraft — ChC, ChD and so on.

Once they are all connected and have GPS positions, every aircraft shows on the map at once.

QGroundControl

QGroundControl keeps a list of defined links, which suits this well.

  1. Open Comm Links and click Add.
  2. Name it — "Aircraft 1" — set the type to Serial, choose the COM port for ChA at 57600, and save.
  3. Add one for each further aircraft, on ChB, ChC and so on.
  4. Select all the links you want, then click Connect. QGroundControl brings them all up together.

Reading every aircraft's parameters can take one to two minutes, because they are sharing one downlink. That is normal, not a fault.

Then use the multi-vehicle view to see everything at once, or switch between aircraft in the toolbar to work on one at a time.

Easily confused points

The ground unit is one USB device and eight serial ports. One cable, eight COM numbers.

ChA is both aircraft 1 and the configuration channel for the ground unit itself.

The rate mode names do not match across the pair. Ground standard goes with air high speed.

Slave number and system ID are different things, both unique per aircraft.

Module address separates fleets; frequency channel separates transmissions. You want both different between two systems at one site.

The air unit's UART baud and USB baud are separate parameters. The UART one has to match the flight controller.

Bandwidth is shared. Slow parameter loading with a full fleet is the design working, not a fault.

Troubleshooting

SymptomWhere to look
Only one COM port, or noneMulti-serial driver not installed. Then the cable, then Device Manager warnings.
An air unit never linksModule address, frequency channel, and the rate-mode pairing. Then whether its slave number clashes with another.
Ground station sees one aircraft when several are connectedDuplicate MAVLink system IDs. Give each flight controller its own.
Two aircraft alternate or drop each otherDuplicate slave numbers.
Link is up but no MAVLink dataThe air unit's UART baud rate does not match the flight controller's serial port, or the port is not set to MAVLink.
Everything works but is very slowExpected with several aircraft. Reduce the air-unit count to the real number, use the faster rate pairing, and lower MAVLink stream rates.
Works indoors, drops outdoors at rangeAntenna placement and transmit power. The air side maxes out at 500 mW against the ground side's 1000 mW, so the uplink is usually not the limit.

Written and maintained by the Robofusion engineering team.