

The Sharp PC817 is an optoisolator (also known as an optocoupler) designed to transfer electrical signals between two isolated circuits. It achieves this by using an internal light-emitting diode (LED) to transmit light to a phototransistor, which then converts the light back into an electrical signal. This design ensures electrical isolation between the input and output, making it an essential component for protecting sensitive electronics from high voltages, noise, and surges.








The following are the key technical details of the Sharp PC817 optoisolator:
| Parameter | Value |
|---|---|
| Manufacturer Part ID | PC817 |
| Isolation Voltage | 5,000 Vrms |
| Forward Voltage (LED) | 1.2 V (typical) |
| Forward Current (LED) | 20 mA (maximum) |
| Collector-Emitter Voltage | 80 V (maximum) |
| Collector Current | 50 mA (maximum) |
| Current Transfer Ratio (CTR) | 50% to 600% (depending on model) |
| Operating Temperature Range | -30°C to +100°C |
| Package Type | 4-pin DIP |
The Sharp PC817 comes in a 4-pin Dual Inline Package (DIP). The pinout is as follows:
| Pin Number | Name | Description |
|---|---|---|
| 1 | Anode (A) | Positive terminal of the internal LED. Connect to the input signal. |
| 2 | Cathode (K) | Negative terminal of the internal LED. Connect to ground or the return path. |
| 3 | Emitter (E) | Emitter of the internal phototransistor. Connect to the output circuit. |
| 4 | Collector (C) | Collector of the internal phototransistor. Connect to the output circuit. |
Input Side (LED):
Output Side (Phototransistor):
The following example demonstrates how to use the PC817 to isolate a digital input signal for an Arduino UNO.
// Define the input pin for the optocoupler
const int optoInputPin = 2; // Digital pin 2 for reading the optocoupler output
void setup() {
pinMode(optoInputPin, INPUT); // Set the optocoupler pin as input
Serial.begin(9600); // Initialize serial communication
}
void loop() {
int optoState = digitalRead(optoInputPin); // Read the optocoupler output
// Print the state of the optocoupler
if (optoState == HIGH) {
Serial.println("Input signal is HIGH");
} else {
Serial.println("Input signal is LOW");
}
delay(500); // Wait for 500 ms before reading again
}
No Output Signal:
Output Signal Always HIGH or LOW:
Signal Distortion or Noise:
Overheating:
Q1: Can the PC817 handle AC signals?
A1: Yes, the PC817 can handle AC signals, but you must use a bridge rectifier or similar circuit to ensure proper operation of the internal LED.
Q2: What is the maximum switching speed of the PC817?
A2: The PC817 has a typical switching time of 2-4 µs, making it suitable for low- to medium-speed applications.
Q3: Can I use the PC817 for analog signal isolation?
A3: The PC817 is primarily designed for digital signals. For analog signals, consider using a linear optocoupler.
Q4: How do I choose the correct CTR range?
A4: Select a PC817 variant with a CTR range that matches your application's input and output current requirements.