Morsify Documentation

Introduction

Morsify is a clean, lightweight Morse code transmitter app for Android. It translates your text input into precise visual signals using the camera flash, auditory beeps, or both, making it perfect for educational purposes, amateur radio practices, or portable emergency signaling.

Features

  • Real-time Encode Instantly converts typed text to Morse code representation.
  • Live Highlight Highlight active character & symbol sequence during transmission.
  • Auto Loop Mode Automatically loops transmission after completion.
  • Speed Control Fine-tune speed timing from 60ms (fast) up to 240ms (slow).
  • Language Toggle Easily toggle between English and Bahasa Indonesia interfaces.
  • Dynamic Donate Config Crypto addresses loaded dynamically from local and remote JSON config.

Installation

Download the latest APK from the GitHub releases page:

Build from Source

# Clone the repository
git clone https://github.com/Curzyori/morsify.git
cd morsify

# Build the APK
./gradlew assembleDebug

Tech Stack

  • Platform: Android (Min SDK 26, Target SDK 35)
  • Language: Kotlin
  • UI Framework: Jetpack Compose with Material Design 3
  • Architecture: Single-Activity, ViewModel State
  • Engine: SoundPool (Low-Latency Audio dit/dat)
  • License: Apache-2.0

How It Works

Morsify takes your text input and instantly breaks it down into characters. Each character is mapped to the standard ITU-R M.1677-1 dit (·) and dat (−) pattern. The app then iterates through these patterns using a high-precision timer to toggle the camera flashlight or play low-latency audio via SoundPool synchronously.