Universal Programmable Remote Control
Cornell University, ECE 476
Introduction
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.