This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Introduction
FLEX is a one-way paging protocol developed by Motorola in the 1990s, used by commercial paging networks to deliver messages to pagers. It supports multiple baud rates and modulation schemes, allowing higher capacity than its predecessor POCSAG. FLEX paging networks were widely deployed across North America, Europe, and Asia, and some systems remain in operation today.
The Flex RX app receives and decodes FLEX pager messages, displaying the capcode (pager address) and message content on screen.
Controls
The key items that can be selected with the cursor and changed with the encoder knob are:
- Title bar: The usual items may be changed and displayed.
- Frequency: The default frequency is 931.74 MHz. Adjust to match the local paging network channel.
- AMP / LNA / VGA: Gain controls. Start with AMP off, LNA 24, VGA 24 and adjust based on received signal strength shown in the RSSI indicator.
Common frequencies
FLEX paging frequencies vary by country and operator. Some examples:
| Region | Frequency |
|---|---|
| USA (primary) | 931.8125 MHz |
| USA (secondary) | 929.7125 MHz, 931.7375 MHz |
| USA (various) | 929.0375 – 932.0 MHz band |
| UK / Europe | 153.025 MHz, 466 MHz band |
| Australia | 148.0125 MHz |
Note: The app default (931.74 MHz) approximates the US 931.7375 MHz channel. Local frequencies depend on the operator and region. Scanning across known paging bands with Looking Glass or Scanner may help identify active channels.
Protocol details
FLEX uses FM modulation with automatic detection of baud rate and modulation level from the sync codeword. The following modes are supported by the Mayhem decoder:
| Mode | Baud rate | Modulation | Phases |
|---|---|---|---|
| 1600/2 | 1600 baud | 2-FSK | A |
| 1600/4 | 1600 baud | 4-FSK | A, B |
| 3200/2 | 3200 baud | 2-FSK | A, C |
| 3200/4 | 3200 baud | 4-FSK | A, B, C, D |
The app demodulates at a sample rate of 3.072 MHz (decimated to 24 kHz for symbol detection) with a channel bandwidth of 1.75 MHz.
Display
Received messages are shown in a scrolling console. Each decoded message entry shows:
- Capcode — the numeric pager address (up to 10 digits)
- Message text — decoded content (alphanumeric, numeric, or "Tone Only")
Up to 20 messages are stored in the display buffer. When the buffer is full, the oldest messages are removed to make room for new ones. A blank line separates each message entry.
Message types
The following message types can be decoded:
| Type | Description |
|---|---|
| Alphanumeric | Free-text message (7-bit ASCII) |
| Numeric | Digits only, using BCD encoding |
| Tone Only | Alert to the pager, no message text |
| Secure | Encrypted alphanumeric (content not decoded) |
| Binary | Raw binary data (not decoded) |
Numbered Numeric and Special Numeric variants are also supported.
Settings persistence
The selected frequency is saved automatically and restored the next time the app is opened. Settings are stored in SETTINGS/rx_flex.ini on the SD card.
Legal notice
Receiving pager transmissions may be restricted in your country. In many jurisdictions, intercepting communications intended for others — even if unencrypted — is regulated under telecommunications or wiretapping law. Check local regulations before use. Transmitting on paging frequencies without authorization is illegal.
Further reading
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Start here
Contributors
How to collaborate
Contributing Guidelines
How to ask questions correctly
Hardware
- PortaPack Versions (which one to buy)
- Features
- HackRF Versions
- Description of the hardware
- Enclosure/cases
- Repairs
- Mods
User manual
Intended use and Legality
- Usage cautions
- First steps
- Firmware update procedure
- User interface
- Powering the PortaPack
- Troubleshooting
- Won't boot
- Config Menu
- Firmware upgrade
- Diagnose firmware update in Windows
- Receive Quality Issues
- No TX/RX
- TX Carrier Only
- H2+ speaker modifications
- Dead Coin Cell Battery
- Factory Defaults
- SD card not recognized by PC with the SD-card over USB selected
- DFU overlay
- Full reset
- SolveBoard
- How to Format SDCard
- What if I don't like some of the apps
Applications
- 📥 Receivers
- 📤 Transmitters
- ADS-B(S) TX
- Adult Toys
- APRS TX
- BHT Xy/EP
- BLE TX
- BLESpam
- Burger Pager
- CVS Spam
- EPIRB
- FlipperTX
- GPS Sim
- Hopper
- Jammer
- KeeLoq TX
- Key fob TX
- LGE Tool
- MDC-1200 TX
- Morse TX
- OOK
- OOK Brute
- OOK Editor
- P25 TX
- POCSAG TX
- RDS
- RTTY TX
- SAME TX
- Signal gen
- Soundboard
- Spectrum Painter
- SSTV
- TEDI/LCR
- TouchTunes
- TPMS TX
- 🔄 Transceivers
- 🟡 Recon
- 🔴 Capture
- ▶️ Replay
- 🖲️ Remote
- 🔍 Looking Glass
- 🛠️ Utilities
- 🎮 Games
- ⚙️ Settings
- 💻 HackRF Mode
Misc
Developer Manual
- Compilation of the firmware
- Compile on WSL with ninja
- How to compile on Windows faster with WSL 2
- Using Docker and Kitematic
- Docker command-line reference
- Using Buddyworks and other CI platforms
- Notes for Buddy.Works (and other CI platforms)
- Using ARM on Debian host
- All in one script for ARM on Debian host
- Compile on Arch based distro (exclude Asahi), or other weird distros
- Dev build versions
- Notes About ccache
- Create a custom map
- Code formatting
- PR process
- Description of the Structure
- Software Dev Guides
- Tools
- Research
- UI Screenshots
- Maintaining
- Creating a prod/stable release (Maintainers only)
- Maintaining rules
- Development States Notes
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Note
The wiki is incomplete. Please add content and collaborate.
Important
- This is a public wiki. Everything is visible to everyone. Don't use it for personal notes.
- Avoid linking to external tutorials/articles; they may become outdated or contain false information.