

The ICL7660 is a charge-pump voltage converter designed to generate a negative voltage from a positive voltage supply. It operates by transferring charge between capacitors, enabling efficient voltage inversion without the need for inductors. This makes the ICL7660 a compact and cost-effective solution for applications requiring a negative voltage rail.








The ICL7660 is a versatile and efficient device with the following key specifications:
| Parameter | Value |
|---|---|
| Input Voltage Range (V+) | 1.5V to 10V |
| Output Voltage Range (V-) | -1.5V to -10V (approx. -V+) |
| Output Current (Iout) | Up to 20mA |
| Quiescent Current (Iq) | 200µA (typical) |
| Efficiency | ~98% (ideal conditions) |
| Operating Temperature Range | 0°C to +70°C |
| Package Types | DIP-8, SOIC-8 |
The ICL7660 is typically available in an 8-pin DIP or SOIC package. Below is the pinout and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | V+ | Positive power supply input (1.5V to 10V). |
| 2 | CAP+ | Positive terminal of the external charge-pump capacitor. |
| 3 | GND | Ground (0V reference). |
| 4 | CAP- | Negative terminal of the external charge-pump capacitor. |
| 5 | VOUT | Negative voltage output (-V+). |
| 6 | LV | Low-voltage pin (connect to GND for input voltage < 3.5V). |
| 7 | OSC | Oscillator control pin (connect to GND for default frequency, or external clock). |
| 8 | V+ | Positive power supply input (same as Pin 1). |
Below is a basic circuit diagram for using the ICL7660 to generate a -5V output from a +5V input:
+5V ----+------------------+------------------+
| | |
[C1] [C2] |
| | |
CAP+ VOUT GND
| | |
CAP- GND |
| | |
+------------------+------------------+
The ICL7660 can be used in conjunction with an Arduino UNO to provide a negative voltage rail for analog circuits. Below is an example code snippet to demonstrate its use:
// Example: Using ICL7660 with Arduino UNO
// This code demonstrates how to read an analog signal that requires a negative
// voltage reference, powered by the ICL7660.
const int analogPin = A0; // Analog input pin connected to the signal
void setup() {
Serial.begin(9600); // Initialize serial communication
pinMode(analogPin, INPUT); // Set the analog pin as input
}
void loop() {
int analogValue = analogRead(analogPin); // Read the analog signal
float voltage = (analogValue / 1023.0) * 5.0; // Convert to voltage (0-5V range)
// Print the voltage value to the Serial Monitor
Serial.print("Analog Voltage: ");
Serial.print(voltage);
Serial.println(" V");
delay(500); // Wait for 500ms before the next reading
}
Output Voltage is Incorrect or Unstable:
High Ripple on Output Voltage:
Device Overheating:
No Output Voltage:
Q1: Can the ICL7660 provide a regulated output voltage?
A1: The ICL7660 does not provide precise voltage regulation. The output voltage is approximately equal to -V+, minus a small voltage drop due to internal resistance.
Q2: Can I use the ICL7660 with input voltages above 10V?
A2: No, the maximum input voltage is 10V. Exceeding this limit may damage the device.
Q3: What happens if I omit the LV pin connection for low-voltage operation?
A3: If the LV pin is not connected to GND when the input voltage is below 3.5V, the device may not function correctly or may exhibit reduced efficiency.
Q4: Can I use the ICL7660 to generate a positive voltage?
A4: No, the ICL7660 is specifically designed for voltage inversion. For positive voltage generation, consider using a boost converter.
By following this documentation, users can effectively integrate the ICL7660 into their designs and troubleshoot common issues.