0% found this document useful (0 votes)
794 views

Paper 199-Morse Code Translator Using The Arduino Platform

morse code translator

Uploaded by

Sérgio Silva
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
794 views

Paper 199-Morse Code Translator Using The Arduino Platform

morse code translator

Uploaded by

Sérgio Silva
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

SAI Computing Conference 2016

July 13-15, 2016 | London, UK

Morse Code Translator Using the Arduino Platform:


Crafting the Future of Microcontrollers
Srgio Silva(a,b,d), Antnio Valente(a,b), Salviano Soares(a,c), M.J.C.S. Reis (a,c),Jean Paiva(a), Paulo Bartolomeu(d)
a) School of Sciences and Technology, EngineeringDepartment UTAD, Vila Real, Portugal
b) INESC TEC -INESC Technology and Science (formerly INESC Porto, UTAD pole), Porto, Portugal
c) IEETA -Institute of Electronics and Informatics Engineering of Aveiro, Aveiro, Portugal
d) Globaltronic - Electronics and Telecommunications - gueda, Portugal
[email protected]
AbstractThe ability of the Arduino platform to enhance
student interest and performance in science, technology,
engineering, and mathematics (STEM) courses, while fostering
skills that are important prerequisites for future IT careers, has
been proven more than once in the past years. But can the future
be crafted without the past? We believe that many past
inventions crave the future, so their understanding is a bridge of
knowledge that must be passed to students. According to Grand
View Research website the microcontroller market will rise from
the 20 billion units in 2015 to an amazing 39 billion units in 2020.
Therefore, an increase on IT careers is also expected. The Morse
code and the telegraph revolutionized long-distance
communication in the past and laid the groundwork for the
communications revolution. In fact, although developed in the
1830s and 1840s by Samuel Morse (1791-1872) and other
inventors, only in 1844 the first telegraph message, from
Washington, D.C., to Baltimore, Maryland, was sent. To provide
the means to students to start learning this technology we have
developed four experiences that introduce them to the
fundamentals of communications, including the Li-Fi technology.
This new technology is based on the Morse code, and can spark
again the communications revolution by using tiny, imperceptible
flickering lights can provide a new way of sending data to
computers and mobile devices. Therefore, we decided to
revitalize the almost forgotten Morse code by implementing it
with an Arduino in order to lay again the foundations to this new
revolution that is coming.This paper presents the implementation
model of two Morse code translators, how they work, their
implementation, and some results. We also present a VLC
(Visible Light Communication) system based on the same
principles of the Morse code building this way the foundation for
students to proceed with this course of the investigation.
KeywordsArduino;
Morse
Code;
Visual
Light
Communication; VLC; STEM; Education; Communications;
Microcontroller Applications

I.

INTRODUCTION

What hath God Wrought (meaning What God has


done)was the first text message transmitted by the telegraph in
1844.

w h a t

h a t h

G o d

W r o u g h t

.-- .... .- -

. .. .- - ....

--. --- -..

.-- .-. --- ..-- --. . -

Morse
invention
revolutionized
long-distance
communication.The telegraph messages were a series of dots
and dashes, that Morse grouped to form letters and numbers as
can be seen in Figure 1.For example, to form the letter S we
should join 3 dots (), follow by a brief silence.

Fig. 1. Morse code tree

This revolutionary idea allows long distance


communication between people connecting humanity and
building bridges between nations. By the end of the 19th
century, however, new technologies began to emerge, many of
them based on the same principles first developed for the
telegraph system. In time, these new technologies would
overshadow the telegraph, which would fall out of regular
widespread usage, but as in the past, today the same principles
developed by the telegraph can craft again the future so
researchers think with the rise of Li-Fi and VLC.
One of the most interesting things about Morse code is the
resemblance to binary encoding, has both used two different
symbols in their representation. In fact, Morse code offers a
slow but reliable means of transmitting and receiving wireless
text messages through conditions involving noise, fading, or
interference. This is primary because it is simply binary code
(key down or key up) allowing for an extremely narrow
bandwidth.
Other resemblances between binary and Morse code is the
binary tree from figure 1 where each branch is always divided
into two new branches. The efficiency of Morse encoding style
led to data compression schemes like the one created by David
Huffman in 1952, using the same algorithm of Morse trees to
construct the base of all modern compression schemes.Figure 2
shows the Huffman tree.

1|P age
978-1-4673-8460-5/16/$31.00 2016 IEEE

SAI Computing Conference 2016


July 13-15, 2016 | London, UK

Fig. 3. Morse array

32
positions
16 .
positio
ns

Fig. 2. Huffman tree [9]

Result= N

The Huffman coding is indeed the best possible


compression of the data (of course, one can do better
compression in practice using additional properties of the data
and careful hacking). The output from Huffman's algorithm
can be viewed as a variable-length code table for encoding a
source symbol (such as a character in a file) [10] like in the
Morse code, but instead of using binary numbers Morse uses
different lengths on the coding.
II.

IMPLEMENTING THE MORSE CODE TRANSLATOR

Fig. 4.

Received' - . ', then N was produced

Each letter is composed of 1 up to 5 levels, or from 1 to 5


symbols, meaning that if we receive 6 symbols there is an error
in the received signal. All positions on the Morse array
represented by * are also error positions. At the end of each
letter, the pointer goes back to the middle of the array, the 64th
position.
III.

MORSE CODE SPEED AND LETTER TIMING

There are many different ways to implement the


dichotomic search table or Morse tree of figure 1. If you look
closely you can see that there are really three possibilities at
each node: go right, go left, or stop. So to decode a Morse
transmission we need to remember that the Morse code has
only two kinds of signals, dashes, and dots. So if we start on
the beginning of the Morse tree and the first signal is a dot we
go left to letter E if the next signal is a dot we go left again, if
is a dash we go right and if is a pause we got the letter.

A. The decoding of the receive signals


To decode the received signal we need to take into account
the speed of the transmitted signal, which in the case of
theMorse code is usually stated in a nonstandard fashion,
meaning that instead of defining the dot duration, it is usually
stated the amount of words per minute. So if someone says an
operator can transmit 20 words per minute (20 wpm), it means
that the average dot equals 50 milliseconds.

There is also some ground rules considering pauses and


other rules that we need to take into account. A pause for a dot
time is between different signals for the same letter, a pause for
a dash worth time is between different letters in the same word,
a dash is three times the length of a dot and between words we
get a seven dot time pause (this represent the space character).

The way this value is obtained is by stating that the typical


word is a 5 letter word (like the word CODEX or PARIS) and
that an operator that has a 20 wpm transmission rate is able to
transmit the word CODEX 20 times in one minute.

To store the Morse tree in our implementation, we have


used an array of chars. The array has 127 positions and the
pointer starts pointing to its middle (position 64), that in our
case is a space for convenience.
Figure 3 shows the middle 65 characters used to implement
the Morse tree from Figure 1. The arrow represents the pointer
that will move to the left if we receive a dot or to the right if we
receive a dash. At every receive signal dot or dash the pointer
will jump to the next level and as there are 5 levels, on the tree,
the jump will be equivalent of 25 = 32 positions in the array.
This also means that now there are only 4 levels remaining
so the next jump will be of 24 = 16 positions, the next jump
will be of 23 = 8 positions, and so on, as can be seen in figure
3, where we have received a dash and a dot followed by space.

To further explain this topic,we have constructed table 1 in


order to show the timing calculations for each letter of the
referred word considering 50 milliseconds duration time for the
dot and following the Morse standard rules: a dash is 3 times
the length of the dot, so 150 milliseconds;the pause between
different signals of the same letter is of the same size of the dot
time, and if the pause is for a dash time, it is between different
letters in the same word, also pauses equivalent to 7 dots (350
milliseconds), separate different words.Table 1 shows the
standard calculation times, showing also the meaning of
20 wpm.
Generally speaking, that is a quite slow transmission rate,
if, for example, we consider the ASCII code (American
Standard Code for Information Interchange), an 8-bit code with
256 (28) characters. For transmitting the word CODEX, we will
need 5x8 bits. Therefore, to transmit 20 times this word it will
take 5x8x20 = 800 bits plus a start and a stop bit.

2|P age
978-1-4673-8460-5/16/$31.00 2016 IEEE

SAI Computing Conference 2016


July 13-15, 2016 | London, UK
TABLE I.

STANDARD WORD TIME CALCULATIONS

Letters
Cc

Morse Code
-.-.

---

-..

-..Word time
Space words
Total time
Words/minute

Millisec.
550
150
550
150
350
150
50
150
550
2650
350
3000
20 words

Fig. 5.

Hardware implementation

Fig. 6.

Electric equivalent schematic

If we consider that serial communication between a PC and


any other device can achieve, without compression, 115200
bits/sec then to transmit our 20 words, it will take about 6.944
milliseconds, i.e., 432 times faster than the human Morse
operator. Even if we speed up the transmission of the dot up to
1 millisecond, the total time to transmit the word will be 60
milliseconds, i.e., 8.94 times slower than the current standard
transmission rate. Of course, no human could receive this
transmission, but a computer can, in fact, even with lowquality speakers and microphones a computer can write and
receive Morse code up to 300 words per minute, that is
equivalent to 17.7 milliseconds per word.
The main reason for this limit is that normal speakers and
microphones are tuned to frequencies up to 15 kHz. It is
possible to achieve much higher transmission rates by using
ultrasound microphones and speakers.
However, one important thing to remember is that although
the Morse code signal needs to be converted from
electromagnetic waves to sound for human understanding. If
microcontrollers are used, this conversion is not necessary,
making possible to transmit at an even higher frequency/rate,
in the order of 106, or even faster, depending on the
microcontroller receiving ADC.
B. The Hardware implementation
The hardware implementation is based on the Arduino
UNO platform equipped with an Atmel ATmega328P(a 16
MHz 8 bit RISC microcontroller), a Morse key, and some
connection wires. The simplicity of the design is used to
encourage students to build and program the system.
Figure 5 presents the hardware implementation of the
encoder, also showing a metronome that serves as a timing
basis to users that have no Morse code practice.
The electric equivalent circuit is shown on Figure 6.There
are two buttons, one for the dot signal and one for the dash.S1
represents the dot and S2 the dash. The LED will blink at the
same frequency of the dash or dot, making Morse visible
besides audible. The electric circuit was drawn using the IDE
Fritzing.

C. The Matlab implementation


After receiving the signal, the Arduino sends it to Matlab
using the USB serial port that converts the code into human
voice allowing hearing what has written in Morse code.
The Matlab implementation is divided into three parts. The
first part is the function plotgraph_SerialPort.This function is
responsible for the reception of the Morse code signal sent by
the Arduino. While receiving data, this function calls the
decoder in order to decode the encryptedMorse code into
letters and words.It also calls the function plot to show, in
real time, what the system is receiving, as can be seen on the
graph in the left-upper corner of the screenshot presented in
Figure 7.
When the end of the Morse message is reached the system
opens a new window, like the one in Figure 8, showing the
received Morse signal and the signal spectrogram.
The function responsible for this part of the program is the
Sin function. After displaying the graphs, the function calls
the sound function, over the Morse signal, so that we can hear
how the signal sounds.

3|P age
978-1-4673-8460-5/16/$31.00 2016 IEEE

SAI Computing Conference 2016


July 13-15, 2016 | London, UK

Fig. 7. Matlab more decoder

Fig. 9. Machine to machine

VLC provides, for example, equipment and staff


communications with no EMI and RFI problems on Hospitals
[11]. Multiple LED light bulbs can be used with the relative
location for more accurate indoor positioning and navigation
[12]. Also in the malls VLC tags, can provide, for positioning
and localization purpose [13][14].
For our tests we transmit 1000 English words at several
different distances, using one 5 mm LED as emitter and one 3
mm NPN phototransistor as the receiver, and we have achieved
a zero error rate as far as one meter long.
Better distances can be achieved by using transmission
arrays [6]. There can also be array arrangements to have a
certain transmission frequency, offering a data rate of 40Mb/s
for Non-Return to Zero (NRZ) On-Off Keying (OOK) [7].

Fig. 8. Morse signal and spectrogram

The process ends with a call to the function Speak that


converts the text to speech, allowing the user to listen to the
message. This function uses the google API to convert
messages from text to speech.
IV.

MACHINE TO MACHINE COMMUNICATION

To test machine to machine communication, we built a


firmware version of the Matlab converter, which allows the
Arduino to code text messages into Morse code. The message
can then be transmitted either by sound, light or any other form
to another Arduino (or another device) in order to be decoded
and display as text, or sent to the Matlab to be converted into
speech sound.
Figure 9 shows the hardware simulation of the machine to
machine prototype. In order to introduce the Visual Light
Communication (VLC) the hardware implementation uses
light. There are two LEDs, used for signal emission, and two
phototransistors, used for the signal reception. Although this is
a very simple setup it represents the conceptual theory behind
VLC. This simple hardware implementation allows VLC
between both machines.
The use of white LEDs for illumination allows this type of
communication to happen at the same time making this a wide
area of application and a considerable interest is around
building applications that make use of this technology.

On the second set of tests, we have transmitted 1000 times


the word CODEX and count the times each transmitted letter
arrived at the receiver machine without errors.
A. Li-Fi implementation
The first experiment on VLC was conducted by Alexander
Graham Bell in 1880 with a system called the photo-phone [1],
depicted in Figure 10.
We can see that a sunbeam, reflected on a small mirror, was
used to transfer voice. It is also interesting to know that Bell
did believe that the photo-phone was the greatest invention he
has ever made, greater than the telephone, as he told a reporter
shortly before his death [2]. So like Morse, Optical Wireless
Communication, can be seen as a rebirth of an ancient
technology.
In a broadband manner of speaking Optical Wireless
Communication (OWC) refers to the transmission of data using
light propagating without being guided by any waveguide and
through free space or air. So OWC includes, besides VLC, the
Infrared (IR), and Ultra Violet (UV), and although OWC chair
a story as long as RF, the research contributions targeting the
use of visible light to communications are quite limited and
only a few papers, dated from 1999 [3] and 2000 [4], address
low-bit-rate systems and applications in narrowband and
visible light.

4|P age
978-1-4673-8460-5/16/$31.00 2016 IEEE

SAI Computing Conference 2016


July 13-15, 2016 | London, UK

Fig. 10. Bell's Photo-phone U.S. Patent #235199.

Later in 2001 Takana et al. [5] address the use of visible


light communications using WLED for broadband domestic
applications. By the end of 2003, the Visible Light
Communications Consortium (VLCC) was established in
Japan. Companies like Samsung, Toshiba, NEC, KDDI,
Panasonic, Sony, Toyota, Sumitomo, Mitsubishi, NTT
DoCoMo, Casio, and Sharp were some of the first members.
The consortium was established to develop, test,
investigate, plan, and standardize ubiquitous high-speed
biologically friendly VLC LED systems. Later on, the Wireless
World Research Form (WWRF) initiated some activity on this
subject, but only in 2007, with the appearance of the subject in
the Scientific American by Mohsen Kavehrad [5], grabbed the
research community attention in Europe and the United States
with the funding of the hOME Gigabit Access (OMEGA)
project, seeking to develop global standards for home
networking, including the use of optical wireless using infrared
and VLC technology.
By the end of 2009, the IEEE issued a Call for
Contributions on IEEE 802.15.7 VLC standard. The Morse
encoder that we have implemented can be used to transmit
VLC and, therefore, we can speed up communications, in the
line of sight to the speed of light. It is also very interesting to
note that if we have applied the Morse code principles to VLC
communications we can, at least in theory, achieve 3n bps rate,
where n is the number of bits transmitted, instead of the
traditional 2n.
V.

RESULTS

The first developed prototype allows users to write simple


Morse code messages. Without having prior experience with
Morse code, it introduces students to Morse code syntax and
allows them to understand the transmission fundamentals. It
also allows users to listen to the written messages in Morse and
in text to speech.
The second prototype allows machine to machine
communication through VLC. Chart 1 summarizes the results
obtain concerning wpm versus transmission errors. It uses
Morse code in order to facilitate user understanding and allows
transmission over the air without errors, to a maximum
distance, in the simple prototype, of 80 cm. Based on the error
we decide to check the transmitted and received signal on the
oscilloscope in order to understand whats happening, Figure
11 shows channel 1 and 2 of the oscilloscope as transmitter and
receiver respectively.

Chart 1 - Wpm versus Transmission errors

Fig. 11. Oscilloscope Channels

The signal shows the word CODEX from left to right.


Its also clear that we are receiving the correct signal although
transmitting at 1200 wps. Therefore, the errors obtain were
introduced during the decoding stage, as a result of some phase
shift introduced by the transmitter microcontroller.
Table 2 represents the words per minute versus error rate
per transmitted character. To obtain the results we have
transmitted 1000 times the word CODEX and compared the
transmitted Letters with the received ones calculating the error
for each character.
From table 2 it is clear that the error rate increases has the
character is deeper in the coding tree. Therefore character E,
which is on the top of the tree, has the lower error rate, and
characters X and C, which are in the bottom of the Morse
tree, have the higher error rate and this makes sense
considering the phase shift.

5|P age
978-1-4673-8460-5/16/$31.00 2016 IEEE

SAI Computing Conference 2016


July 13-15, 2016 | London, UK
TABLE III.

WPM VERSUS ERROR RATE PER TRANSMITTED CHARACTER

Future work will implement a prototype that uses the LED


driver 6 channels, developed by Globaltronic, to allow
customers to interact with end users throw a short message
system, giving information about the location and general
information of the products exhibit.
ACKNOWLEDGMENT
This work is partially financed by the ERDF European
Regional Development Fund through the Operational
Programme for Competitiveness and Internationalisation COMPETE 2020 Programme, and by National Funds through
the FCT Fundao para a Cincia e a Tecnologia (Portuguese
Foundation for Science and Technology).
[1]
[2]
[3]
[4]

[5]
[6]

VI.

CONCLUSIONS AND FUTURE WORK

The developed prototypes allow users to lay the basis of


communication and introduce the concepts necessary to
understand Visual Light Communication. Results show that
even with a simple hardware configuration it is possible to
achieve a high-quality transmission with low error rates at
speeds of 1200 words per minute, To achieve higher
transmission rates, it is necessary to change the firmware used
by the prototypes, for example, using interrupts to measure the
received signal allowing even higher transmission rates. In the
transmitter side, it is necessary to use an array of LEDs and
faster microcontrollers in order to process the data received in
the serial port and convert it to Morse before sending it to the
receiver. In the receiver side, an amplifying receiving stage
will allow longer receiving distances. The use of the
amplifying receiving stage will also allow the receiving
firmware to use interrupts instead of time sampling, making
measurements more precise.

[7]

It is clear that VLC technology introduces new challenges


and this work allows users to give the first steps in this
technology. The developed prototypes present some of the
limitations and gave students tools and clues to some of the
possible paths to find the answers.

[13]

[8]

[9]
[10]

[11]

[12]

[14]

REFERENCES
Mohsen Kavehrad, Sustainable Energy-Efficient Wireless Applications
Using Light, IEEECommunications Magazine, December 2010.
Bhalerao, M. V., S. S. Sonavane, and V. Kumar. "A survey of wireless
communication using visible light." IJAET, Jan (2013).
G. Pang et al. Visible Light Communication for Audio Systems, IEEE
Trans. Consumer Elect., vol. 45, no. 4,Nov. 1999, pp. 111218.
Y. Tanaka, S. Haruyama, and M. Nakagawa, Wireless Optical
Transmission with the White Colored LED for the Wireless Home
Links, Proc. IEEE PIMRC, London,UK, 2000, pp. 132529.
M. Kavehrad, Broadband Room Service by Light, Sci.Amer., July
2007, pp. 8287.
O'brien, D.; Zeng, L.; Hoa Le-Minh; Faulkner, G.; Walewski, J.W.;
Randel, S., "Visible light communications: Challenges and possibilities,"
in Personal, Indoor and Mobile Radio Communications, 2008. PIMRC
2008. IEEE 19th International Symposium on , vol., no., pp.1-5, 15-18
Sept. 2008 doi: 10.1109/PIMRC.2008.4699964
E-Minh, H., O'Brien-Dc, Faulkner, G., Zeng, L., and Lee, K.: HighSpeed Visible Light Communications Using Multiple-Resonant
Equalization, accepted for publication in IEEE photonics technology
letters, 2008
M. Petre and B. Price, Using robotics to motivate back door
learning, Education and Information Technologies, vol. 9, no. 2, pp.
147158, 2004. [Online]. Available: http://dx.doi.org/10.1023/B%
3AEAIT.0000027927.78380.60
HELD, Gilbert. Compresso de Dados. Tatuap, SP: Erica, 1998. 390 p.
ISBN 85-7194-110-6
Huffman, D.A., "A Method for the Construction of MinimumRedundancy Codes," in Proceedings of the IRE , vol.40, no.9, pp.10981101, Sept. 1952 doi: 10.1109/JRPROC.1952.273898
Birendra Ghimire and Harald Haas, Self-organising interference
coordination in optical wireless networks, EURASIP Journal on
Wireless Communications and Networking, 2012
D. O'Brien, H. L. Minh, L. Zeng, G. Faulkner, K. Lee, D. Jung, Y. Oh,
and E. T. Won, Indoor visible light communications: Challenges and
prospects, Proceedings SPIE, vol. 7091, 2008
Soo-Yong Jung, Swook Hann, and Chang-Soo Park, TDOA-Based
Optical Wireless Indoor Localization Using LED Ceiling Lamps, IEEE
Transactions on Consumer Electronics, Vol. 57, No. 4,pp: 1592-1597,
2011
IEEE 802.15 LED(Light Emitting Diode) Interest Group (IG-LED)

6|P age
978-1-4673-8460-5/16/$31.00 2016 IEEE

You might also like