Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

ESP32 Morse Code Interpreter (TFT + 5 Buttons)

Turn an ESP32, a 1.8" ST7735 SPI TFT, and five push-buttons into a real-time Morse → Text typer.
Tap DOT/DASH, press NEXT LETTER to translate the letter, SPACE for word gaps, and RESET to clear.
No timing detection—just fast, reliable input.

ESP32 Morse Interpreter Banner


ESP32 Morse Interpreter Banner


✨ Features

  • 5-button workflow (no dot/dash timing headaches)
  • Live TFT UI:
    • Morse:” shows the current Morse sequence (.-..)
    • Text:” shows translated text
  • Debounced button reads (stable input)
  • Minimal dependencies: Adafruit_GFX + Adafruit_ST7735
  • Works with Arduino IDE or PlatformIO

🧩 Hardware

Parts

  • ESP32 Dev Board (e.g., ESP32-WROOM DevKit)
  • 1× 1.8" ST7735 SPI TFT (128×160)
  • 5× Momentary push buttons
  • (Optional) Breadboard, jumper wires

TFT Wiring (ST7735 over SPI)

TFT PinESP32 PinNote
CSGPIO 5Chip Select
DCGPIO 16Data/Command
RSTGPIO 17Reset
SCLKGPIO 18VSPI SCK
MOSIGPIO 23VSPI MOSI
VCC3V3Power
GNDGNDGround
MISONot used

Power the TFT at 3.3V. Ensure common GND with the ESP32.

Button Wiring (Active-LOW, using internal pull-ups)

All buttons are wired the same way:

  • One leg → ESP32 GPIO
  • Other leg → GND

Enable INPUT_PULLUP in code so LOW = pressed.

ButtonESP32 GPIO
DOTGPIO 32
DASHGPIO 33
NEXTGPIO 25
SPACEGPIO 26
RESETGPIO 27

These pins are chosen to avoid conflicts with the VSPI TFT pins.


Schematic (SVG)


📁 Project Structure

esp32-morse-interpreter/
├─ src/
│ └─ main.cpp
├─ include/
├─ lib/
├─ docs/
│ ├─ esp32-morse.png # schematics svg
│ ├─ esp32-morse-schematic.pdf # printable diagram
│ └─ cover.png
├─ platformio.ini # if using PlatformIO
└─ README.md

🔧 Setup

Option A — PlatformIO (recommended)

  1. Create a new PlatformIO project (board: esp32dev).
  2. Replace platformio.ini with:
[env:esp32dev]platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200
lib_deps =
adafruit/Adafruit GFX Library
adafruit/Adafruit ST7735 and ST7789 Library

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages