There was an interesting idea that was in Myke Predko's "Programming & Customizing PICmicro Microcontrollers" which sounds like it would work well if you're only interested in decoding a relatively small number of button-presses. Basically, given an approximate idea of the length of a given protocol, you arrange to have a bunch of samples happen during that period (after seeing the initial state change on the IR decoder), and then calculate a hash (CRC-style) of each bit. When you're "done", the resulting hash value will probably have a pretty good one-to-one correspondence with the button pushed. (the advantage being that you don't have to decode or understand the specifics of the protocol being used...) I thought that was pretty neat. (actually, come to think of it, you don't even need to know the sequence length; just wait till you stop seeing transitions.) If it's more convenient, I think you can hash the time between transitions instead of the bit values... And you can recognize multiple remote protocols without having to implement multiple protocols... The disadvantage, aside from possible false triggering, is that you have to "train" your software somehow, because there's no way of knowing ahead of time what the hashed codes are going to be for the buttons you're interested in. You can train on the initial powerup, if you want, or design some circuit to upload/display/whatever codes as you press buttons, and hardcode them into software... BillW -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics