The KY-022 Infrared Receiver module reacts to 38kHz IR light. It can be used to receive commands from IR remote controllers from TVs, stereos and other devices.
It can also be used together with the KY-005 IR Transmitter module.
Compatible with popular microcontrollers like Arduino, Raspberry Pi, ESP32 and others.


KY-022 Specifications
This module consists of a 1838 IR receiver, a 1kΩ resistor, an LED and 3 male header pins.
Operating Voltage | 2.7V to 5.5V |
Operating Current | 0.4mA to 1.5mA |
Reception Distance | 18m |
Reception Angle | ±45º |
Carrier Frequency | 38KHz |
Low Level Voltage | 0.4V |
High Level Voltage | 4.5V |
Ambient Light Filter | up to 500LUX |
Connection Diagram
Connect the module power line (middle) and ground (-) to +5 and GND on the Arduino respectively. Also connect the signal pin (S) to pin 11.
Line up the IR receiver and transmitter, place them facing each other.
KY-012 | Arduino |
---|---|
S | Pin 11 |
middle | +5V |
– | GND |

KY-022 Arduino Code
The following Arduino sketch uses the IRremote library to receive and process infra-red signals. Use the KY-005 IR transmitter module or a IR remote control to send data to this module.
Links to the required libraries can be found in the Downloads section below.
#include <IRremote.h>
int RECV_PIN = 11; // define input pin on Arduino
IRrecv irrecv(RECV_PIN);
decode_results results; // decode_results class is defined in IRremote.h
void setup() {
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
delay (100); // small delay to prevent reading errors
}
The Link to the Ir_Remote library doesn’t work.
I’m on https://arduinomodules.info/ky-022-infrared-receiver-module/ and underneath I want to go the te remote library
Great…