Fc 51 Ir Sensor Datasheet _verified_ May 2026

is a popular, low-cost infrared (IR) obstacle avoidance sensor module commonly used in robotics and DIY electronics for proximity detection. It operates by emitting an IR signal and detecting the reflection from nearby objects. Technical Specifications

The module is designed for simple "object vs. no object" detection rather than precise distance measurement. Specification Operating Voltage 3.0V – 6.0V DC Current Consumption ~23 mA at 3.3V; ~43 mA at 5.0V Detection Range 2cm – 30cm (adjustable via potentiometer) Detection Angle LM393 Voltage Comparator Output Type Digital (HIGH/LOW) Board Dimensions ~3.1cm x 1.4cm (PCB) Pinout and Indicators

The module features a standard 3-pin male header for easy interfacing. Fc 51 Ir Sensor Datasheet

FC-51 IR Proximity Sensor - am I doing it wrong? - Arduino Forum


Onboard Components

Part 4: Output Logic and Operation Modes

Understanding the output logic is crucial for programming. The FC-51 outputs a digital TTL signal. By default (most modules), the logic is: is a popular, low-cost infrared (IR) obstacle avoidance

However, some variants (or if you modify the comparator circuitry) can invert this behavior. Always test with an LED and resistor first.

7. Typical Applications

7. Interfacing the FC-51 with Arduino (with Code Example)

Now, let's put the datasheet knowledge to practice. Below is a complete example of connecting the FC-51 to an Arduino Uno and using the digital output to turn on an LED or print a message to the serial monitor. Onboard Components

When to use—and when to choose something else

Standard Pinout (Version A – Most Common)

| Pin Number | Name | Function | | :--- | :--- | :--- | | 1 | OUT | Digital output signal (HIGH = no object, LOW = object detected) | | 2 | VCC | Power supply input (3.3V or 5V) | | 3 | GND | Ground (0V) |

8. Connection Example (Arduino)

int sensorPin = 2;
int ledPin = 13;

void setup() pinMode(sensorPin, INPUT); pinMode(ledPin, OUTPUT); Serial.begin(9600);

void loop() int sensorValue = digitalRead(sensorPin); if (sensorValue == LOW) // Obstacle detected digitalWrite(ledPin, HIGH); Serial.println("Obstacle!"); else digitalWrite(ledPin, LOW); delay(50);