KY-010 Photo Interrupter Module – Optical Slot Sensor for Arduino & ESP32
The KY-010 Photo Interrupter Module is a compact optical sensor designed to detect objects passing through a narrow slot using infrared light.
The module features an infrared emitter and phototransistor receiver positioned opposite each other. When an object interrupts the infrared beam, the sensor's output changes, allowing a microcontroller to detect movement, position, or object presence.
It is ideal for Arduino, ESP32, Raspberry Pi, robotics, motor speed measurement, rotary encoders, and automation projects.
Key Features
-
Model: KY-010
-
Sensor Type: Optical Photo Interrupter
-
Detection Method: Infrared Beam Interruption
-
Output Type: Digital
-
Operating Voltage: Typically 3.3V–5V DC (Module Dependent)
-
Sensor Configuration: Infrared LED and Phototransistor
- Non-Contact Object Detection
- Fast Response for Motion Detection
-
3-Pin Interface: Signal (S), VCC (+), GND (-)
- Compact PCB Design
- Suitable for Arduino and Microcontroller Projects
Technical Specifications
| Parameter |
Specification |
| Model |
KY-010 |
| Product Type |
Optical Photo Interrupter Module |
| Sensor Technology |
Infrared Optical |
| Sensor Configuration |
IR Emitter + Phototransistor |
| Detection Type |
Slot / Beam Interruption |
| Operating Voltage |
Typically 3.3V–5V DC |
| Output Type |
Digital |
| Output States |
Beam Clear / Beam Blocked |
| Number of Pins |
3 |
| Pin Configuration |
S / + / - |
| Slot Width |
Approximately 5mm (Typical) |
| Board Dimensions |
Approximately 18.5 × 15mm |
| Detection Method |
Non-Contact Optical Sensing |
Pin Configuration
| Pin |
Function |
| S |
Digital Signal Output |
| + |
Power Supply |
| - |
Ground |
Arduino Connection Example
| KY-010 |
Arduino Uno |
| S |
D3 |
| + |
5V |
| - |
GND |
The Arduino monitors the digital output to determine whether an object is blocking the infrared beam.
Arduino Example Code
const int sensorPin = 3;
void setup() {
pinMode(sensorPin, INPUT);
Serial.begin(9600);
}
void loop() {
int sensorState = digitalRead(sensorPin);
if (sensorState == LOW) {
Serial.println("Sensor LOW");
} else {
Serial.println("Sensor HIGH");
}
delay(100);
}
Note: The relationship between HIGH/LOW and beam-blocked/beam-clear states may vary depending on the module circuit. Test the actual module to determine its output behavior.
Applications
- Motor Speed and RPM Measurement
- Rotary Encoder Systems
- Object Detection and Counting
- Robotics and Automation
- Position Detection
- Wheel Rotation Monitoring
- Conveyor Belt Object Counting
- Arduino and ESP32 Projects
- Educational Electronics
- DIY Optical Switching Systems
Important Notes
-
The KY-010 is a transmissive optical sensor, not a reflective infrared proximity sensor.
- Objects must pass through the sensor's slot to interrupt the infrared beam.
- The module cannot measure distance.
- For RPM measurement, use a rotating disk or wheel with slots or interruptions and count the output transitions.
- Detection performance depends on object size, alignment, and sensor characteristics.
-
For ESP32 and Raspberry Pi, ensure the output voltage does not exceed 3.3V.
- Verify the operating voltage and output behavior of the supplied module before connecting it to a microcontroller.
- High-speed applications may require interrupt-based detection rather than continuous polling.
Package Includes
1 × KY-010 Photo Interrupter Module