OpenShack Manual Master
🏁

RufzXP

Hear a callsign, key it back. Speed adjusts automatically.

Jump to section →
📡

PileUp

Multiple simultaneous callsigns on different frequencies.

Jump to section →
📤

TX Trainer

Key a reference text on your paddle. Scored on accuracy, timing, and error types.

Jump to section →
🎧

RX / Listening

Listen to CW text at speed and transcribe it. Newcomer and Master modes.

Jump to section →
🏅

Personal Best

Your top 10 results across all modes, saved after each session.

Jump to section →
🎖️

Licensed Events

Licensed-event workflow for supervised sessions with participants, result collection, and scoreboard upload.

Jump to section →

RufzXP — Callsign Speed Trainer

RufzXP is an advanced callsign trainer. Classic mode trains fast copy on the keyboard; RufzXP TX! adds paddle keying so the decoder can score the callsign you send back. It belongs with the PileUp trainer and Balloon Burst groups, words, and callsigns: short, repeatable pressure for serious operators.

RufzXP Classic mode
RufzXP Classic — type the callsign you hear; speed adapts on every answer
🎛️

TX Mode — RufzXP TX!

Hear a callsign and key it back on your paddle. The built-in decoder checks your CW. Requires the OpenShack Box.

⌨️

Classic Mode

Hear a callsign and type it on your keyboard. Listening and copy practice with no hardware needed.

RufzXP TX mode
RufzXP TX! — key the callsign you heard on your paddle; decoder checks your timing

Settings

SettingDescription
Starting WPMSpeed at which the first callsign is played.
WPM step (±)How many WPM to add/subtract on correct/wrong answer.
Single Speed ModeLock the speed to a fixed value — no adaptive changes.
FarnsworthExtra spacing between characters for comfortable practice at any speed.
Competition DurationFixed 3-minute timer when running inside Competition Mode.
Box AudioPlay CW through the OpenShack Box sidetone instead of PC speakers.
Retries per callsignHow many attempts before moving to the next callsign.
Wait (ms)Pause after each answer before the next callsign is sent. Applies to both modes.
Timeout (ms)How long to wait for your keyed answer before moving on. TX! mode only — Classic submits with the Enter key.
⏱️ Tune Wait and Timeout to your speed
The default Wait and Timeout of 2000 ms are deliberately relaxed. Experienced CW operators usually find them far too long — lowering them (for example to around 500 ms) makes sessions run much more smoothly. The values are remembered, so you only set them once.
⌨️ Repeat or Skip with ?
In TX (keyer) mode, send a single ? at any time to request a repeat of the current callsign — it plays again immediately. If you have already used up all allowed retries for that callsign (configured in Retries per callsign), sending ? advances to the next callsign instead.
ℹ️ Timing Timeline
In TX mode, a real-time timeline shows every keyed element. After each callsign you can see where the timing drifted.
📋 Results table
When the run finishes, a results table appears below the window listing every callsign you worked — the time, the call that was sent, what you typed or keyed, the speed it was sent at, and the points it scored. Correct answers are shown in green, missed ones in red. The window stays compact while you play and only grows to show the table at the end.

PileUp Trainer

Multiple callsigns call simultaneously, each on its own frequency, at its own speed, with its own signal character. Copy as many as you can before time runs out.

PileUp Trainer
PileUp Trainer — multiple simultaneous CW streams at different audio frequencies

Features

  • Multiple simultaneous CW streams — configure how many stations are calling at once.
  • Callsigns from MASTER.SCP — the same database used in major HF contests.
  • Adjustable base WPM, repetition count, and session duration.
  • Keyboard or hardware keyer input for entering copied callsigns.
  • Live scoring — correct, missed, and total counts updated in real time.
  • Results display — at the end you get a table of the callsigns sent in the pileup together with every callsign you entered. Correct copies are shown green, your wrong entries red, and callsigns you never worked stay white.
  • Binaural stereo — optional spatial pan that places each caller left or right by tone frequency, so you can pick out individual stations more easily on headphones. See below.
  • Licensed event integration — when opened from Competition Mode/FormCompetition, fixed settings are applied automatically (3 minutes, 2 simultaneous callsigns, 2 repetitions) and results are collected into the event scoreboard.

How the Mix Is Built

Every callsign in the pileup is generated independently, with its own frequency, speed, start time, and signal character.

ParameterHow it varies
FrequencyBase frequency ± 150 Hz, with at least 50 Hz separation enforced between simultaneous callers.
SpeedBase WPM ± 15 — callers run at different speeds, so you can't lock onto a single rhythm.
Start timingRandom delay of 0–1500 ms per caller, so the pileup builds rather than hitting all at once.
Signal character60 % clean standard tone; 40 % a randomly drawn style from the signal preset library.

Signal Presets

The preset library covers a range of signal imperfections you'd encounter on a real band:

  • Standard — clean sine wave, perfect 1:3 dot/dash ratio.
  • Chirpy / Chirpy short ratio — the tone slides in frequency during each element; short-ratio variant also compresses the dash.
  • Elbug / Elbug variations — stretched dash ratio (up to 1:5) with timing variation, simulating a bug or improperly adjusted electronic keyer.
  • Flutter / Flutter Elbug — amplitude modulation with QSB-style fading and noise, simulating a weak or disturbed signal.
  • Click humming / Elbug Humming — key click artefact or 60 Hz power-supply hum mixed into the signal.
  • Farnsworth — fast character elements with stretched word spacing.

How to Use

  1. From the dashboard, open the PileUp Trainer.
  2. Set the number of simultaneous callers, WPM, and duration.
  3. Click Start. Multiple CW streams begin playing at different audio frequencies.
  4. Type or key each callsign you copy and press Enter to log it.
  5. At the end of the session, your score and the full callsign list are shown.

Binaural Stereo (pile-up aid)

With several stations calling on slightly different audio frequencies, separating them by ear alone is hard. Tick Binaural stereo in the PileUp window and OpenShack spreads the simulated stations across the stereo image: callers with a tone below the base frequency lean left, callers with a tone above lean right, and a station right on the base frequency stays centred. The effect uses a constant-power pan, so a centred signal is no louder than a fully panned one.

Hearing each station from its own direction lets your brain do what it does in a noisy room — pick out one voice from the crowd. It works best with stereo headphones; on a single speaker or a mono setup the channels mix back to the centre and you lose the benefit.

Below the checkbox a Stereo width (%) slider appears. 100 % maps the full ±150 Hz spread to full-left / full-right; lower values keep the panning more subtle. 0 % is effectively mono.

ℹ️ Output device & supervised events
PileUp audio is routed to the global PC audio output device configured under Settings → Advanced. In licensed Competition Mode the binaural controls are hidden and the effect is forced off, so every competitor hears identical mono audio regardless of their headphone setup.

TX Trainer

The TX Trainer measures the quality of your transmitted CW. A reference text is displayed and you key it on your paddle or straight key. OpenShack decodes your sending in real time and compares it to the original, scoring every character.

🎯 Measure Your Sending
TX is a daily training tool. Use it to work on sending accuracy, spacing, and keying consistency outside formal events.
TX Trainer window
TX Trainer window

How to Use

  1. From the dashboard, open Master → TX Trainer.
  2. Select a text set (letters, numbers, mixed, or callsigns).
  3. A training text is shown first. Key freely and watch the decoder windows — the decoder calibrates to your timing. Continue until decoding looks clean.
  4. When ready, send VVV=. The window shows GO and the reference text is displayed.
  5. Start keying — the timer begins with your first element. Set how long a run lasts with the Run length (s) box on the TX window (default: 60 s). In a licensed supervised event the run length is fixed centrally (Settings → Competition), so the box is hidden there.
  6. Results appear when you finish or the timer expires — accuracy, errors, and timing metrics are all displayed.
TX reference text selection
Reference text selection — choose category and sequence number

Scoring & Analysis

The score is calculated from three components:

ComponentFormulaWhat it measures
Position(60 ÷ time limit) × last correct positionHow far you got through the reference text correctly. Normalised to a 60-second baseline so scores are comparable across different time limits.
Error penalty− errors × 5Each wrong, missing, or extra character costs 5 points. Errors are found by sequence alignment (Wagner-Fischer) against the reference.
Spacing penalty− |expected spaces − sent spaces|Absolute difference between word spaces in the reference and in what you sent, at 1 point per space off. Penalises sloppy word spacing.

The score is floored at zero — it cannot go negative.

ℹ️ Error Correction with <ERR>
Sending the correction sign (at least 6 dots, shown as <ERR>) cancels characters before scoring, following IARU HST rules: the current partial group is deleted back to the last group boundary. You may also cancel one additional preceding group. The variant that results in fewer alignment errors is used automatically.
  • Character-by-character alignment — each sent character is colour-coded: match, insertion, deletion, or substitution.
  • Timing metrics — dot/dash ratios, WPM, and LPM are tracked throughout.
  • Straight key mode — an alternative decode tolerance, more generous for straight key operators.
  • File output — full result detail saved automatically to your configured output folder.

Why TX Is Valuable for Training

  • Objective feedback — you see exactly what your keying produced, not what you intended.
  • Error pattern learning — substitutions/insertions/deletions reveal recurring habits quickly.
  • Timing control — ratio and spacing metrics make speed increases safer and cleaner.
  • Structured repetition — generated text sets let you practice focused drills repeatedly.
TX Trainer analysis
TX Trainer analysis — character alignment with colour-coded match/error view
TX Trainer results
TX results (1) — accuracy score and metrics summary
TX Trainer results detail
TX results (2) — detailed timing and element analysis

Generating Texts

Use Generate Texts to create randomised reference texts. Choose letter groups, numbers, mixed, or callsigns. Texts can be exported to PDF for printing reference sheets. Sequence numbers keep sets organised for structured practice events.

Generate Texts window
Generate Texts — randomised reference text sets ready for training and supervised events
Generate Texts PDF export
PDF export — printable reference sheets for training and supervised events

Quality RX

Quality RX is the transcription trainer: OpenShack sends a random CW text at the selected speed and tone, you type what you copy, and the app compares your answer with the reference. It is separate from the multiple-choice Listening Quiz below.

🎯 Personal practice and supervised competitions
Both dashboard entries can be used for practice. When Quality RX is opened from the Competition window, OpenShack also tracks the competitor and attempt number and sends the score to the event standings.
Quality RX Newcomer window after a scored copying run
Quality RX — Newcomer mode showing the copied text, similarity score, and elapsed time
Dashboard entryBest forDefault textTiming
Quality RX (Newcomer) Building copy confidence 100 characters Characters at the selected WPM, with slower Farnsworth spacing
Quality RX (Competition) Longer practice and formal events 300 characters Standard operating speed

Controls

  • Box Audio sends the exercise through a connected OpenShack Box. Clear it to use the PC audio output selected under Settings → Advanced. If the Box is unavailable, Quality RX falls back to PC audio.
  • frequency (Hz) and WPM set the CW tone and character speed.
  • The character-count slider changes the length of the scored text. Regenerate Text creates a fresh random reference at that length.
  • VVV starts a short 20-character warm-up and reveals its reference text for immediate practice.
  • START sends the full hidden reference. CHECK stops the timer and scores what you entered; Stop cancels playback without scoring the run.
  • Open Results opens the saved RX result files. Standalone scored runs are also eligible for Personal Best.

Run a scored text

  1. Under RX on the dashboard, open Quality RX (Newcomer) or Quality RX (Competition).
  2. Select Box or PC audio, then choose the frequency, WPM, and text length. Regenerate the text if you want a fresh reference.
  3. Click START and type the characters you hear into the answer field.
  4. The transmission begins with VVV= and ends with <AR>; do not type either marker.
  5. Click CHECK when you are finished. Quality RX shows the similarity percentage and elapsed time and saves the result.

Why Quality RX is valuable for training

  • Step-by-step progression — Newcomer timing gives you more space between characters before you move to standard spacing.
  • Controlled practice variables — speed, tone, audio output, and text length are adjustable.
  • Fast warm-ups — use VVV for a short copy check without committing to the full text.
  • Measurable feedback — similarity and elapsed time make progress visible from run to run.

Listening Quiz

The Listening Quiz plays a Morse text at a given speed and then presents four multiple-choice answers. Listen carefully, then pick the correct option (A/B/C/D). Questions are loaded from CSV files so you can easily add your own question sets.

Two modes are available: Training (standalone practice with selectable speed) and a licensed event mode (supervised event with progressive speed stages managed by the Competition Mode/FormCompetition orchestrator).

Listening Quiz window
Listening Quiz — select speed, listen to the Morse text, then choose the correct answer

Audio Output

🔊

PC Audio

CW tones generated on your PC. Playback timing is inherently precise — the form knows exactly when audio finishes. Routes to the global PC audio output device.

📦

Box Audio (default)

CW played through the OpenShack Box hardware sidetone. The app estimates the playback duration and shows the answer options when the sound is expected to finish.

How to Use — Training Mode

  1. From the dashboard, open Listening Quiz (training texts) or the licensed event variant.
  2. Select a speed from the dropdown (WPM). The app picks the matching question from the CSV.
  3. Optionally adjust the sidetone frequency.
  4. Click PLAY. The Morse text is sent with a "VVV=" preamble and "+" (AR) suffix.
  5. After playback finishes, the four answer options appear. Select one and click OK.
  6. The result (Correct / Wrong) is shown. The speed automatically advances by 2 WPM for the next round.

How to Use — Licensed Event Mode

  1. The Competition Mode/FormCompetition orchestrator opens the Listening Quiz with a competitor callsign.
  2. Questions are served in ascending CpM order. Each speed stage allows exactly one playback and one answer.
  3. Click START to play the current stage. After playback, select A/B/C/D and click OK.
  4. Click READY to advance to the next speed stage.
  5. Two consecutive wrong answers trigger a "must be correct" warning. The next wrong answer ends the run.

VVV Preview

Click the VVV button at any time to play a short "VVV" sample at the currently selected speed. This lets you verify audio output and volume before starting the actual quiz.

CSV Question Files

Questions are defined in semicolon-delimited CSV files (UTF-8 encoding). OpenShack ships with two sample files:

  • Listening.csv — the licensed event question set
  • ListeningTraining.csv — a separate training question set

Both files cover speeds from 100 CpM (20 WPM) to 490 CpM (98 WPM) in steps of 10 CpM, with one question per speed level.

CSV Format

The first row is a header and is skipped. Each subsequent row defines one question:

ColumnNameDescription
1TextThe sentence played as Morse code. Should end mid-sentence — the correct answer completes it.
2SpeedSpeed in CpM (Characters per Minute). The app converts to WPM internally (WPM = CpM ÷ 5).
3QuestionOptional question prompt shown above the answers. Leave empty to use the default prompt.
4Answer1Answer option A
5Answer2Answer option B
6Answer3Answer option C
7Answer4Answer option D
8CorrectOptionNumber 1–4 indicating which answer is correct (1 = A, 2 = B, 3 = C, 4 = D)
📄 Example Row
On a very clear and sunny day during the summer, the color of the sky is usually;100;;red;blue;yellow;black;2

This plays "On a very clear and sunny day…" at 100 CpM (20 WPM). The correct answer is B) blue (option 2).

File Locations

On first launch, the sample CSV files are automatically copied into your local data folder:

%LOCALAPPDATA%\DL2CC-STUDIO\Listening\

If you want to use your own questions, place your CSV file in this folder (or in the application directory under Resources\Texts\). The app searches for files in the following order:

  1. Application directory (same folder as the .exe)
  2. Resourcen\, Resources\, or Resources\Texts\ subdirectories
  3. Local AppData folder (the copy created at first launch)

To customise the licensed event questions, edit or replace Listening.csv in the AppData folder. To customise the training set, edit ListeningTraining.csv. The header row must be preserved. Rows with a CpM value ≤ 0 or a CorrectOption outside 1–4 are silently skipped.

⚠️ Character Support
The Morse text column supports standard Latin letters (A–Z), digits (0–9), and common CW punctuation (. , ? / = +). German umlauts (ä, ö, ü, ß) are automatically converted to their two-letter equivalents (ae, oe, ue, ss). Characters not representable in Morse are replaced with spaces.

Personal Best — Your High Scores

OpenShack automatically saves your best results after every training session, across all modes. Open High Scores → Personal Best from the dashboard at any time to see how you're progressing.

Personal Best window
Personal Best — your top-10 high scores across every Master mode

What Is Tracked

ModeScoreGrouped By
TXCalculated accuracy scoreCategory (Letters/Mixed/Figures/Callsigns) + duration
RX ListeningSimilarity %Character count + WPM + Farnsworth + Newcomer/Standard
RufzXP ClassicFinal scoreSession duration
RufzXP TX!Final scoreSession duration
Pile-UpCorrect callsigns copiedDuration + simultaneous count + base WPM

How It Works

  • Automatic recording — results are saved silently at the end of every standalone training run. No action required.
  • Top 10 per group — each mode/settings combination keeps only the top 10 results by score. The file never grows unbounded.
  • Medal ranking — 🥇 🥈 🥉 highlight your gold, silver, and bronze entries within each group.
  • Persistent storage — data is written to a local JSON file in your AppData folder and survives app restarts.
  • Supervised events excluded — results from licensed Competition Mode sessions are not recorded in Personal Best to keep your personal training data clean.
ℹ️ Clear All
Use the Clear All button at the bottom of the Personal Best window to permanently delete all stored records. This cannot be undone.

Licensed Competition Mode — Supervised Events

Licensed Competition Mode is OpenShack's orchestration layer for the rare case of on-site events with multiple competitors. An operator manages the event from a single window — registering competitors, launching sub-forms in sequence, and collecting all results into a unified scoreboard that auto-saves and uploads.

⚠️ Competition Licence Required
This workflow appears only when a Competition licence is active; it exposes the Competition/FormCompetition option and can then be enabled in Settings → Settings → Competition Mode. This simplifies the main dashboard so competitors do not accidentally open other modules.
Licensed Competition Mode orchestrator
Licensed Competition Mode — orchestrator window with scoreboard and competitor management

Choose Which Disciplines Count

In Settings → Settings → Competition you decide which disciplines are part of your supervised event. Tick or untick TX, Quality RX, Listening, RufzXP TX! and Pile-Up — any discipline you switch off is simply hidden in the Competition/FormCompetition window, so operators only see the ones you are actually running.

The same tab has an Enable Newcomer category switch. Leave it off for a single-class event — the Newcomer option then disappears everywhere and every competitor is a regular entrant. Turn it on to score Newcomers separately from regular competitors.

Max attempts per discipline sets how many scored attempts each competitor gets in every discipline (the default is 2; for TX it counts per text category). Once a competitor has used all their attempts in a discipline, further runs are no longer recorded. If you invalidate one of their attempts on the scoreboard, that slot frees up so they can run it again — and the attempt number shown in the scoreboard never climbs higher than the maximum you set here.

The Pile-Up event settings (duration, simultaneous callsigns, repetitions, and base speed) are also set here, so every competitor runs the same Pile-Up. During a supervised event these values are fixed — they cannot be changed in the Pile-Up window.

Event Workflow

  1. With the Competition licence active, open Competition/FormCompetition from the dashboard.
  2. Enter the competitor's callsign. If the Newcomer category is enabled, also pick their category (Regular or Newcomer).
  3. Open one of the enabled sub-forms (TX, Quality RX, Listening, RufzXP, or Pile-Up). Only one can be open at a time.
  4. The competitor performs their attempt. Results are automatically collected when they finish.
  5. The result appears instantly in the scoreboard. JSON + CSV files are saved and uploaded.
  6. Click New Competitor to clear the form for the next participant.
  7. Click Standings at any time to see a ranked results board per discipline.

Scoreboard & Data

  • Live scoreboard — updates after every attempt. Shows callsign, category, and all attempt results.
  • Invalidate / Validate — select a row and use the Invalidate button to discard a bad run (a false start, interference, etc.). Invalidated attempts are greyed out and ignored in the standings, and they free up an attempt slot. If the competitor's discipline window is still open, that freed attempt is re-enabled there straight away — in RufzXP just press Restart — so they can run it again without reopening anything. The same button validates a row again if you change your mind.
  • Standings — the Standings button opens a ranked board showing, for each discipline, every competitor's callsign and best result, with 🥇 🥈 🥉 medals for the top three. Regular and Newcomer competitors are ranked separately. You can leave this window open — it refreshes automatically after every attempt.
  • Auto-save — results are written to JSON and CSV automatically after each attempt. No data is lost even if OpenShack crashes.
  • Cloud upload — results are uploaded to the competition server so remote officials can view the live scoreboard.
  • Multi-day support — sessions spanning up to 5 days are handled. Each workstation gets a unique file name so multi-PC setups don't collide.
  • Manual Save & Upload button for on-demand synchronisation.
  • Open Folder button to access raw result files directly in Windows Explorer.
ℹ️ Licensed Event Sub-form Behaviour
When launched from Competition Mode/FormCompetition, the TX, Listening, and RufzXP sub-forms automatically apply event-specific settings — fixed duration, category-appropriate parameters, and result reporting. These differ from the standalone training versions of the same modules.