Documentation
Onboarding
Getting Started
Power & Battery
Hardware & Components
Build & Assembly
Radio & RF Design
Frequencies & Regulations
Firmware & Software
USB & Connectivity
GPS & Navigation
Morse & Communication
Modes & Operation
Field Operations & Rescue
Building Effectively
Build Variants
Project & Reference
Docs Firmware & Software The Payload Builder

The Payload Builder

Edit on GitHub

How the firmware assembles the Morse message from message base, name, and GPS coordinates.

The Payload Builder

Every transmission starts with a string. The payload builder combines three parts into the final Morse message.

The three parts

PartSourceExample
Message baseDashboard “SOS message base”SOS
IdentityFirst/last name, if enabledDE MARIO ROSSI
PositionGPS, if enabled and fixedPSN N4553 E01230

Assembly order

The firmware concatenates in a fixed order:

CODE
SOS DE MARIO ROSSI PSN N4553 E01230

Each part is added only if its feature is enabled and (for GPS) a fix is available. Missing GPS yields PSN UNKN; missing name omits the DE section entirely.

The preview in the dashboard

The dashboard shows this assembly live as you type. The preview is computed in JavaScript the same way the firmware computes it in C++: message + optional name + optional position.

Name rules

  • Only A-Z (uppercase) letters are transmitted; lowercase is uppercased, digits and spaces are handled as Morse allows.
  • Keep names short: every letter costs airtime (~92 ms per dot at 13 WPM, more for dashes).
  • Names with apostrophes or accents should be avoided or spelled out (e.g. DANbecomesD ANor justDAN`).

GPS encoding

Coordinates are encoded as truncated DDM:

  • N4553 = 45 degrees 53 minutes North (45.883 N)
  • E01230 = 12 degrees 30 minutes East (12.50 E)

Each coordinate is 5 characters: hemisphere letter + 2 digit degrees + 2 digit minutes (with tenths). See the GPS pages for the full encoding.

Character set and Morse mapping

The firmware maps A-Z, 0-9, and a few prosigns to Morse. Characters outside the set are skipped (not transmitted). The Morse engine page has the full table.

Empty payload edge cases

  • Message base empty: the firmware falls back to SOS.
  • Name enabled but empty: the DE section is omitted.
  • GPS enabled but never fixed: PSN UNKN after the timeout.