IR remote are not always PWM. The most widely used code, the RC5, is not PWM, but differential signal level, what confuse people to think it is pwm. If a person who never had deal with data communication look at the output wave form of a RC5 at scope, he will say it is pwm, but its not. Each bit transmitted in RC5 has the same length, and exactly in the middle of the bit it changes level. The level transition happens from one to zero if the bit is zero, from zero to one if the bit is one, so, the second half of the bit tells you what level the bit is. Transmitting mixed bit levels will generate patterns that someone can thinks is pwm. Example, sending bits combination of 01010101 will generate a square wave with half the frequency than sending only ones or zeros... but this is just because bits zeros start with high level, and ones with low level. bit 0: -_ bit 1: _- 0000 : -_-_-_-_ 1111 : _-_-_-_- 0101 : -__--__- 0011 : -_-__-_- Some other remotes use real PWM, with a double bit time for different level, they are not difficult, but demand some more work. RC5 is easy to decode, it is just as a serial data transmitted, you just need to produce a software serial reception routine, that samples the incoming data at the middle of the second half of each bit, it is the bit level. The bit train represent identifiers. For example, some bits identify the equipment, as TV, Radio, Tape, CD, DVD, Laser Disk, and more. Other bits means the key pressed or function. If you want to use a remote to control something else, go for Philips remotes, they use only 14 bits and low frequency modulation, even to sync at the scope :) so a 6 MHz uC can understand it perfectly. I already produced a device IR controlled, and used the Philips way, after testing Panasonic, Pioneer, JVC, and another bunch of codes produced by those 4in1 programmable remotes. Of course, as I produced the transmitter and receiver, I changed the codes, so not even the Philips remotes can interfere with my machine. I could use *any* bits combination or timings, but upon a jumper on the board allows me to return the receiver to understand Philips remotes. I am producing a web page about it, it is not finished, but I hope that what is ready helps you in anyway. Take a look at: http://www.ustr.net/infrared.shtml Wagner.