I am working on a project that requires infrared communication between 2 Raspberry Pi 2Bs using GPIO and Python. However, I am unable to locate a tutorial on the Internet, as it displays pages on remotes. Could you please point me in the right direction? Thanks in advance.

  • 2
    You don't mention if this communication needs to be bidirectional and what the nature of the data is, but your on the right track with remotes. One Pi will send an IR remote code and the other acts like the receiver. The bigger the dataspace the tougher this becomes, but at its heart it is the same concept as a remote control. Commented Jun 18, 2016 at 0:50
  • Data rate? How long are the messages? How often are they sent? Which direction(s). DIstance? Is this a school project?
    – joan
    Commented Jun 18, 2016 at 8:12
  • Hello. I am trying to get the ir signal to be sent on an event. For example, when a button is pressed, the beam is sent out. However, this is as far as my knowledge of this field extends, and am unable to specify anymore than the distance, which I am aiming to get 5 to 10 metres on. And no, it is not a school project, just a hobby. Thakyou for you help so far though, I really appreciate it. Commented Jun 20, 2016 at 1:36

1 Answer 1


While using the GPIO directly is interesting and fun to try, there are some physical layer signaling issues you will have to deal with. IR remote communication operates with a modulation that has zero DC offset, allowing the receiver to filter out the DC component of the received signal, thus eliminating constant IR light sources (like stray sunlight).

I recommend using USB IR blasters and receivers. While the programming API will be completely different, I think you will be more successful. Search Google for "USB IR blaster" and "USB IR Receiver" to find suitable components.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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