Introduction: The Morse Translator With Arduino

What it does:

It translates your morse code into English words!

With this Morse Translator you can improve your morsing skills. Imagen,if the zombie apocalypse will happen, this will be the only way to communicate. Start practicing now!!

... or just have fun morsing ;)

About the morse code:

Characters in morse code consist of a series of dots (short beeps) and dashes (long beeps).
The duration of a dot is the basic unit of time.

To begin with, the variable is set to a value of 1000 ms, which is good if you're just starting to learn morse code. The following rules hold: The duration of a dash is three times the duration of a dot (default 1000ms) The gap between dashes and dots within a character is the duration of a dot.The gap between characters is three times the duration of a dot (i.e., the duration of a dash)The gap between words is seven times the duration of a dot.


  • 1x Arduino Uno
  • 1x Breadboard
  • 1x Potentiometer 10k Ω
  • 1x Button
  • 1x Speaker (Piezo Buzzer)
  • 1x LCD (Hitachi HD44780 compatible)
  • 1x Resistor 220 Ω
  • M-M / M-F Jumper cables

Step 1: Connecting Parts

Picture of Connecting Parts

Connect the parts according to the fritzing sketch.

Step 2: Code and Usage

Picture of Code and Usage

Upload the source code to your Arduino.

You can change the duration of a dot in the source code by changing the value of the variable dotDuration.

In order to make it easier for beginners, the morse code translator tolerates certain deviations of the actual duration of dots, dashes and gaps.

The tolerance can be modifies by changing the value of the variable tolerance in the source code (the default is 500 ms).

- Happy morsing!


ra.giraldo1260 (author)2017-03-16

Hello, I can't seem to make the LCD display the characters. Could you help me??

Found a solution.

I am having the same issue, It will make the noise but the screen stays blank.

blubflubify made it! (author)2017-11-09

Found a solution to the LCD not functioning. Leave the rest of the circuit the same but switch around the lcd connections to the same as this picture. then in your code find the code that displays the lcd pins and change it to this LiquidCrystal lcd(7,8,9,10,11,12);

I had to move my buzzer to pin 5 as well to accommodate the lcd changes. all you have to do is replace the buzzerpin in the code from 9 to 5.

Also i was having a hard time getting anything to really display as I was doing the morse code. If you change the dashDuration in the code to 1.5 it seems to help as well as changing the dotDuration to 500.

Fred_RK (author)2017-02-08

Thaaaank you so much for all the votes :)


TommasoP8 (author)2017-01-27

Hi, i'm getting nothing but E, any ideas?

Fred_RK (author)TommasoP82017-02-04

Maybe, try to press the button faster.

Have look at the morse code table.

Hope it works for you.
Have fun!

amal_asaad35 (author)2017-01-17

there is an error in code

what is that mean

Morse:13: error: expected unqualified-id before '\x6574'

Morse.ino: In function 'char readCharacter()':

Morse:127: error: 'alphabet' was not declared in this scope

Morse:132: error: 'alphabet' was not declared in this scope

help please :)

Fred_RK (author)amal_asaad352017-01-17


Uff that's a good question.

Which platform did you use?
Have you perform any changes in the code?
Have you used the Arduino IDE?

Have you opened the file in Notepad and changed the encoding?

I just tested the code without any issues.
I use: Arduino IDE + Arduino Uno

Maybe download the file again, and open it directly in the Arduino IDE.

Let me know if that worked out :)

rexty37 (author)2017-01-07

Hello and thank you for the assembly.

Question: I have an I2C LCD display
Four pins, how to plug
And what changes in the code?

Happy New Year 2017

Fred_RK (author)rexty372017-01-09

Hi rexty37,

thanks :)

How to plug the display depends on which display do you have :)

What you have to do anyway:

Include the library of your LCD display to the code and replace "LiquidCrystal lcd(12, 11, 5, 4, 3, 2);" in the code

Hope it worked :)

Best regards and happy new Year 2k17


Anirudh Ralhan (author)2017-01-06

Cool. Definitely making this as i'm really interested in Morse code. Well explained and easy instructable. Voted :)

Swansong (author)2017-01-06

That's really fun! :)

About This Instructable




More by Fred_RK:The Morse Translator with Arduino
Add instructable to: