# How to build an IR Repeater?

I have a digital cable box that lives in a wooden cabinet under my tv. I would like to use the remote with the doors to the cabinet closed. It looks like an IR Repeater runs about \$30+. Can one be built easily for less?

The best thing would be to use an IR receiver module, and remodulate the output signal.
Now before you call me an idiot :-) to first demodulate and then remodulate, let me explain.
If you just receive the signal without filtering by means of a photodiode you get all kind of trash with the signal, possibly even drowning the signal. And that's not what you want to retransmit. So to get rid of all possible noise we use the IR receiver module, which has a filter for this. The output is the baseband signal, the lower trace in this screenshot:

The top trace is the modulated signal. We'll have to reconstruct that, and that's amazingly easy: just AND the baseband signal with a 36kHz square wave (or whatever the carrier frequency you have).

The baseband signal is the CONTROL which enables the oscillator. For a 74HC132 quad NAND gate the oscillator's frequency is given by the following equation:

$f = \dfrac{1}{T} \approx \dfrac{1}{0.8 \times RC}$

Since the IR receiver gives an active low signal, and we also need a low output signal when the oscillator is off, we actually need a Schmitt-trigger NOR gate, but those are harder to get, so we make a NOR from our NAND by inverting the control input and the output. We can use two of the three remaining NAND gates of the 74HC132 for that. The inverted output can then be used to drive a transistor which in turn switches an infrared LED.

So what do we have: an IR receiver module, a 74HC132 quad NAND gate, a transistor and an IR LED. That's all you need to build an IR repeater.

edit
supercat rightly comments about the AGC amplifying incoming noise for lack of a proper signal. This does indeed happen, and it may mean that our Schmitt-trigger oscillator may be switched on and off quickly by this noise. I admit that this doesn't look nice, but there's probably no harm. Chances are that the carrier is so much corrupted that the second receiver won't lock onto it, and else it will output the noise it receives. Noise it would also output when no signal is received.

There is a better solution that doesn't suffer from this disadvantage. It would be nice if the IR receiver had a "data valid" output, but I've never seen such a component. But if we have our signal decoded by a microcontroller we can tell whether it's a valid signal or not. And then the microcontroller can resend the received codes. The microcontroller can create the carrier, so that it can replace the 74HC132 oscillator.
While we're at it we can introduce another enhancement. The duty cycle of the 74HC132's output was 50%, which is also the duty cycle used by the first RC transmitters. To save battery power later generations of transmitters used 33% or even 25% duty cycles, as shown in the following scope screenshots:

By using the microcontroller's PWM output we can easily create a 25% duty cycle carrier.

• One caveat I would mention with such an approach is that some IR demodulator chips have an automatic gain control that will tend to output random noise in the absence of a valid signal. If they receive a valid signal, they'll reduce their gain to the point that the noise will stop for awhile, so the noise normally won't affect operation. If, however, the equipment you're trying to drive with the IR LED has a receiver which would not normally output noise in the absence of a valid signal, it's possible that feeding strong random signal may cause some difficulty. – supercat Aug 28 '11 at 17:15
• For example, some devices may have polling logic which looks to see if there's "something" on the IR port or "something" from the front-pannel buttons; if there's "something" on the IR port, the polling logic may focus exclusively on that unless a certain amount of time elapses with nothing there. Such logic may cause the front-panel controls to be unresponsive while random noise is being sent to the IR. It may also increase the amount of current consumed by the device (probably not an issue for a cable-box, but possibly a factor if this approach were used with battery-powered equipment). – supercat Aug 28 '11 at 17:19
• @supercat - You're right about the AGC, I've noticed before that with no proper input signal the noise gets amplified. I'll add something about it to my answer. – stevenvh Aug 28 '11 at 17:29
• Nice response. Another thing to mention with a microcontroller is that there are at least three approaches one can take: (1) look for a valid code word, decode it, and then transmit that codeword; (2) look for some pattern that is likely to be the start of a transmission, and use that as a cue to start passing through data verbatim, until a certain length of time elapses without seeing that pattern again; (3) look for pulses of certain lengths, and output them normalized to what seem like correct values. Decoding and re-encoding allows one to do translation, but may be more... – supercat Aug 28 '11 at 18:57

Should be fairly simple. I'd imagine a IR (infrared) phototransistor (receiver) driving a IR led (transmitter) would work. There are a range of different infrared frequencies used in devices, from around 800nm to 940nm. 940nm is fairly common* though and I would start with that, but it may take some experimenting.

IR remotes are modulated at a certain frequency so that they are less prone to interference from other light sources. This modulation is in the order of 38KHz, but the phototransistor should just copy that modulation to the led without any problems.

The circuit would be something like a darlington with the left transistor as your IR phototransistor, the right hand transistor should just be an NPN capable of handling 100mA or so. Your led sits above the right hand transistor with a current limiting resistor and gets pulled to ground (and turned on) when light hits the phototransistor.

CAUTION: Bad ascii art schematic follows:

        --- VCC
|
R  RESISTOR
|
V  LED
|
------|
|/      |
-|       |
|\    |/
----|    NPN
|\
|
--- GND


There is a chance though that this would be too sensitive to ambient light, leaving your led turned on for the majority of the time. If that is the case then something more complicated with a 38KHz (or your specific frequency) receiver and modulator may be necessary.

[*] - I suspect this is due to the H2O absorption band in the atmosphere filtering out sunlight at this frequency. The TV-B-Gone uses 940nm, so this is probably what you want.

• You may need an AGC circuit for this one. It would be more complex, but with the right settings, it would be much more reliable. – Jesse Oct 11 '10 at 5:05
• Photodarlingtons are very sensitive and the IR led will definitely be on all the time, and fairly "bright" in the day. If I were just playing around I'd try it just with the resistor, LED, and PT in series. I would also try a capacitively coupled emitter follower to filter out the DC sunlight. en.wikipedia.org/wiki/Common_collector – joeforker Oct 11 '10 at 16:45
• You often need an auto-gaining receiver. Items like Fluorescent lights put off modulated IR at frequencies like 38 kHz. The all in one IR receivers constantly tune what is considered off so that any constant signal is gained out as baseline. – Kortuk Aug 8 '11 at 14:46

There was a kit made a few years ago, still on the market. The plans would be in Silicon Chip magazine (Australia) October 2006.

• That's interesting. The kit is about the same price as a pre made one, though :( – NotDan Oct 11 '10 at 13:56
• but what fun would that be? :) – user1307 Oct 11 '10 at 17:00
• @NotDan, you will not save yourself money, in general, building your own electronics. They have economies of scale on their side, you do not. Most people on this site would approach it as a learning exercise, not a cost saver. – Kortuk Aug 8 '11 at 12:53
• @Kortuk - My solution is simpler and cheaper. I think they don't want to make commercial products this simple because then they would be more copied. It's the only reason I can think of. – stevenvh Aug 8 '11 at 13:48
• @Stevenvh, I have made your solution before and I admit it was easy, but I have read that some nicer remotes use communication protocols like IRDA. In my mind the first step is capturing data and determining if the protocol is a simple modulated one direction communication. – Kortuk Aug 8 '11 at 14:37