The hardware and software that power the Morse Code system.
A small, affordable single-board computer. This project works with Pi 3, 4, or 5. It runs a full Linux operating system and connects to all the peripherals.
Main Computer
An add-on board that sits on top of the Pi. It has an 8ร8 RGB LED matrix, a joystick, and sensors for temperature, humidity, and orientation. We use the LED grid to display decoded letters.
LED DisplayThe primary input device. Left click for dots, long-press for dashes, right click to complete a message. Simple and intuitive.
Input DeviceConnected via the Pi's audio jack or HDMI. Plays beep sounds for dots and dashes, and reads the completed message aloud using text-to-speech.
Audio OutputShows the fullscreen pygame interface with the current Morse input, decoded characters, word list, and instructions.
Visual DisplayThe programming language for the entire project. Python is beginner-friendly, widely used in education, and has excellent library support for Raspberry Pi hardware.
Handles the fullscreen graphical display, mouse event detection (clicks, long presses), and audio playback. It provides the main event loop that drives the application.
The official Python library for the Sense HAT. Used to control the 8ร8 LED matrix โ displaying individual letters, scrolling messages, and showing Morse code patterns.
Text-to-speech engines. pyttsx3 is the primary TTS library; espeak serves as a fallback. When you complete a message, the Pi reads it aloud.
Used for audio synthesis โ generating sine waves for beep sounds and the Mario celebration tune. Creates precise waveforms with attack/decay envelopes for clean audio.
Python's built-in threading module keeps the UI responsive. Timeout monitoring, audio playback, and LED display updates all run in separate threads with proper locking.
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ USB Mouse โโโโโโถโ Pygame Event Loop โ
โโโโโโโโโโโโโโโ โ (click detection, timing, display) โ
โโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโ
โ โ โ
โโโโโโโโผโโโโ โโโโโโผโโโโโโ โโโผโโโโโโโโโโโ
โ Morse โ โ Audio โ โ Sense HAT โ
โ Decoder โ โ Engine โ โ LED Matrixโ
โ (dict) โ โ (numpy) โ โ (sense-hat)โ
โโโโโโโโฌโโโโ โโโโโโฌโโโโโโ โโโโโโโโโโโโโโ
โ โ
โโโโโโโโผโโโโโโโโโโโผโโโโโโโ
โ Text-to-Speech โ
โ (pyttsx3 / espeak) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโ
It's affordable (around $35โ75), runs a full OS, has GPIO pins for hardware projects, and has a massive community. Perfect for learning.
It's the most popular language for Pi projects, reads almost like English, and has libraries for everything we need โ from hardware control to audio synthesis.
A USB mouse is something every household has. No soldering, no breadboards, no extra wiring. Plug it in and start clicking Morse code immediately.
It snaps directly onto the Pi โ no wiring needed. The 8ร8 LED matrix is perfect for displaying single characters, and it's officially supported with a well-documented library.