Morse Code Messager


Morse Code Messager

By Feng Yuan

Project Description

This project is a Morse Code message “transmitter”. People could use this device enter their message in Morse Code. Their message will be converted into English and displayed on the website. They also could choose to send a statute message of “GETTING A MORSE CODE MESSAGE” in their own facebook timeline.

Morse Code Messager should be a wireless, portable message sender. Unlike the convience and user-friendly design, Morse Code Messager will provide people a chance to experience how to communicate in this old style.

Code is Here.

Process Journal

Step 01: Research and Ideation

After learning the introduction of API and IFTTT, I came out my first plan, Visualizing Weather Data. My first idea came from my personal experience and demand. Collecting the weather data and visualizing the number in a physical and tangible way was my original plan. Based on this idea, I started to research precedent.

  • ZEEQ Smart Pillow. ZEEQ can play music to help user fall asleep, monitor and react to user’s snoring, analyze user’s sleep and also wake user up. All above functions are responded to the data it collects.

ZEEQ is a great example of how to actually create some function to using the personal data. Instead of using cell phone and alarm, making the bedding itself to be “smart” may be an effective way to improve the sleeping quality and guide people to live in a more healthy life.

  • Tempescope. Tempescope is tabletop gizmo that displays weather forecasts and current conditions by actually recreating them inside a sealed enclosure. If the forecast says it’s going to rain, it will rain inside the box. If it’s going to be cloudy or foggy, the enclosure will be filled with mist. With this product, people can just glance over at the Tempescope and instantly know what to expect.

Insteading of checking the app, Tempescope represent the weather data in a physical way which create a connection between digital virtual world and our daily life.

I also did some research of which weather API I should use:

Step 02:Change the idea and start over

After my further study and research of weather API and current precedents, I feel it is not very necessary for me to have a device to visualize the weather data. And also, there are so many similar products in the market. More focusing on my personal interest, I decide to change my plan and to create something I really like!

Morse code was developed since late 1830s. It encodes letters and numbers into sequences of short and long signals called “dots” and “dashes”. Morse code is used in electrical telegraph system at the beginning, and later it was adapted to radio communication. Today Morse code is still using in military, ham radio communication, dire emergencies, etc. As an old-school way for long distance communication, it is very easy to learn and the device is also portable and easily maintained.


I am so into this vintage communication approach. I decide to take this rare opportunity to create a Morse Code message sender/generator for myself.


After observing and imitating the hand sending gestures in 1966 US Army Training Film, I choose to use buttons instead of the bronze handle to input messages. Here is some basic thoughts of my coding:

  • One button sends “dot” signal, another button sends “dash” signal.
  • “Dot” button and “dash” button have different color to distinguish.
  • Pressing the button send a “1” or “2” int number. (1 = dot, 2 = dash)
  • For the letters whose morse code characters are less than 4 (such as I,A,E,I etc.), I choose to use 0 fill the empty space. “I” will be transferred  to 1100 in morse code. “D” will be transfered to 2110.
  • Arduino will process the 4 digits obtaining from buttons and generate the letter.
  • After the buttons are pressed 4 times, a letter will be translated. For the these letters containing less than 4 morse code characters, I design a “end entering” button.The code part should be something like this:

if(press button 4 times or press the “end entering” button){

Translate the 4 digits to letters ();    }

Translate the 4 digits to letters (){

If (the 1st character is dot){

if(2nd character is dot){}

if(2nd character is dash)

Else if (2nd character is empty)



Step 03: Complete the coding on arduino side.

  • Build the electronic circuit.
  • Make sure the arduino can “know” which letter I am typing.



img_5530 img_5531

Step 04: Complete the coding on p5 side.

  • Make sure the value generated from arduino can be sent to P5.
  • P5 “knows” which letter it is.
  • P5 storage the letter into a array and generate a string/sentence of these letters.
  • Make sure all the null value/unidentified value/empty value will be removed from the array.
  • The letter can be displayed on the P5 website.

Step 05: Craft the arduino container to hide all the wires.

  • Following the old-school style of morse code, I choose to use a wood box as my container.
  • I choose use a red button for dot, a blue button for dash and a black button for “end entering”.
  • With the help of Raze, I made this box.




Step 06: Connect the adafruit with Facebook in IFTTTT.

In my plan, after the morse codes are translated into English letter and generate a string value, this value should be sent to adafruit and then show up in my Facebook timeline as a statue message. However, after testing and testing over again, I realized the String value generated from arduino can be sent to adafruit but can’t be sent/displayed/used on Facebook. Instead of using IFTTT which has a super user-friendly interface and also a lot limitations, I probably need to use the original Facebook api directly. However, for this point, I have to change my plan to only show “GETTING A MORSE CODE MESSAGE” in my Facebook timeline.



Vimeo Video is Here.

Leave a Reply