top of page

Morse Code Generator

ENGS 33 - Digital Electronics

For this project, I worked with a partner to design and develop a device that uses Morse Code to communicate strings of characters; essentially the input on a computer keyboard is translated into an output of LED light flashing and speaker beeping. 

REPORT ABSTRACT

Present-day technology is changing the world in many ways, and one of those ways is improving communication by overcoming barriers. Provided that communication is an essential tool for people, this project works toward overcoming the communication barrier among individuals who cannot see and individuals who cannot hear. This project also allows communication among people who do not know Morse Code. This report presents the development of a Morse Code Generator that required VHDL programming and hardware. The objective was to create a device that receives an input from a keyboard and translates it to a light output and an audio output of Morse Code. Through a series of logic design and development, the generator successfully emits series of light flashes and audio beeps to communicate the Morse Code translation of a typed string of characters. Consequently, people who may not initially be able to communicate among each other, have the opportunity to do so with technological aid.

SKILLS DEVELOPED

- Functional Specification: Alternative Solutions

- Detailed design: included FPGA and external components

- Modular Design: included plan for design-and-test

-Simulation and test equipment: oscilloscope to diagnose problems

- Debugging: worked with VHDL and Verilog (included comments within code)

- Design Partition:

     - sectioned into datapath and controller

     - developed a register-transfer level block diagram of the datapath

     - developed state diagram for the controller
 

REFLECTION

I had 2.5 weeks to develop this final project with my partner, and so the most challenging aspect of this was the timeline. We were successful in developing this project by dividing the work and upholding clear documentation (e.g. commenting the code, working on the diagrams together). I referenced my previous lab assignments to develop our code and to improve the accuracy of our diagrams. 

bottom of page