Browser-Based Morse Practice Oscillator (and Why Morse Timing Is a Protocol-Design Masterclass)
Project summary: A pocket-sized Morse code practice oscillator you can build in an evening — an Arduino Nano, a piezo buzzer, one push button, and the correct ITU timing — plus a browser-based decoder to check your sending. Everything fits in a mint tin. Total cost under $10.
1. Why bother learning Morse in 2026?
Morse code turns 190 in 2026. It is still tested in niche amateur-radio licensing paths, still used by QRP portable operators who can get a 5-watt signal across an ocean when voice modes fail, and still the recommended low-bandwidth fallback in emergency-communication plans.
It's about timing as protocol design. Morse code is arguably the first widely deployed variable-length digital encoding: before Huffman coding (1952), telegraph engineers in the 1840s had already solved the core problem — the most frequent letters should have the shortest codes. E is one dit. T is one dah.
2. The timing specification
The International Morse timing from ITU Recommendation M.1677, in units: Dit 1 unit; Dah 3 units; gap within a character 1 unit; gap between characters 3 units; gap between words 7 units. Speed is measured in WPM anchored to PARIS (50 units). These ratios — 1:3:1:3:7 — are the whole protocol.
3. What you'll need
Parts: Arduino Nano, piezo buzzer (600–700 Hz sidetone), tactile push button, 10 kΩ resistor, 220 Ω resistor, LED, breadboard, jumper wires, USB cable or 9V battery. Software: Arduino IDE, plus a browser-based Morse decoder — I use the free practice tools at https://morsezone.com/ (their translator doubles as a sending checker).
4. The practice routine (15 minutes a day)
Days 1–3: ears first at 8 WPM, never look at a chart while listening. Days 4–7: add the key, watch your gap timing. Days 8–14: Farnsworth method — fast characters, wide spacing. Days 15+: copy real text; verify against a reference like the translator at https://morsezone.com/, which implements the same 1:3:1:3:7 timing.
5. What this teaches about protocol design
Variable-length encoding beats fixed-length when frequencies are skewed. Timing is the framing (like UART start/stop bits). Error detection lives at the human layer. The spec is the product — the value is conformance to the agreement.
About the author: I build free web tools for learning Morse code, including the translator at https://morsezone.com/.
Top comments (0)