Project

CW Morse Code

A two station Morse code communicator inspired by the Exploratorium.

Home Telegraph Project Status: TBD

Two station Morse code communicator with WiFi, long range radio, and open source hardware.


Overview

I was inspired to build this after visiting the Exploratorium in San Francisco with my three boys. They had a CW machine with an LCD screen, and it was one of the most fun exhibits in the building, alongside everything else spanning physics, science, art, and more.

Two physical telegraph stations let two people communicate across the house or across a field using Morse code. Tap a paddle key, watch your message appear on a color screen, and hear it beep out of the other station's speaker. It works over home WiFi and can switch automatically to direct long range radio with no internet required.


Signal Loop

The station decodes dits and dahs, the letter appears on screen, and the message is sent to the second unit over WiFi or radio. The receiving station then plays the tone and displays the message on its own screen.


What Stays Local

Data or FunctionWhere it runs
Paddle input decodingLocal
Screen renderingLocal
Morse tone generationLocal
WiFi message handlingLocal
Radio fallback transportLocal
Message display on receiverLocal

Hardware

ComponentDetails
Telegraph keyPaddle key from cwmorse.us
Main controllerHeltec ESP32 LoRa V3
Display2 inch ST7789 320 x 240 IPS SPI TFT display
SpeakerPAM8403 amp with 8 ohm 0.5W speaker
Connector3.5mm TRS panel mount jack
Power5V 2A USB C adapter

Each station uses the same hardware so the pair can act as mirrored endpoints.


Software Stack

LayerTechnology
InputIambic paddle decoder for dit, dah, and squeeze timing
DisplayTFT_eSPI for fast SPI screen rendering
NetworkESPAsyncWebServer for WiFi messaging
RadioRadioLib for LoRa packet send and receive
DevelopmentArduino IDE with the Heltec board package

Build Phases

  1. Wire one station so the paddle, screen, and speaker work together.
  2. Add WiFi so two stations can talk across the house.
  3. Add LoRa radio as an off grid mode when WiFi is unavailable.
  4. Build an enclosure using a 3D print or a project box.