Skip to content

Debyte404/Morse32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 Pin ESP32 Pin Note
CS GPIO 5 Chip Select
DC GPIO 16 Data/Command
RST GPIO 17 Reset
SCLK GPIO 18 VSPI SCK
MOSI GPIO 23 VSPI MOSI
VCC 3V3 Power
GND GND Ground
MISO Not 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.

Button ESP32 GPIO
DOT GPIO 32
DASH GPIO 33
NEXT GPIO 25
SPACE GPIO 26
RESET GPIO 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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages