
Morse Code Translator
Designed and built an Arduino-driven Morse code translator with hardware mode-switching, input debouncing, I²C LCD output, and character parsing in C++. Supports both serial and hardware-based I/O.
This project is a fully functional Morse code translator built around an Arduino microcontroller. Users can input Morse code via a physical push-button or serial terminal, and the decoded characters are displayed on a 16×2 I²C LCD screen in real time.
The firmware handles hardware debouncing, distinguishes dots from dashes based on press duration, and uses timing thresholds to detect letter and word boundaries. A hardware toggle switch lets users flip between encode and decode modes without restarting the device.
The firmware was written in C++, implementing a binary-tree-based lookup for fast character resolution and a ring buffer for input queuing. The project was a great exercise in real-time embedded programming with tight timing constraints.
Gallery


