morse code and enabing technology

Jump to Content  Jump to Navigation  Jump to Section Info

Project Info

Authors: Jeremy Cribb and Doug Daniell
This site is for a course project in Comp190/290, an Enabling Technology course taught by Gary Bishop during Spring 2003 at the UNC-Chapel Hill Computer Science Dept.
UNC // course

Comp 190

The goal of this class is to educate technically-minded students in the types of disabilities that exist and the ways in which modern tools can be used to assist people with disabilities. The focus is on first-hand lectures from professionals in enabling technology, along with group research projects.

© 2003

Web Certifications

Validate this page for CSS compliance 
Validate this page for XHTML compliance 
Validate this page for Section 504 compliance

Project Overview

What did we do?

Sharp Zaurus PDA with Morse code input and Text-to-Speech (TTS) Feedback

What is the purpose?

The idea is that our software (more accurately, a more full-featured software package based on similar ideas) should allow the PDA to become an accessible electronic notepad. The key features are that the PDA will be relatively inexpensive and highly portable, while also enabled for many different users.

Benefits of a PDA w/TTS and MORSE

Why the Zaurus SL-5500?

We chose this platform for a few reasons. First it is relatively inexpensive, and provides an impressive amount of utility, even without our modifications. Further, the Zaurus is very flexible. One of the reasons for this is the choice of operating system - Linux. Because of this, there is much more software available for this platform than for some other PDAs. The advantages for us include support for Python and 3rd party TTS packages. Also, the PDA has a few other helpful features: wireless capability, stereo audio output, and removable flash memory.

Steps in the Design

  1. Construct a functional Morse-to-Speech application in Python (pyMTS) on a desktop system
  2. Research TTS options for PDAs, and install a usable system on our platform of choice
  3. Port the pyMTS application to a PDA Platform
  4. Hardware Improvements: add a custom serial or wireless input device
  5. Software Improvements: an accessible OS for PDAs? Additional software tools for M.C. Education?

Implementation Details

We used the Flite TTS library. This is the 'lite' version of the Festival Speech Synthesis system, which is optimized to run with a small footprint. This is especially useful for small devices like PDAs. Festival is an open-source text-to-speech system which is coded in C for speed.

Our program was designed using the Python programming language. This was quite convenient because the Zaurus has 3rd party support for Python and PyQT, a windowing toolkit.


pyMTS - could be made available as either a ROM image or seperate download. The program will be customizable to allow the user to specify how they want to do input. The program will accept a somewhat modified version of Morse Code. Instead of being a pure on/off implementation based on timing, pyMTS uses a 3-key version. One key represents dit, the other dah, and the third is a delimiter. This delimiter is rather multipurpose. It can signal the end of a character, word, or sentence. These are differentiated by the number of presses. After each segment is completed, the program initiates a call to the TTS. This reads out whatever character or phrase was just completed. We feel this feedback should decrease errors and increase confidence, with a net gain in the speed of text input. Also, the TTS aids in accessibility for the visually impaired, or those who aren't at leisure to look at the screen.


With minimal investment we were able to develop an application that with further development could serve a important role for a great variety of users, regardless of ability. With (a whole lot) more testing and development, and building upon some of our basic ideas, it should be possible to create a fully speech enabled PDA with flexible input.