EPIRB RX - portapack-mayhem/mayhem-firmware GitHub Wiki
The EPIRB RX application receives and decodes ELT/EPIRB/PLB COSPAS/SARSAT emergency beacon frames.
The EPIRB RX application decodes 406 MHz distress beacon transmissions from EPIRBs (Emergency Position-Indicating Radio Beacons), PLBs (Personal Locator Beacons), and ELTs (Emergency Locator Transmitters).
COSPAS/SARSAT emergency beacons are used in boats (EPIRB), planes (ELT) or by individuals (PLB) to support Search And Rescue (SAR) operations by helping to locate accident sites.
Received beacons are decoded using BCH error detection and single-bit correction. Each beacon state is color-coded:
- Green = valid packet
- Yellow = corrected (1-bit error fixed)
- Red = unrecoverable error
RX parameters can be configured using standard RF settings: RF amplifier, LNA gain, and VGA gain.
Frequencies can be selected from a predefined list stored in the EPIRB/FREQ.TXT file.
The EPIRB RX application also outputs audio of the monitored frequency, with adjustable squelch and volume settings.
The application status header displays:
- A time counter showing seconds since startup, or a 50-second countdown after each frame
- The total number of received beacon frames
- Statistics for valid, corrected, and invalid frames
- The currently selected beacon information
The application uses a 4-tab layout:
- List Tab: displays a summary of recently received beacons
- Detail tab: shows detailed information about the selected beacon
- Map tab: displays the beacon's location
- QR tab: shows a QR code linking to the beacon location or details from SARSAT Beacon Hex Decoder service
The EPIRB RX application decoding algorithm is very sensitive to frequency alignment. Due to size limitation of Mayhem applications, the EPIRB RX application does not provide a spectrum waterfall view. Hearing a beacon frame does not necessarily mean you are tuned to the correct frequency, as COSPAS/SARSAT channels are very close to each other. If decoding fails, it is recommended to use the Audio application's waterfall view to verify frequency alignment.
Beacon frame data is encoded using Manchester BPSK modulation at 400 bits per second, with a phase of Β±63Β°, in accordance with COSPAS/SARSAT specifications.
Each frame is preceded by a 160 ms carrier.
A dedicated proc_epirb baseband processor has been implemented using a state machine to:
- Detect the 160 ms carrier
- Detect the first phase transition and start Manchester decoding at each phase change
- Read packets using a dedicated PacketBuilder
This section is used to adjust receiver parameters for optimal decoding.
|
Receiver parameters: - RFA: RF Amplifier (0 or 1)- LNA: LNA gain (0β40)- VGA: VGA gain (0β62)- SQL: Squelch level for audio output (0-99)- Audio: Audio output level (0-99) |
This section displays the current application status.
|
Application status: - TIME: shows seconds since startup or the countdown to the next beacon (50 s)- COUNT: index of the selected beacon / total received beacons- STATS: number of valid / corrected / invalid beacons- ID: short ID of the selected beacon- TYPE: type of the selected beacon- LOC: Maidenhead Locator of the selected beacon- STATE: satus (OK/KO) of the selected beacon |
The first tab displays a list of recently received beacons.
|
Each entry gives: - Reception time - Beacon short ID - Beacon type - Location (if available): Maidenhead locator - Status ( OK if BCH1 and BCH2 codes are valid, KO otherwise ; if OK is displayed in yellow, it means that the frame has been corrected to match BCH1 and/or BCH2 code)
|
This tab provides detailed information about the selected beacon.
|
Controls: The encoder can be used to change the selected beacon. Beacon details: - Beacon type (EPIRB/ELT/PLB etc), mode (real/test) and reception time - Protocol (Standard/User/National etc), Protocol description, and additional data - Emergency type (if available): distress reason encoded in the message (Fire, Flooding, Collision, Grounding, Sinking, Disabled etc.) - Country of origin - Location (if available) in 3 formats o Maidenhead Locator, o DMS coordinates, o Decimal coordinates. - BCH1 et BCH2 control code status (if in yellow, it means that the frame has been corrected to match BCH1/BCH2 code) - Beacon Hex ID - Beacon Serial Number (if available) - Main location device - Auxiliary location device |
Displays the selected beacon on a map. Other beacons within the visible map area are also displayed.
|
Controls: - Arrow keys to move the map - Encoder to adjust zoom |
Display QR codes that can be scanned to access location or details from SARSAT Beacon Hex Decoder service
|
QR Tab: - QR option field can be used to chose between Map and Detail QR code:o Map QR code can be scanned to link to the beacon's coordinates in Mapso Detail QR code can be scanned to link to the beacon's details in SARSAT Beacon Hex Decoder service- Data shows raw beacon frame data |
In addition to receiver settings, that are available from the UI, other settings can accessed by editing SETTINGS/rx_epirb.ini file when App Settings is enabled in the global Settings menu.
This settings include:
-
countdown: duration (in seconds) of the countdown that starts after receiving a frame
The list of frequencies available from the frequency selector comes from EPIRB/FREQ.TXT file.
You can edit this file to add custom frequencies.
Default frequencies:
- 406.025 MHz (406025000)
- 406.028 MHz (406028000)
- 406.037 MHz (406037000)
- 406.040 MHz (406040000)
- 406.049 MHz (406049000)
- 406.052 MHz (406052000)
- 406.061 MHz (406061000)
- 406.064 MHz (406064000)
- 433.025 MHz (433025000)
- 144.875 MHz (144875000)
- 406.022 MHz (406022000)