Hello everyone,
I would like to share a completed and stable project built around the Arduino UNO Q, combining a Web interface, Python logic on the Linux side, and real-time audio generation on the MCU side.
The goal was to explore the UNO Q architecture and to implement a realistic Morse code player, both visually and acoustically.
Overview
-
A Web interface (HTML / CSS / JavaScript) allows entering text and adjusting Morse speed.
-
A Python application running on the UNO Q Linux side exposes a simple HTTP API and manages a request queue.
-
The Python layer communicates with the MCU via the Arduino Bridge.
-
The MCU decodes the text and plays Morse code on a Modulino Buzzer, using standard Morse timing.
The project supports multiple browser tabs without collisions thanks to a queue mechanism on the Python side.
Architecture :
Web Browser
↓ HTTP (WebUI)
Python (Linux – UNO Q)
↓ Bridge.call("morse_play")
Arduino UNO Q MCU
↓
Modulino Buzzer
Features
-
Adjustable speed (5–30)
-
Visual Morse representation (dots and dashes)
-
Realistic audio timing
-
Thread-safe queue handling
-
Clean and simple Web UI
The Morse timing and audio output have been validated by ear (I was a Morse instructor many years ago), which was important to me for this project.
Repository
GitHub repository with full source code, documentation, and screenshots:
https://github.com/philippe86220/morse-webui-unoq-buzzer-modulino
This project is intended as a reference implementation and a learning example for anyone interested in the UNO Q architecture or Web → MCU integration.
Best regards.