Universal Programmable Remote Control

Cornell University, ECE 476


The goal of our project was to develop a remote control whose buttons would be readily programmable by recording the signal from another remote control.
After revising several standards on infrared signals, we determined that the approach to take was to record the signal by determining the width of the transitions in the waveform, so as to be able to record any standard that exists as of now, and that may exist over the future. It is important to mention that all standards, however, have a common trait: they use 40 KHz modulation to transmit information. This constituted a challenge in terms of output generation, since the devices that are being dealt with are very sensitive to timing variations in both modulation and wave envelope.

The hardware consists of the following parts:

1. STK 500 It is the heart of the design, records and replays the signal.
2. Infrared receiver Demodulates the 40 KHz Infrared input signal from the remote control, outputting a 5V-0V waveform.
3. Infrared transmitter Outputs the Infrared waveform to be received by the device when played by the STK 500.
4. LCD display Prompts the user for input.
5. Keypad Reads input from the user.
The software consists of the following parts:

1. Record signal This segment of the code is in charge of detecting wave shapes, and recording them.
2. Play signal This segment of the code is in charge of taking the recorded signal width transition values, and outputting a 40 KHz wave that follows such measurements.
3. User interface This segment of the code is in charge of communicating with the user: it controls the LCD, reads from the keypad and calls other sections of the code as appropriate.