

The Adafruit Infrared IR Remote Transceiver (Part ID: 5990) is a compact module designed for wireless communication using infrared (IR) signals. It enables remote control functionality for a wide range of electronic devices, making it ideal for projects requiring wireless control or data transmission. This module can both transmit and receive IR signals, making it versatile for applications such as remote-controlled robots, home automation systems, and custom remote control designs.








The Adafruit Infrared IR Remote Transceiver is designed to be easy to integrate into various projects. Below are its key technical details:
| Parameter | Value |
|---|---|
| Operating Voltage | 3.3V to 5V |
| Operating Current | ~1.5mA (receiving mode) |
| IR Wavelength | 940 nm |
| Transmission Range | Up to 10 meters (line of sight) |
| Modulation Frequency | 38 kHz |
| Dimensions | 20mm x 15mm x 5mm |
The module has a simple 3-pin interface for easy connection to microcontrollers or other circuits. Below is the pinout description:
| Pin Name | Description |
|---|---|
| VCC | Power supply input (3.3V to 5V) |
| GND | Ground |
| OUT | Signal output (receives IR signals or sends |
| modulated IR signals when transmitting) |
The Adafruit Infrared IR Remote Transceiver can be used in both transmitting and receiving modes. Below are the steps and best practices for integrating it into your project.
VCC pin to a 3.3V or 5V power source and the GND pin to ground.OUT pin to a digital I/O pin on your microcontroller (e.g., Arduino UNO).The module is compatible with Arduino and can be used with the popular IRremote library. Follow these steps to set up the module for receiving and transmitting IR signals:
VCC to 5VGND to GNDOUT to digital pin 11 (default pin for IRremote library).#include <IRremote.h>
// Define the pin connected to the IR module's OUT pin
const int RECV_PIN = 11;
// Create an IR receiver object
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600); // Initialize serial communication
irrecv.enableIRIn(); // Start the IR receiver
Serial.println("IR Receiver is ready");
}
void loop() {
if (irrecv.decode(&results)) {
// Print the received IR code in hexadecimal format
Serial.print("Received IR code: 0x");
Serial.println(results.value, HEX);
irrecv.resume(); // Prepare to receive the next signal
}
}
#include <IRremote.h>
// Define the pin connected to the IR module's OUT pin
const int IR_SEND_PIN = 3;
void setup() {
IrSender.begin(IR_SEND_PIN); // Initialize the IR transmitter
Serial.begin(9600); // Initialize serial communication
Serial.println("IR Transmitter is ready");
}
void loop() {
// Send an example IR signal (NEC protocol, 32-bit code)
Serial.println("Sending IR signal...");
IrSender.sendNEC(0x10EFD827, 32); // Replace with your desired IR code
delay(2000); // Wait 2 seconds before sending again
}
No IR Signal Detected:
Short Transmission Range:
Interference from Ambient Light:
Q: Can this module be used with a Raspberry Pi?
A: Yes, the module can be used with a Raspberry Pi. However, you may need to use additional libraries such as lirc for IR communication.
Q: What is the maximum range of the module?
A: The module has a maximum range of up to 10 meters, provided there is a clear line of sight.
Q: Can I use this module to control my TV or other appliances?
A: Yes, the module can be programmed to send IR codes compatible with most TVs and appliances. You will need to know the specific IR codes for your device.
Q: Does the module support protocols other than NEC?
A: Yes, the IRremote library supports multiple protocols, including Sony, RC5, and more.
By following this documentation, you can effectively integrate the Adafruit Infrared IR Remote Transceiver into your projects for reliable wireless communication.