

The LM393 is a dual comparator integrated circuit (IC) designed to compare two input voltages and output a digital signal based on the comparison. It features two independent voltage comparators in a single package, making it a versatile and cost-effective solution for a wide range of applications. The LM393 operates with a wide range of supply voltages and is known for its low power consumption.








The LM393 is a robust and reliable IC with the following key technical specifications:
| Parameter | Value |
|---|---|
| Supply Voltage (Vcc) | 2V to 36V |
| Input Offset Voltage | ±5 mV (typical) |
| Input Bias Current | 25 nA (typical) |
| Output Sink Current | 6 mA (typical) |
| Response Time | 1.3 µs (for 5 mV input step) |
| Operating Temperature Range | -40°C to +85°C |
| Package Types | DIP-8, SOIC-8, TSSOP-8 |
The LM393 is typically available in an 8-pin package. Below is the pin configuration and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | Output 1 | Output of comparator 1 |
| 2 | Inverting Input 1 (-) | Inverting input of comparator 1 |
| 3 | Non-Inverting Input 1 (+) | Non-inverting input of comparator 1 |
| 4 | GND | Ground (0V reference) |
| 5 | Non-Inverting Input 2 (+) | Non-inverting input of comparator 2 |
| 6 | Inverting Input 2 (-) | Inverting input of comparator 2 |
| 7 | Output 2 | Output of comparator 2 |
| 8 | Vcc | Positive power supply (2V to 36V) |
The LM393 is straightforward to use in a variety of circuits. Below are the steps and considerations for using the component effectively:
The LM393 can be used with an Arduino UNO for voltage level detection. Below is an example circuit and code:
// LM393 Comparator Example with Arduino UNO
// This code reads the output of the LM393 and turns on an LED if the input
// voltage exceeds the reference voltage.
const int comparatorOutputPin = 2; // LM393 output connected to digital pin 2
const int ledPin = 13; // Onboard LED pin
void setup() {
pinMode(comparatorOutputPin, INPUT); // Set comparator output as input
pinMode(ledPin, OUTPUT); // Set LED pin as output
}
void loop() {
int comparatorState = digitalRead(comparatorOutputPin); // Read LM393 output
if (comparatorState == HIGH) {
digitalWrite(ledPin, HIGH); // Turn on LED if input voltage is higher
} else {
digitalWrite(ledPin, LOW); // Turn off LED otherwise
}
}
No Output Signal:
Unstable Output:
Incorrect Comparisons:
Q: Can the LM393 be used for AC signal comparison?
A: Yes, the LM393 can compare AC signals, but you may need to bias the inputs to ensure they remain within the common-mode voltage range.
Q: What is the purpose of the pull-up resistor?
A: The pull-up resistor ensures that the open-collector output of the LM393 can produce a valid high-level signal when the output transistor is off.
Q: Can I use the LM393 with a 3.3V power supply?
A: Yes, the LM393 operates with supply voltages as low as 2V, making it compatible with 3.3V systems.
By following this documentation, you can effectively integrate the LM393 into your projects and troubleshoot any issues that arise.