Morse code decoder

We built the Morse Code decoder using polling and interrupts on an input switch. We used HSC12 micro-controller to responds to input transitions, in the form of key press and duration of key press determines whether the input is a dot (.), dash (-), or space ( ). We used 7-segment display to indicate a dash, and a decimal dot LED to indicate a dot. These LEDs light up in response to the Morse code key-presses.



We used the Morse code chart and program the micro-controller to decode the dots and dashes into actual characters (A, B, C, D, ...) and output the character on the screen serial port.

We have also added microphone circuit which listens to audible Morse code transmissions and decodes the text, which it outputs to a terminal window.

Whack a mole game

We built our own Whack-a-Mole game by creating wireless sensors network. We used total 3 micro-controller, 1 master node and 2 mole nodes. The master node is randomly assigning the moles when to pop up (turn on LED), and you have to whack them (cover their light sensors) as fast as possible.


We will be keeping track of score in total time-to-whack and the game ends after 10 moles are whacked. We have kept some intentional delay between the time a mole getting whacked and the next mole lighting up as human we need some reaction time. We are printing the score out to the terminal after 10 moles are whacked.


Rules of the game:

  1.  Game starts only when the player presses a key on the master (connected to PC for terminal output)
  2. Only one mole’s LED should be on at any time
  3. Score should be updated continuously
  4. The total-time-to-whack is the current score
  5. Game ends in 10 rounds.

Elevator programming:

We used Pulse-Width Modulation (PWM) to control an elevator. By using the PWM signals we controlled the elevator’s vertical position as well as open the door at each floor. Simultaneously we used the GPIO module to detect which floor the elevator is at.

Dual-tone multi-frequency signaling (DTMF)

Dual-tone multi-frequency signaling (DTMF) is used for telecommunication signaling over analog telephone lines in the voice-frequency band between telephone handsets and other communications devices and the switching center.

When a key is pressed the corresponding waveforms is outputted on PT2 (IOC2) and PT3 (IOC3), and when the key is released we stop outputting the waveform. We have programmed that only one key press needs to be recognized at a time. PT2 should output the waveform for the row of the key (low frequency), and PT3 should output the waveform for the column of the key press (high frequency).

We followed this chart to to generate frequency of corresponding key press.

We passed the 2 waveforms in the adder circuit to combine them into one. First we we converted square waves into a sine wave by using a bandpass filter, then added the signals to get the DTMF signal.