

The LM386 is a low-voltage audio power amplifier designed for use in low-power applications. It is capable of driving small speakers and headphones, making it ideal for portable and battery-powered devices. With a default gain of 20, which can be increased up to 200 using external components, the LM386 is versatile and widely used in audio amplification circuits.








The LM386 is a compact and efficient amplifier with the following key specifications:
| Parameter | Value |
|---|---|
| Supply Voltage (Vcc) | 4V to 12V |
| Output Power | 0.325W at 8Ω load, 6V supply |
| Input Resistance | 50 kΩ |
| Voltage Gain | 20 (default), up to 200 (adjustable) |
| Quiescent Current | 4 mA (typical) |
| Frequency Response | 300 Hz to 300 kHz |
| Total Harmonic Distortion | Less than 0.2% |
| Operating Temperature | 0°C to 70°C |
The LM386 is an 8-pin IC with the following pinout:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | Gain | Connect to Pin 8 via a capacitor to increase gain (default gain is 20). |
| 2 | Inverting Input (-) | Negative input for the audio signal. |
| 3 | Non-Inverting Input (+) | Positive input for the audio signal. |
| 4 | Ground (GND) | Ground connection. |
| 5 | Output | Amplified audio signal output. |
| 6 | Vcc | Positive power supply (4V to 12V). |
| 7 | Bypass | Connect a capacitor to reduce noise and improve stability. |
| 8 | Gain | Connect to Pin 1 via a capacitor to increase gain (default gain is 20). |
Below is a basic LM386 amplifier circuit:
+Vcc (4V-12V)
|
+----[10 µF]---- Pin 7 (Bypass)
|
Pin 6 (Vcc)
|
Pin 4 (GND) ------------------ Ground
|
Audio Input ----[10 kΩ]---- Pin 3 (Non-Inverting Input)
|
Pin 2 (Inverting Input) ---- Ground
|
Pin 5 (Output) ----[220 µF]---- Speaker/Headphone
|
The LM386 can be used with an Arduino UNO to amplify audio signals. Below is an example of generating a simple tone:
/*
Example: Generating a tone using Arduino and LM386
This code generates a 1 kHz square wave on Pin 9, which can be amplified
using the LM386. Connect Pin 9 to the LM386's input (Pin 3).
*/
const int tonePin = 9; // Pin connected to LM386 input
void setup() {
pinMode(tonePin, OUTPUT); // Set Pin 9 as output
}
void loop() {
// Generate a 1 kHz square wave
digitalWrite(tonePin, HIGH);
delayMicroseconds(500); // 500 µs HIGH for 1 kHz
digitalWrite(tonePin, LOW);
delayMicroseconds(500); // 500 µs LOW for 1 kHz
}
No Output Signal:
Distorted Output:
Excessive Noise:
Overheating:
Q: Can the LM386 drive a 4Ω speaker?
A: While the LM386 is designed for 8Ω loads, it can drive a 4Ω speaker at lower volumes. However, this may cause overheating, so it is not recommended for prolonged use.
Q: How do I increase the gain of the LM386?
A: Connect a capacitor (e.g., 10 µF) between Pins 1 and 8 to increase the gain up to 200.
Q: What is the purpose of the bypass capacitor on Pin 7?
A: The bypass capacitor reduces noise and improves the stability of the amplifier.
Q: Can I use the LM386 with a 3.3V power supply?
A: No, the minimum supply voltage for the LM386 is 4V. Using a lower voltage may result in improper operation.