Morse Code Station

Introduction: Morse Code Station

Dit-dit-dah-dah! Learn Morse Code with this easy Arduino Uno project.

This easy Arduino project is a Morse Code station. Morse Code is a communication method that encodes characters as a series of dots and dashes. This circuit uses a piezo buzzer to make the dots and dashes audible.

Using the button, you tap in the Morse code, the buzzer sounds with each press of the button and the OLED display shows the decoded message. Most people aren't familiar with Morse Code, so I have included an image showing all of the International Morse Codes above for your convenience.

How To Enter Morse Code

Code is entered by tapping the button. Give one short tap for a dot and a longer tap (at least twice as long) for a dash. As soon as you enter a recognized code, the letter, or number it represents is displayed. If you pause for approximately 1.5 seconds between taps, then the display will insert a space thus allowing you to enter words. If a code is unrecognized a '?' character is displayed.


  • Arduino Uno
  • Piezo buzzer
  • Resistor 220 Ohm
  • Resistor 10K Ohm
  • Graphic OLED display 128x64
  • 5mm LED: red
  • Tactile button

Step 1: Build the Hardware

Use the Fritzing diagram above to wire up the circuit.

Step 2: Upload Arduino Code

Before you compile and upload the Arduino code, you need to install a couple of libraries into your Arduino IDE. Open the Sketch->Include Library->Manage Libraries... menu item and search for and install the following libraries:

  • Adafruit GFX

  • Adafruit SSD1306

You are now ready to compile the Arduino sketch. The Arduino source code for the sketch

morse_code_station.ino is available for download from my GitHub repository.

Step 3: Build a Printed Circuit Board

If you would prefer to build a permanent version I have produced a printed circuit board. The Gerber file is available for download from my GitHub repository. Alternatively, you can browse the schematic and PCB on the EasyEda web site. The site is linked to a PCB manufacturer, and with a few clicks you can order the board for just a few dollars.

That's it, enjoy! Until next time...

Be the First to Share


    • Build a Tool Contest

      Build a Tool Contest
    • Backyard Contest

      Backyard Contest
    • Eggs Challenge

      Eggs Challenge



    Question 1 year ago

    hello i wonder what libraries i should add in the code


    Answer 1 year ago


    You need the AdaFruit OLED driver libraries:
    - Adafruit GFX
    - Adafruit SSD1306
    You can search for these libraries an install them from within the Arduino IDE. From the
    IDE menu choose Sketch->Include Library->Manage Libraries...


    1 year ago

    hello if you don't mind, can you throw the gerber file