Arduino Speakers


i would like to made a full functioning speaker with the arduino Uno.

I had a good speakers for my computers, which got damaged as the PCB broke.
So i wanted to replace the PCB of the speakers with an arduino (probably the Pro Mini 16 Mhz variant).
I have connected an Arduino Uno to the audio Ports of my computer (Ground - Ground, Left - Analog 0, Right - Analog 1) and i received good values, indicating that i can acutally work with the arduino.

However, i have no idea, how to play the sound. I know that each speaker (left and right) has 2 connections (A ground and a signal/current input).

Do i need to use a Fourier Transformation to convert the output of the computer for the speakers?
Do i need an amplifier? The LM386 seems recommanded. Is it good?

This is the speakers, i am trying to modify:

Thank you.


You mean, the computer outputs are directly those that the speakers inputs? No need for transformations?

The 386 will work. No need for anything digital.

The LM386 is easy to use but it will only put-out about 1/2 Watt. There are [u]lots of other amplifier chips[/u].

With 5VDC (USB) you can theoretically get 5V peak-to-peak out of a regular single-ended amplifier. That works out to about 0.75W into a 4 Ohm load. With a bridge amplifier (push-pull) you can get 10V peak-to-peak for 4 times the power. In the real-world, you don't get the full voltage swing from an amplifier.

You can get more power with lower impedance (or by wiring multiple speakers in parallel for lower impedance). Power is inversely proportional to impedance. With 2 Ohms you'd get double the power, with 8 Ohms you'd get half the power.

You can also get more power by boosting the voltage with a DC-DC converter, but a USB port also has limited current capability and you can only get about 5W from a USB port. Power is proportional to the square of the voltage.

A simpler option is to buy a [u]little amplifier[/u]. ...This particular amplifier doesn't come with a power supply. You have to buy it separately. It might work with 5V from USB at lower power (I don't know) but you'd have to "adapt" the power connectors.

Do i need to use a Fourier Transformation to convert the output of the computer for the speakers?

No... If you do FFT, you'd have to do a reverse FFT to get the normal audio back. But the Arduino can't do that fast-enough and there's no digital-to-analog converter and there's no reason to do it.

It's possible to make an analog-to-digital conversion (without the FFT), and then convert back to analog, but again the Arduino doesn't have a digital-to-analog converter. Plus, the analog-to-digital converter is not "CD quality", and again there's no reason to do it.


Thanks you.