I built an AVR-based gadget (bare metal AT90USB162, not Arduino) that receives an infrared remote signal and does some stuff. For testing, I used a random TV remote that I had, and it's VERY reliable: whenever I push the remote button, my gadget sees the message and does what it's supposed to do.
Next, I built an ATtiny-based transmitter to send the same message as the TV remote. This works too, but it's much less reliable than the TV remote. About 20% of the time, something goes wrong and my gadget misses the signal. It usually works on the second transmission, and I can always move the transmitter and receiver around a bit and get it to trigger.
However...I don't know where to start looking to fix this. Since the signals are IR, I can't really compare them for brightness or other characteristics. I don't know if it's signal strength, timing variance, or what else.
Short of gutting a TV remote and sticking it where I need to transmit from (which is unacceptable for other reasons) I don't know where to troubleshoot next. So...people who have designed or troubleshot IR communication systems, what do newbies to the technology usually screw up? How do I figure out what I did wrong?