I want to use #include <IRremote.h> to receive information from an infrared remote control. It works perfectly with one IR receiver.

But I want to put three or four IR receivers:

IRrecv irrecv6(pin6);
IRrecv irrecv7(pin7);
IRrecv irrecv8(pin8);
IRrecv irrecv9(pin9);
IRrecv irrecv10(pin10);


void setup() {
  irrecv6.enableIRIn(); // Start the receiver
  irrecv7.enableIRIn(); // Start the receiver
  irrecv8.enableIRIn(); // Start the receiver
  irrecv9.enableIRIn(); // Start the receiver
  irrecv10.enableIRIn(); // Start the receiver

Inside the loop function, I am checking each pin to see if there is any data received. But only the last pin (which means pin 10 above) is receiving the data and others are not.

  • you can connect multiple receivers, but why? – jsotola Apr 23 '18 at 4:05
  • But always only one of them, which is initialized last, is receiving the Data. – Nijat2018 Apr 23 '18 at 4:47
  • @jsotola you could use it to get a very coarse sense of the direction the signal came from. – Gerben Apr 23 '18 at 9:14

That library only supports one IR receiver at a time. Try this fork that seems to have added multiple receivers support.


Just add some delay between irrecv.decode()s and everything will work just fine.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.