Introduction
Overview
The HAM Radio Simulator is a desktop application designed to replicate the experience of using a real HAM radio. It allows users to tune frequencies, send and receive Morse code messages, and adjust audio settings for a seamless communication experience. This project was created to help enthusiasts and learners explore the world of amateur radio in an interactive and user-friendly way.
Tools
Figma & JavaFX
Role
UI Designer & Frontend Developer
Timeline
September- October 2024
Goal
Project Goal
The primary goal was to create a tool that simulates the core functionalities of a HAM radio while being accessible to beginners and engaging for seasoned users. The focus was on realism and functionality, ensuring that every feature mirrored the real-life experience of operating a HAM radio.
Features
Frequency Tuning: Users can adjust the frequency range using sliders for precise tuning.
Morse Code Communication: Messages typed in text are converted to Morse code audio, allowing users to practice their skills.
Audio Filters: Noise reduction and band-pass filters enhance sound clarity, providing a realistic listening experience.
Interactive UI: A clean, responsive interface makes navigating the application simple and intuitive.
Develpoment
The Process
The application was built entirely with Java, leveraging JavaFX for the user interface. Development was iterative, starting with basic functionality like frequency tuning, then layering in advanced features such as sound filtering and Morse code translation. Throughout the process, I focused on creating an interface that balanced technical accuracy with user-friendliness. Here are a few pictures of the wireframing done for the HAM radio application.




Challenges
Challenges and Solutions
One of the most challenging aspects was ensuring the frequency tuner worked accurately and updated in real-time without lag. I resolved this by refining the algorithms and optimizing data processing. Synchronizing Morse code audio with the visual output was another hurdle, which I overcame by streamlining the data flow between the components.
Lessons
Lessons Learnt
This project deepened my understanding of signal processing and real-time system design. It also honed my problem-solving skills, particularly in debugging complex systems and ensuring smooth integration of features. Additionally, I gained valuable experience in designing interfaces that cater to both technical accuracy and user engagement.
Future improvements include adding advanced tuning options for more detailed control, integrating a live communication feature to simulate HAM radio conversations, and enhancing the audio visualizer for a richer user experience.