Improving IR LED output


I have a demo I’ve been doing where I’m using the IR receiver eblock to record IR signals, and then retransmit them using the IR LED eblock, and it works, but the range is very poor.

I don’t have a lot of experience with electronics, so I’m hoping folks might have some advice as to how to improve the range of the IR signal. I’ve tried using two IR eblocks in tandem, but that did not really seem to make a difference.

From what I’ve read, many IR emitting devices combine a wide angle and narrow angle IR LED (or LEDs) to improve the range. How hard would it be to build an IR LED eblock clone that combines multiple IR LEDs? I’m not averse to doing a little soldering, but I wanted to see if folks had suggestions or advice on choosing the right components before I start shopping. :slight_smile:

You need to use a transistor and high power IrLED.

Transistor will connect this like
Remove the LDR sensor and the 10K and add 330 ohm resistor between the bias and any IO on your FEZ.

Any idea whether something like this would be a good place to start:


Was designed to work with Arduino, so it’s 5v, so should I assume it won’t work on 3.3v?

Yes that would do but do you have led eblocks from GHI? Remove the led and replace with irled

Given that they were on sale, I bought two full eblock kits, so yeah, I have a bunch of LED eblocks.

So, forgive my newb questions, but I want to see if I understand this correctly…the IR LED eblock is just the IR LED and a resistor, so the output is relatively small, while the LED eblock adds the transistor, which serves to amplify the current applied to the LED. Replace the regular LED with an IR LED, and you end up with higher output than the standard IR LED eblock.

Is that essentially correct?

Yes you got it.

Successfully removed the yellow LED from one of my LED eblocks, and replaced with a 16mW 940nm IR LED. Feeling a bit of pride in how smoothly it went, given that it’s been years since I wielded a soldering iron. :slight_smile:

Alas, I’m not sure that the improvement in range is going to be sufficient.

Wondering whether I should just try to breadboard something up with an additional power supply, since the Spider only provides 3.3v.


“Captain, I’m givin’ her all she’s got!”

Aside from more power, you might try multiple IR LEDs in series. Also, adding a lens to focus the beam might help.

@ Ian

I’ve given the series idea some thought. Might sacrifice one of my controllers for the IR LEDs, since they’re high-power models. Hadn’t thought about a lens, though. Unfortunately, the item I’m controlling is a moving target, so if anything I need to make the beam wider, which will not likely improve the range. :frowning:

BTW, here’s a pic of the modified LED eblock with the IR LED in place, and running (definitely a confidence-builder that my first solder job in years actually worked the first try):

That eBlock is just a signal driving a transistor. You could sacrifice the cable and hook the power & ground wires to a 9V(?) and add an additional resistor or pot to the power going in to keep the LED from melting down. The transistor should keep any of the additional current from feeding back to the Spider. (This is where the EEs should chime in to confirm)

Remote controls power the LED at higher current that it can handle but they do it in short pulses, before the LED melts, like ianlee said.

BTW, Great job on the hack!

@ Ian,

Thanks. :slight_smile:

I have a ton of eblocks, many more than I’d ever use at the same time, so I don’t mind at all sacrificing a cable.

So which wires are which on the eblocks? Is red hot, black ground, and white signal?

I happen to have a “discover electronics” kit with a breadboard and a variety of components, which is currently set up for an LED project using a 9v battery, including a 5v voltage regulator, a couple of capacitors, and a 220 ohm resistor. Wondering whether I might be able to swap out the LED for an IR LED and use the signal line from the eblock to drive that circuit?

Yea, red = hot, white = signal, black = ground. If you crack the eBlock case off it’s fairly easy to read the PCB.

The only concern I would have about the discover kit is it doesn’t sound like it uses a transistor. That’s important since it keeps the different circuits somewhat isolated from each other. But, it doesn’t sound like it’s high voltage anyway. However, I think you have all you need with that eBlock. Electrical tape or rubber band a 9V battery to the bottom side of it and you have a pretty nice setup :slight_smile:

You need to pick up a couple Extender modules and mini breadboards on your next order. They’re perfect for this type of experimenting.

I do have one extender module…just need to get a header for it, which I haven’t gotten around to yet. :-[

They really should come with them, IMO. It would be well worth the additional $.02 they cost.

On a similar note, Gus, I’d rather save a couple bucks than get another USB cable with every FEZ or power module I buy. I have a drawer full already :slight_smile:

@ Ian,

So, I tried sacrificing an eblock cable to try your additional power suggestion. No luck.

Basically, I removed the LED from my 5v breadboard circuit, and tied in the hot and ground leads to the eblock using alligator clips…no response from the IR LED.

If I pop one of the IR LEDs that I scavenged from the RoboSapien remote in via the alligator clips, it lights up fine, so I must be missing something conceptually. The white (IO pin) wire should stay connected, correct? Positive on the power circuit goes to the red wire, and negative to the black wire, correct?

Did you set the signal high? You have to do that to allow the current to flow through the transistor.

@ Ian

Not sure…remember, I’m new to the hardware game. :slight_smile:

The app uses OutputCompare to generate the IR signal, so if that is setting the signal high under the covers, then yes. If not, then I may need to take a different approach. In the code below, RemoteGenerator is an instance of OutputCompare set up to output the digital waveform to pin 6, which is where the modded IR LED block is plugged in:

RemoteGenerator = new OutputCompare(outputPin, false, 300);

RemoteGenerator.SetBlocking(true, buffer_low, 0, 68, 100, true, 38000);