Close
0%
0%

Morse Master

Morse Master is a Morse Code translator device in which we can input Morse code using a web application or manually via a push button.

Similar projects worth following
Greetings everyone, and welcome back.

Morse code, a timeless art form, continues to be revered for its ingenuity and history. Imagine developing a device that bridges the gap between traditional communication methods and current technologies.
Meet Morse Master, a Morse Code translator that can be controlled with a sleek web app or a tactile push button. The Morse Master goes beyond utility by combining interactive LED displays, Wi-Fi connectivity, and manual input choices in a single attractive design.

This device is powered by the Raspberry Pi PICO W Dev Board, allowing us to connect it to the internet. We created a webapp that allows users to enter any message, which is subsequently translated and outputted via the four 5mm LEDs linked to the Raspberry Pi pico W.

Furthermore, we have included a mechanical switch on this device that allows us to manually enter the morse code.

We designed the 3D model of Morse master in Fusion 360, borrowing inspiration from real Morse Key devices used to type Morse code. The idea here was to create a device that could be easily 3D printed and assembled.

Using one of our previously designed Raspberry PI PICO Expansion board PCB from a previous project, we used the custom board to create a simple Raspberry Pi PICO W and 5mm LED setup that would be used to display Morse code via RED LEDs.

MORSE CODE—History and Facts

The Morse code was created in the early 1830s by Samuel Morse, an American artist and inventor, and his collaborator Alfred Vail. It was initially developed as a way to send communications over large distances using the telegraph, a revolutionary communication instrument at the time.

The first version, known as "American Morse Code," employed dots and dashes to represent letters, numerals, and punctuation.

In 1851, a more standardized form known as the "International Morse Code" was established to incorporate non-English characters and diacritical markings, making it appropriate for global use. This form became the universal norm, and it is still acknowledged today.

The Morse key, also referred to as a telegraph key, was a device for manually transmitting Morse code signals via telegraph lines. It consisted of a lever that could be depressed to complete an electrical circuit, letting current to flow and provide a signal. Operators would press the key to create short signals (dots) and hold it down for long signals (dashes). These messages were sent as electrical pulses across telegraph cables to a receiver, where they were decoded into letters, numbers, and symbols.

The Morse key required aptitude and precision since operators had to keep consistent timing for dots, dashes, and gaps between characters and sentences. Experienced telegraphers may convey messages at astounding rates, generally measured in words per minute. The device was widely employed in communication systems, particularly in railways, maritime operations, and military settings, where it played an important role in transmitting critical information rapidly and reliably. Over time, the Morse key came to represent early telecommunications and the era's innovation.

DESIGN

We modeled our design after the Morse key, creating an enclosure that holds the Pico W circuit within; this comprises of a main body and a lid, to which we have attached a lever holder.

We included a lever alongside the Lever holder, and on one side of the lever, we included a knob similar to the one found on a Morse key, which allows the user to correctly grip the lever and operate the device.

A mechanical Blue Switch has been added to the Lid part, and the Lever is positioned above the Mechanical Switch; when the lever is pressed down, the switch toggles, and a switch press is registered by the PICO W.

To hold the mechanical switch in place, we built a square opening to the lid; the mechanical switch slides into this slot and is kept in place with two locks on its body. These two locks enabled us to securely hold the switch in place on the lid section.

The circuit is mounted inside the main body and held in place with four M2 screws, each with its own screw boss.

Regarding the design of the lid section and main body assembly, we have added four screw holes in each corner, as well as four screw bosses next to each screw hole. We'll be using four M2 screws here as well.

To secure the lever to the lever holder, we just use a Long 30mm M3 Bolt.

Our design follows the design language of prior Morse Keys...

Read more »

MORSE MASTER v7.step

step - 16.87 MB - 04/20/2025 at 17:14

Download

Main body.stl

Standard Tesselated Geometry - 128.21 kB - 04/20/2025 at 17:13

Download

Knob.stl

Standard Tesselated Geometry - 148.42 kB - 04/20/2025 at 17:13

Download

LID.stl

Standard Tesselated Geometry - 43.44 kB - 04/20/2025 at 17:13

Download

Lever.stl

Standard Tesselated Geometry - 49.69 kB - 04/20/2025 at 17:13

Download

View all 6 files

  • 1
    BOARD ASSEMBLY
    • The board assembly process begins with the installation of two CON20 Female header pin connectors in place of PICO W. We will use these header pin connectors in place of PICO.
    • Next, we place four 5mm LEDs near each corner of the expansion board.
    • By flipping the board over, we use a soldering iron to solder each through-hole pad, securing all THT components in place.
    • Using pliers, we align the excess legs of a 5mm LED and attach them to the PICO GPIO pins. We built connections and linked all of the LED anode pins to GPIO0, GPIO15, GPIO16, and GPIO17. The cathode of all LEDs is linked to GND.
    • After finishing the soldering, we installed PICO W over the CON20 header pin connector.
  • 2
    TEST SKETCH

    For testing the LEDs, we uploaded a Sample Chaser sketch to our PICO W, which turns ON and OFF each LED in a Chaser Sequence in a Loop.

    // Define the GPIO pins for the LEDs
    const int ledPins[] = {0, 15, 16, 17};
    const int numLeds = sizeof(ledPins) / sizeof(ledPins[0]);
    void setup() {
    // Initialize each LED pin as an output
    for (int i = 0; i < numLeds; i++) {
    pinMode(ledPins[i], OUTPUT);
    digitalWrite(ledPins[i], LOW); // Make sure LEDs are off initially
    }
    }
    void loop() {
    // Iterate through each LED, turning it ON and then OFF in sequence
    for (int i = 0; i < numLeds; i++) {
    digitalWrite(ledPins[i], HIGH); // Turn ON the current LED
    delay(200);                     // Wait for 200 milliseconds
    digitalWrite(ledPins[i], LOW);  // Turn OFF the current LED
    }
    }

    After making sure that our Setup is working electrically, lets move to the assembly process.

  • 3
    BUTTON ASSEMBLY
    • We place the mechanical switch in its slot on the lid section, pushing it downwards to secure it in place.
    • Next, we solder wires from GPIO1 to one terminal of the switch, while the other terminal is linked to the GND terminal.

View all 11 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates