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.
Components
- 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
Connect the parts according to the fritzing sketch.
Step 2: 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!

Runner Up in the
Make Noise Challenge

Participated in the
Arduino Contest 2016
21 Comments
Question 9 months ago
Is there anyone who rearrenge this code for MSP430?
3 years ago
i get this error code:
Arduino: 1.5.6-r2 (Windows 8), Board: "Arduino Uno"
Morse_Code_Decoder:13: error: 'POSITIVE' was not declared in this scope
Does somebody know how to fix this?
Reply 3 years ago
It would appear that you are using an LCD library which doesn't match your LCD.
Some LCD libraries contain the word POSITIVE.
If you have a different LCD display you will need to find a matching library without the word "POSITIVE".
Question 4 years ago on Step 2
I made it, now can you help me to add SPACE & BACKSPACE to it ??!
5 years ago on Step 1
Help.. The code wont open
Reply 4 years ago
Just make a folder
Question 4 years ago
hi there
im fairly new to arduino and was wonering how i could adapt it to make one push button for dots and the other for dash?
5 years ago
It doesn't work. The buzzer works so well but the lcd only shows squares, any letter. Can you help me? I used arduino IDE and all connections are fine. My lcd works in other projects using the same library.
Reply 4 years ago
change the contrast with the pot
6 years ago
Hello, I can't seem to make the LCD display the characters. Could you help me??
Reply 5 years ago
Found a solution.
Reply 5 years ago
I am having the same issue, It will make the noise but the screen stays blank.
6 years ago
Thaaaank you so much for all the votes :)
<3
6 years ago
Hi, i'm getting nothing but E, any ideas?
Reply 6 years ago
Maybe, try to press the button faster.
Have look at the morse code table.
Hope it works for you.
Have fun!
6 years ago
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 :)
Reply 6 years ago
Hellooo,
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 :)
6 years ago
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
Reply 6 years ago
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
Fred
6 years ago
Cool. Definitely making this as i'm really interested in Morse code. Well explained and easy instructable. Voted :)