

The ID-12_20, manufactured by ID Innovations, is an infrared receiver module designed for detecting and decoding infrared (IR) signals. It is widely used in remote control applications, such as consumer electronics, home automation systems, and robotics. The module is capable of receiving signals from a variety of IR remote controls, making it a versatile and reliable choice for IR-based communication.








The ID-12_20 module is available in two variants: ID-12 and ID-20. Both variants share similar functionality but differ in their physical dimensions and range. Below are the key technical specifications:
| Parameter | ID-12 | ID-20 |
|---|---|---|
| Operating Voltage | 4.5V to 5.5V | 4.5V to 5.5V |
| Current Consumption | 5 mA (typical) | 5 mA (typical) |
| Carrier Frequency | 38 kHz | 38 kHz |
| Reception Range | Up to 10 meters | Up to 15 meters |
| Output Format | Digital (active low) | Digital (active low) |
| Operating Temperature | -20°C to +85°C | -20°C to +85°C |
| Dimensions | 23mm x 23mm x 7mm | 25mm x 25mm x 7mm |
The ID-12_20 module has a simple 3-pin interface for easy integration into circuits. Below is the pin configuration:
| Pin | Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (4.5V to 5.5V) |
| 2 | GND | Ground connection |
| 3 | OUT | Digital output (active low when IR signal detected) |
Below is a simple example of connecting the ID-12_20 to an Arduino UNO:
// Include the IRremote library for decoding IR signals
#include <IRremote.h>
// Define the pin connected to the OUT pin of the ID-12_20
const int IR_RECEIVER_PIN = 2;
// Create an IR receiver object
IRrecv irrecv(IR_RECEIVER_PIN);
decode_results results;
void setup() {
Serial.begin(9600); // Initialize serial communication
irrecv.enableIRIn(); // Start the IR receiver
Serial.println("IR Receiver Ready");
}
void loop() {
// Check if an IR signal is received
if (irrecv.decode(&results)) {
Serial.print("IR Code Received: ");
Serial.println(results.value, HEX); // Print the received IR code in HEX
irrecv.resume(); // Prepare to receive the next signal
}
}
No Signal Detected:
Erratic Behavior:
Short Reception Range:
Q: Can the ID-12_20 receive signals from any IR remote control?
A: Yes, the module is compatible with most IR remote controls operating at a 38 kHz carrier frequency.
Q: What is the difference between the ID-12 and ID-20?
A: The primary difference is the reception range and physical dimensions. The ID-20 offers a longer range (up to 15 meters) compared to the ID-12 (up to 10 meters).
Q: Can I use the ID-12_20 with a 3.3V microcontroller?
A: The module requires a 4.5V to 5.5V power supply. However, the output signal can be interfaced with a 3.3V microcontroller using a level shifter or voltage divider.
Q: How do I decode the received IR signals?
A: Use an IR decoding library, such as IRremote for Arduino, to interpret the received signals and extract the data.
By following this documentation, you can effectively integrate the ID-12_20 into your projects and troubleshoot any issues that may arise.