Simple Arduino Audio Player and Amplifier with LM386
Adding music or sounds will always make our project look a lot cooler and more appealing. The best way to add sound effects to your project is by investing in an extra SD card module and…

Know the mission before touching a wire.
Understand what you are making, prepare the right tools, and make the workbench safe.
Project details
Simple Arduino Audio Player and Amplifier with LM386 is a arduino project. Adding music or sounds will always make our project look a lot cooler and more appealing. The best way to add sound effects to your project is by investing in an extra SD card module and…
- Source pages
- 739-745
- Named parts
- 3
- Build goal
- Working, tested prototype
Tools you need
- Digital multimeter
- Wire stripper and side cutters
- Soldering iron with a fine tip
- Current-limited bench supply
- Computer with a data-capable USB cable
Use eye protection, good lighting, and a clean insulated surface throughout the build.
Safety precautions
- Disconnect every power source before changing a connection.
- Check component polarity, pinout, and supply voltage twice.
- Use a current limit for the first power-up.
- Keep liquids, loose metal, and uninsulated wires away from the bench.
Gather, identify, and understand every part.
Use the standardized inventory, then open What's this? to learn each part's role, advantages, limitations, handling, and specifications.
What's this?Image, role, pros, cons, handling & specifications

Arduino Uno
A programmable controller that reads inputs, makes decisions, and drives the project's outputs.
What it does hereIt is the control centre and must use the documented board, pin map, supply, and logic level.
Buy / compare this part ↗Advantages
- Reprogrammable and reusable
- Large learning ecosystem
- Complex behaviour remains changeable
Limitations
- GPIO voltage and current are limited
- Some pins affect boot or communication
- Loads normally need a driver
Handling
- Disconnect power before rewiring
- Avoid static discharge
- Never power motors, relays, or pumps directly from GPIO
Specifications to verify
- Use the exact model, value, package, and rating listed for Arduino Uno; similar-looking parts are not always interchangeable.
- Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
What's this?Image, role, pros, cons, handling & specifications

Speaker
An output component turns an electrical control signal into light, sound, motion, switching, or displayed information.
What it does hereIt presents the circuit result or acts on the physical world.
Buy / compare this part ↗Advantages
- Makes system state visible
- Can be tested separately
- Supports clear troubleshooting
Limitations
- Loads may exceed controller current
- Polarity or driver direction can matter
- Inductive loads create voltage spikes
Handling
- Use the documented driver stage
- Check polarity and load current
- Add flyback protection for inductive loads
Specifications to verify
- Use the exact model, value, package, and rating listed for Speaker; similar-looking parts are not always interchangeable.
- Confirm voltage, current, polarity, interface, driver requirements, and duty cycle.
What's this?Image, role, pros, cons, handling & specifications
SEMICONDUCTOR LEARNING VIEWLM386
A semiconductor stage performs switching, amplification, regulation, rectification, or logic.
What it does hereIt controls current or signal flow at a defined point in the circuit.
Buy / compare this part ↗Advantages
- Fast and efficient
- Compact
- Can control larger loads from smaller signals
Limitations
- Pin order varies
- Sensitive to overvoltage and reverse polarity
- May need cooling or bias components
Handling
- Verify the datasheet pinout
- Avoid static and soldering heat
- Check notch, stripe, or flat-face orientation
Specifications to verify
- Use the exact model, value, package, and rating listed for LM386; similar-looking parts are not always interchangeable.
- Confirm pinout, maximum voltage/current, dissipation, gain or forward voltage, and package.
Connect one verified path at a time.
Explore the named components and standardized signal flow, then use Source Check to verify exact physical pins, values, and topology before applying power.
Trace this circuit.
Simple Arduino Audio Player and Amplifier with LM386: interactive parts, standardized terminals, responsive anchored wires, student explanations, and the original circuit reference in one shared system.
Trace before wiring
Follow power, ground, inputs, processing, and outputs in that order. Never guess a pin from package shape alone.
Connect with power off
Make short, labelled connections and share a common ground only where the schematic requires it.
Inspect every joint
Check continuity, polarity, adjacent shorts, and loose connections before the first power-up.
Open all source diagrams and build views 4 visuals




Confirm the hardware-only control path.
This project does not include firmware in the source. The circuit itself provides the required behaviour.
How to connect
- Match every controller label to the circuit view and source pin map.
- Join grounds before signal wires when separate low-voltage supplies are used.
- Keep motors, relays, pumps, and other loads on a suitable driver and external supply.
Common mistakes
Reversed VCC/GND, board-label versus GPIO-number confusion, missing common ground, and charge-only USB cables.
Troubleshoot
Disconnect loads, continuity-test one path at a time, then test with a current limit.
Software preparation
No IDE, board package, library, or firmware upload is required for this project.
If you add a programmable controller as an extension, document its pin map separately.
How to upload code
The original design is implemented entirely in hardware, so proceed after verifying the circuit and supply.
Assemble, deploy, test, and troubleshoot.
Use the complete source notes in build order, then pass the final checks before calling the project finished.
Build in functional stages
- Power and regulation
- Controller or processing stage
- Inputs and sensors
- Outputs and loads
- Enclosure and strain relief
Power up safely
- Inspect unpowered continuity first
- Apply the lowest safe current limit
- Measure supply rails before signals
- Add one load at a time
- Record expected and actual results
Work from simple to complex
- Confirm power, ground, polarity, and orientation
- Compare each pin with the source
- Test inputs separately from outputs
- Replace only one variable at a time
- Power off before every correction
Follow the documented instructions.
These notes come from this project's source and remain in their original order.
Project overview
Project build noteAdding music or sounds will always make our project look a lot cooler and more appealing. The best way to add sound effects to your project is by investing in an extra SD card module and a normal speaker, especially if you are using an Arduino and you have lots of open pins. Using your Arduino Board, I have created a simple Music Player/Sound Maker. Thank you to the Arduino community for developing some libraries for you to build this quickly and easily. The IC LM386 was also used here to increase the volume and cancel out the noise.
Hardware Required
Project build noteArduino UNO SD Card Reader module SD card LM386 Audio Amplifier 10uf Capacitor (2 Nos) 100uf Capacitor (2 Nos) 1K, 10K Resistor Push buttons (2 Nos)
Breadboard Connecting Wires
Circuit Diagram
Project build noteThe goal of this project is to play the .wav music files stored on the SD card. Through the LM386 Audio amplifier, we will play these .wav files on a speaker using an Arduino programmed to read them. This project cannot technically be called an Arduino Mp3 Player since this code can only read .wav files, but you still get to hear the music. Alternatively, consider an Arduino music player without SD card if you are looking for a simple alternative
Prepare your audio files with your WAV files
Project build noteAudio files in .wav format are necessary for playing sounds from SD cards using Arduino. Due to the inherent limitations of the Arduino Board, only wav format audio can be played. An Arduino mp3 player can be made using
many different mp3 shields which are available for Arduino. Alternatively, many websites provide instruments for the conversion of audio files into WAV files on your computer. Following the steps below will help you convert any audio file to wav
format
Project build noteStep 1: Go to “ https://audio.online-convert.com/convert-to-wav ” website. Step 2: The following format is supported by Arduino. You can experiment with different settings later, however, the following settings were experimentally the best in quality. Bit Resolution8 Bit Sampling Rate 16000 Hz Audio ChannelMono PCM format PCM unsigned 8-bit
Step 3
Project build noteIn the website, check the "choose file" box and select the file you will be converting. Then feed the settings into the field. Once done, your conversion should look like the image below.
Step 4: Afterwards, click on “Convert File” and your Audio will be converted into .WAV format. Once the conversion is completed, the .WAV file will be downloaded.
Step 5
Project build noteOnce you've formatted your SD card, save the audio .wav file onto it. Before adding this file, make sure it is formatted correctly. Keep in mind the name of your audio file as well. You can do the same with your four audio files, selecting any one of them and saving them as 1, 2, 3, and 4. As shown
below, I have converted four songs created by a particular digital music converter to wav, mp3, mp4, and mp3 audio formats. We interface the Arduino with a SD card reader module since we haven't been able to interface our Arduino directly with some of our audio files. With the SD card and Arduino, communication is accomplished using SPI. Thus, the Module is connected to the Arduino's SPI pins as shown above in the diagram. The following table provides further details. ArduinoSD card module +5V Vcc Gnd Gnd Pin 12 MISO (Master in Slave out) Pin 11 MOSI (Master Out Slave In) Pin 13 SCK (Synchronous Clock)
Pin 4 CS (Chip Select) After the SD card is read, the Arduino will be capable of playing the music on pin number 9. On pin 9, the audio signals generated by the Arduino are not loud enough to be audible much. Therefore, LM386 Low voltage Audio amplifier IC is used to amplify it. Amplifiers like the one shown above have Gains as high as 200 and the 5V pin of the Arduino is powering the Vdd pin. If you want to adjust the volume, the voltage applied to this pin can be increased/decreased. There are 200 watts of gain amplification in this device, which is ideal for use in low power circuits for LM386. Additional buttons are also connected to pins 2 and 3 on the Arduino. The switches can play/pause the music and play/skip the next track of a song respectively. The buttons below were used only to demonstrate the song's capabilities; you can play the song whenever desired.
You built Simple Arduino Audio Player and Amplifier with LM386.
You followed the full workflow from understanding the mission to testing the finished project. That is a real engineering achievement - well done.
Browse all 500 projects