December 21, 2025, 01:24:47 PM

MOD-IRDA faulty ?

Started by SirExie, December 06, 2025, 02:49:38 PM

Previous topic - Next topic

SirExie

Hi Folks,

I have a MOD-IRDA I'm using with an ESP32-POE-ISO-IND. The UEXT port makes this simple, but I have not been able to transmit via the module.

I'm using ESPHome, and I have it set to use GPIO4, but the client device never responds. I tried filming with the phone camera, but the IR is not visible.

I then tested the UEXT port using a Saleae, and all the pins work fine and I could even decode IRDA.

So my final test was ti check resistance across the the IR LED, and testing both polarities at 200 Ohm was an open circuit. Not what I expected, so I think the LED is faulty ?

No point posting it back, the local electronics shop have 3mm IR LED's for $1.50 so I'll try swapping this out first and see how I go.

How likely is it that this is the problem ? is there any other test I can do ?

LubOlimex

The problem is somewhere in your software. We've used MOD-IRDA with ESP32-POE boards in the past, specifically in this big web-server demo:

https://github.com/OLIMEX/ESP32-POE/blob/master/SOFTWARE/ARDUINO/ESP32_PoE_WebServer_Demo/ESP32_PoE_WebServer_Demo.ino
Technical support and documentation manager at Olimex

SirExie

Thankyou LubOlimex,

I think the question was - is there any way of testing the MOD-IRDA outside the code ? like, just electrically ?

In the meantime, I'll try compiling the demo and see if I can get it to transmit something useful.

SirExie

I tried the example program, it provides a web server and after initializing MOD-IRDA it states "Connected", but does not seem to show anything else or allow me to send anything.

If I cant get it going tomorrow, I'm going to assume the LED is broken and try de-soldering it and swapping it out.

LubOlimex

Did you try clicking some remotes on it?
Technical support and documentation manager at Olimex

SirExie

Yes, I have tried a few remotes, but nothing seems to come through.

I did notice this in the console:
Reconnecting to /dev/cu.usbserial-1430 .... Connected!
...WiFi connected at: 10.1.30.6
Use this URL to connect: http://10.1.30.6/
Webserver started...
**************************************************************************************************
Thank you for using the IRremote library!
It seems, that you are using an old version 2.0 code / example.
This version is no longer supported!

Upgrade instructions can be found here:
 https://github.com/Arduino-IRremote/Arduino-IRremote?tab=readme-ov-file#converting-your-2x-program-to-the-4x-version

Please use one of the new code examples from the library,
 available at "File > Examples > Examples from Custom Libraries / IRremote".
Start with the SimpleReceiver or SimpleSender example.
The examples are documented here:
 https://github.com/Arduino-IRremote/Arduino-IRremote?tab=readme-ov-file#examples-for-this-library

Or just downgrade your library to version 2.6.0.

Thanks
**************************************************************************************************

So I'm still at a loss if its the hardware or the code, but either way, it's not working.

SirExie

Good news, I patched the project, moved it from Arduino to Platformio and updated the IRremote library to 4.5.0

It now seems to be working, it receives IR from the remotes ok, how can I test its ability to send though ?


LubOlimex

Umm easiest way is with another MOD-IRDA, but also with some device (TV, AIRCON, etc) that you know for sure what protocol it uses, and then use the same protocol on the PoE + MOD-IRDA combo.
Technical support and documentation manager at Olimex

SirExie

Just a follow up - I ended up getting an old Gopro Session camera and rigging it up to watch the transmit LED, and it DOES show the LED blinking.

It may not be a super scientific test, but I hope it confirms the hardware is ok and as LubOlimex pointed out, it's just the code.

I'm using ESPHome and I might just be struggling to get it to support Arlec signalling, which I'm guessing is Whynter from the earlier test which it determined from the Arduino-IRremote library.

SirExie

Hi Folks,

Follow up post again, I now have it working, the protocol is correct, its not Whynter at all, its NEC!

But I'm now on to another problem, I cant get the range I want. Ideally, I'm looking for ~3m.

Looking at MOD-IDRA I notice it had a 33 ohm resistor which by rough maths makes it about 50mA (I think). It looks like a surface mount 0805 which I'm a chance at re-working.

So how bad would it be to put a 20R in there ? I should be about to get a .25W or maybe a .333W and this should push the IR diode a bit harder maybe 80-90mA ?

Sorry if its poor form to talk about hacking away at the Olimex product here, I'm not an electrical engineer, if this is a bad idea, just tell me and I'll come up with a different solution.

LubOlimex

Is this about receiving or sending (both have 33R resistor)? I guess it is the sender. Changing R1 down to 20R should be alright. This will bring the current to absolute maximum of 100mA.

The 33R that we use is calculated as follows - supply 3.3V DC, forward voltage of SIR-32ST3F - 1.3V - means voltage is 3.3V - 1.3V = 2.0V

2.0V/33R~0.06A

If you use 20R - 2.0V/20R=0.1A

Refer to the datasheet:

https://fscdn.rohm.com/en/products/databook/datasheet/opto/optical_sensor/infrared_led/sir-34st3f-e.pdf
Technical support and documentation manager at Olimex

SirExie

Thanks LubOlimex, I ordered some of these SuSuMu ones which came in 1/3W:
https://www.susumu.co.jp/common/pdf/n_catalog_partition08_en.pdf

They should arrive tomorrow and I'll have a go swapping it out.

SirExie

#12
Hi Folks,

Final post to wrap this thread up - its done, all working!

I soldered in the 20ohm resistor and saw the uplift in current, but still couldn't get the range. I used a laser pointer to align it with the target, but still no joy.

In the end I swapped out the LED with one:
https://download.altronics.com.au/files/datasheets_Z0880A.pdf

It's a larger 5mm one, but it fit on the board fine and it has a narrower viewport at 20 degrees, and a much higher radiant intensity. This did the trick and now it works perfectly, I appreciate I'm at the max 100mA that it supports, but as it is pulsed, nothing gets warm on the board so I think its going to be ok.

Thanks for putting up with my questions and vandalising your hardware. I should say thanks for making great kits and been open about sharing the schematics, without that I probably never would have tried this in the first place.