Connection
Connect to a normally booted M32 Pocket over USB serial.
Device Information
Hardware & Status
Dashboard
Fast controls, launcher shortcuts, and the current firmware menu state.
Quick Controls
Mode Launcher
Training Databases
Built inCallsign Trainer uses the imported MorseTrainerPro callsign pools. CW Generation uses the active weighted Oxford word list, plus the firmware abbreviation list and realistic prefix table for call generation.
Training Presets
OM0RX 1.1.4Presets write existing firmware preferences over USB, then launch the matching mode when available.
Device Health
Pre-field readiness check for firmware, power, storage, audio input, radio keying, and active mode.
Readiness
WaitingPreferences
All firmware parameters grouped by function, including OM0RX training additions.
Snapshots, CW memories, stored files, and player identity are not part of this reset.
Snapshots
Store, recall, clear, and inspect complete parameter sets.
CW Memories
Edit the eight memory keyer slots and play them from active Keyer or Keyer+Decoder mode.
Memory Slots
| # | Content | Mode | Actions |
|---|
<ar> end of message, <as> wait, <bt> section, <bk> break, <ka> start, <kn> go ahead, <sk> end of contact, <ve> understood, [p] or \p pause.
User Identity
Operator callsign and name used by QSO practice features.
Maximum 8 characters. Stored as uppercase.
Koch Trainer
Lesson progress, character sequence, and custom Koch character sets.
Custom Character Set
InactiveFiles
Manage the M32 internal player file and upload text for CW player practice.
File Manager
| Filename | Size | Actions |
|---|
Upload Text
CW Audio Test
Generate clean CW from this computer for decoder and RX sensitivity testing.
Ready.
Decoder Test Notes
Use the M32 Audio Decode Test screen to tune RX Sensitivity and Bandwidth while this page plays CW.
Firmware Flash
Install the current OM0RX field trainer build.
The installer needs exclusive USB access. This tab releases the configuration serial connection before flashing; then choose the M32 again in the installer prompt.
Firmware Notes
What is inside the firmware currently offered by this Field Console.
Current Release
OM0RX release 1.1.4
OM0RX releases now use their own user-facing version number starting at 1.0.
The firmware reports both the upstream base version plus suffix and an explicit OM0RX release marker.
This release appears as 8.2-OM0RX with om0rxRelease: 1.1.4.
Size Budget
Free app flash is about 487 KB. The smaller no-QSO build also passed at 2,819,317 B flash and 67,092 B RAM.
Lineage & Fixes
| Base | Original Morserino-32 firmware line, Version 6 and newer, base version 8.2. |
|---|---|
| Protocol | M32 USB JSON protocol v1.4 with explicit OM0RX release reporting. |
| Upstream fixes | Merged latest original fix for persisting sidetone volume on menu return and shutdown. |
| Build variants | Full OM0RX build and no-QSO fallback build remain rebuildable. |
Kept Core Firmware
- Display drivers and OLED rendering for M32 Pocket hardware.
- Rotary encoder interrupts, clicks, navigation, and shutdown handling.
- Capacitive touch paddle input and external paddle/keyer logic.
- I2C/SPI and internal chip communication paths.
- EEPROM/NVS preferences, snapshots, CW memories, player identity, and file storage.
- Audio/PWM sidetone, optocoupler/PTT keying, and decoder signal processing.
- Classic CW Keyer, CW Decoder, Echo Trainer, Koch Trainer, CW generators, player file support, and serial protocol.
Removed For Space
- Bluetooth stack, Bluetooth serial, HID, and VBand keyboard emulation.
- WiFi includes, HTTP configuration server, captive portal, and network UI.
- ESP-NOW peer-to-peer chat on M32 Pocket.
- LoRa transceiver/chat code paths not needed on this Pocket training build.
- Built-in games and related display frames/high-score loops.
- Duplicate Transceiver submenu entry for Keyer+Decoder, leaving the main menu entry as the operator path.
Training Databases & Reference Pools
Included in OM0RX 1.1.4| Callsign Trainer | Uses MorseCallsignTrainingData.cpp, generated from the MorseTrainerPro web callsign-training data, with separate all-callsign and CWOps-member pools. |
|---|---|
| CW Generation words | This build enables CONFIG_ENGLISH_OXFORD=1, so word practice uses the weighted 4,901-word Oxford-style frequency list from english_words.h and english_words.cpp. |
| Legacy word list | The older 373-word EnglishWords::words[] table is still present as fallback data, but it is not the active word source in this build. |
| Abbreviations | Abbreviation practice uses the 245-entry Abbrev::abbreviations[] table in abbrev.h. |
| Generated calls | CW call generation uses a 973-prefix weighted table built from 48,453 real callsigns for realistic prefix distribution. |
| SOTA/POTA | The QSO trainers use small curated reference pools by region: 44 summit refs, 33 park refs, and 18 POTA state/entity tokens. |
OM0RX 1.1.4 HW Status
Flash recommendedFixes the blank menu regression in OM0RX 1.1 by restoring alignment between the menu enum, menu text table, and menu navigation table for the M32 Pocket build.
The menu text and navigation tables now use inferred lengths plus compile-time assertions, so future conditional menu mismatches fail during build instead of flashing a broken menu.
Stale USB protocol sessions now expire after 10 minutes so idle shutdown can run if the browser or cable disconnects without a clean protocol-off command.
Shutdown now explicitly stops key output, sidetone, codec interrupts, and holds the TLV codec in reset before deep sleep.
Adds a top-level HW Status menu showing battery voltage/state, firmware identity, OM0RX release, protocol, build date, and file storage free space.
Field Console 1.2 Health Addition
Console-onlyAdds a pre-field readiness page showing firmware, battery, storage, RX sensitivity, radio keying, TX Hold, current mode, speed, volume, and a recommended next action.
Prioritizes firmware updates, low battery, missing status data, low storage, disabled external keying, unloaded RX settings, and ready-for-field state.
This was a Field Console-only update in the 1.1 line. The currently offered firmware is OM0RX 1.1.4 / 8.2-OM0RX.
What Is New In OM0RX 1.1
Manual RX/TX is clearer on the top line: RX M and TX M for manual mode,
AUTO for auto-switching, and TX countdown while TX Hold is active.
Encoder click now reports RX resumed or TX manual over the Field Console protocol.
Callsign Trainer now keeps missed callsigns in a small review queue and injects them first at the next session start. End-of-session output shows copied/attempted, percentage, and missed count.
Audio Decode Test is now an RX calibration assistant with tone/no-tone status, LOW/GOOD/HIGH level readout, sensitivity and bandwidth display, and short advice such as raise level, lower level, or level OK.
Dashboard presets configure common training workflows over USB: Beginner Calls, CWOps Copy, Weak Copy, SOTA Hunter, and Decoder Ready.
OM0RX Feature Inventory
Real callsign database import, CWOps pool, 3/4/5/6+ length filters, all/portable pools, session count, effective WPM/Farnsworth, inter-call delay, prefix focus, portable suffix modes, hard similar-call mode, repeat last, score tracking, copy/listen modes, Weak Copy, Prefix Drill, and delayed reveal in listen-only mode.
Separate SOTA and POTA entries, activity/role controls, EU/NA/OC/Mixed regions, curated summit/park refs, realistic CQ and 5NN exchanges, POTA state/province/entity tokens, and optional S2S-style SOTA practice.
Main-menu Keyer+Decoder mode, RX/TX half-duplex workflow, TX Hold setting, auto TX on first paddle touch, return-to-RX after hold, encoder RX/TX control, RX mute while TX, clearer top-line RX/AUTO/TX/countdown status, and external transmitter keying settings.
Diagnostic receive screen with tone/no-tone indicator, LOW/GOOD/HIGH level readout, signal ratio, receive WPM, sensitivity/bandwidth status, encoder sensitivity cycling, bandwidth toggle, and calibration advice.
Browser-based flash/config tool over Web Serial: dashboard, all preferences, snapshots, CW memories, user identity, Koch/custom characters, files, CW audio generator, raw TTY, Flash USB fail-safe, training presets, firmware notes, and post-flash dashboard suppression.
Multiple PlatformIO environments preserve known-good OM0RX lines, including full and smaller no-QSO variants. Future OM0RX releases should increment this page's OM0RX version while keeping the base firmware version visible.
Change Log
| OM0RX release | Base | Summary |
|---|---|---|
| 1.1.4 | Original M32 8.2 + OM0RX suffix | Adds top-level HW Status on the M32 itself: battery voltage/state, firmware identity, OM0RX release, protocol, build date, and storage free space. |
| 1.1.3 | Original M32 8.2 + OM0RX suffix | Corrected OM0RX identity packaging, restored Keyer+Decoder build flag, and retained menu/power hotfixes. |
| 1.1.1 | Original M32 8.2 + OM0RX suffix | Menu hotfix for blank/empty menu scrolling on M32 Pocket; adds compile-time checks that menu text and menu navigation counts match menuN. |
| Console 1.2 | Firmware binary unchanged: 8.2-OM0RX | Added Device Health page with field-session status cards and recommended next action from firmware, battery, storage, RX sensitivity, key TX, current mode, speed, and volume. |
| 1.1 | Original M32 8.2 + OM0RX suffix | Keyer+Decoder manual RX/TX display polish, Callsign Trainer missed-call review and session summary, Decoder Calibration assistant text, Dashboard training presets, and firmware identity changed from 8.2-OM0RX2 to 8.2-OM0RX. |
| 1.0 | Original M32 8.2 + OM0RX2 suffix | First field-trainer release with stripped network/Bluetooth/games, Callsign Trainer V2, SOTA/POTA V2, Keyer+Decoder polish, Audio Decode Test, upstream volume-persistence fix, and Field Console. |
M32 TTY
Send raw M32 protocol commands and inspect JSON replies.
Examples: get configs, get menus, put config/TX Hold/5, put cw/store/1/CQ DE OM0RX K.