Packet composer

Sending from the composer, and repeats, need APRS Connect Pro. Writing a packet, the preview, the decode and saving do not.

The packet composer builds one APRS packet from fields you fill in, shows the whole line and how a receiver decodes it, and sends it. A packet you save can be sent again later, or on a repeat at an interval you pick.

It opens three ways:

  • Composer in the drawer. You can drag it onto the bar like any other tile.
  • The + beside EXPORT on the Packets tab.
  • Edit and send at the top of the packet inspector, on one of your own packets. Its payload comes across into a new packet. See Starting from a packet in the log.

Starting a packet

The first page lists your saved packets and the kinds of packet you can write: a position, a status, an object, an item, a weather report, a message, telemetry, telemetry definitions, a general query, and Custom, where you write the whole payload yourself. Each opens with its own fields; see The payload.

The position, object, item and weather forms start with your position when the app knows it: from the station beacon, a fixed beacon position, or your station on the map. USE MY POSITION fills it in again later.

The fields

  • From starts as your station callsign. You can change it to another SSID, or to another callsign; one that is not your station callsign or one of its SSIDs is marked in amber under the field, and still sent. A saved packet left on your station callsign follows it if you change your SSID later.
  • To is always the app's own identifier (its tocall) and cannot be changed. Receivers read it as the software that sent the packet. A message is addressed inside the payload.
  • Path is the digipeaters asked to repeat the packet, separated by commas, such as WIDE1-1,WIDE2-1. It starts as your station beacon's path. Leave it empty to reach only stations that hear you directly.

The payload

The payload is everything after the colon, and its first character says what kind of packet it is. Type picks the kind, and the composer writes the payload from the fields under it, so you do not need to know the format:

  • Position: latitude and longitude in decimal degrees, a symbol, a comment, and Takes messages (on sends =, off sends !).
  • Status: a line of text.
  • Object and Item: a name (up to nine characters for an object, three to nine for an item), a position, a symbol and a comment. On the map off sends it killed, which removes it from other stations' maps. An object carries the time it is sent.
  • Weather: a position and any of wind direction and speed, gust, temperature, rain over the last hour, the last 24 hours and since midnight, humidity and pressure. The fields are in the units APRS carries: degrees, mph, °F, inches, percent and millibars. A field left empty is not sent.
  • Message: who it is to, the text (at most 67 bytes) and an optional message ID. With an ID the other station answers with an ack; the composer does not wait for it or send again. Use Messages for a conversation.
  • Telemetry: a sequence number, five readings and eight bits.
  • Telemetry definitions: PARM (the names of the readings and bits), UNIT (their units), EQNS (how each raw reading converts) or BITS (which value of each bit means on, and a project name). They are addressed to your own callsign, because definitions belong to the station whose telemetry they describe.
  • Query: ?APRS?, ?IGATE? or ?WX?. Every station of that kind that hears it answers.
  • Custom: the payload as text. Switching to Custom keeps what the form built, so you can start from a form and change it by hand. Switching back reads the text into the form when the form can rebuild it exactly.

A field that is wrong says so in red under it, and the packet cannot be sent until it is fixed. The count under the payload is in bytes: a packet carries at most 256, and a character outside plain ASCII takes more than one.

Preview and decode

What will be sent shows the whole line as it will go out. Under it, anything that stops the packet from being sent is listed in red, and anything worth knowing is listed in amber. How it decodes shows the packet field by field, with the same labels the packet inspector uses.

The composer will not send:

  • a third-party packet (a payload starting with }), which carries another station's packet inside it
  • a Mic-E packet (a payload starting with ` or '), which keeps part of its position in the destination, and the destination here cannot be changed
  • TCPIP, TCPXX or a q-code in the path. APRS-IS servers add those.
  • a path hop marked as used (*). A path is sent unused; the digipeaters mark it.
  • more than eight digipeaters in the path
  • a line break or any other control character in the payload
  • more than 256 bytes of payload
  • a position left as DDMM.mmN and DDDMM.mmW in Custom

The amber notes do not stop the send. They cover a callsign in From that is not your station callsign or one of its SSIDs, a path that asks for three hops or more, a message (sent once, with no retries, and it does not appear in Messages), and anything a receiver would not fully decode.

The same checks run again in the app's engine at the moment of sending, and on every repeat.

Sending

Send on picks where the packet goes: Every channel (every connected radio and APRS-IS) or only the channels you pick. If none of the picked channels is connected, nothing is sent. A path containing NOGATE or RFONLY is never sent to APRS-IS.

SEND sends the packet once. A path that asks for three hops or more asks you to confirm first. After a packet goes out on a radio, the button waits 30 seconds before the next one can go on a radio. APRS-IS is not held back.

The packet goes out through the same checks as a beacon or a message: it is not sent while another of your devices holds the station, or while the station callsign is a placeholder such as N0CALL.

Last sent then shows the time, the channels that took the packet, and any channel that refused it with its reason. Every copy of the packet heard back is listed under it: how long after sending it arrived, on which channel, and the path it came back with, which names the digipeaters that repeated it and the IGate that put it on APRS-IS. OPEN IN THE PACKET LOG opens the packet in the inspector. The sent packet is in the packet log like every packet you transmit.

Saving and repeats

SAVE keeps a new packet in your list. It asks for a name, which is only for the list and is never sent; left empty, the packet takes the name of the starting point it came from. A saved packet is saved as you edit it, RENAME changes its name, and DELETE PACKET removes it. The composer keeps up to 50.

A saved packet can be sent on a repeat: switch Send on a repeat on in the packet, or use the switch on its row in the list. Every then appears under the switch, to pick how often, from 10 minutes to 24 hours; it starts at 30 minutes. The first one goes out when you switch the repeat on. After that it goes out once per interval, and each row in the list says when the next one is due.

A repeat runs while the app is running. With the screen off it keeps going only when Run in the background is on. A repeat that could not go out says why on its row, the Composer tile in the drawer shows a dot, and it tries again shortly after. Repeats stop while Pro is off and while another of your devices holds the station. The packets and their intervals are kept.

Saved packets are part of the Beacons and saved packets group in settings sync, which starts at Send, and of a backup. A saved packet received from another device can name a channel this device does not have; that channel is dropped from its Send on.

Starting from a packet in the log

Edit and send in the packet inspector opens a new packet with that packet's payload, in its form when the form rebuilds it exactly and in Custom otherwise (a compressed position, for instance, stays Custom). An object or a weather report is sent with the current time, not the time it was heard.

It is there only on packets from your own callsign, on any SSID. Another station's packet carries that station's position, weather, objects or messages; sent under your callsign it would put you at their location, take over their object, or send their message as yours. A packet your station digipeated or gated is still the other station's, so it is not offered either.

From keeps the SSID the packet was sent from. The path is kept only if it was still unused; a path the network has already marked, or one that came over APRS-IS, is replaced by your station beacon's path, because what was originally asked for cannot be read back from it.

Last updated 2 October 2026