I am working on an Arduino project and the sound is too low because the output pins on my Arduino UNO is only 40 mA. I can hook up an NPN transistor to amplify the sound, but I don't want to blow the speaker. How much voltage can a 1 watt 8 ohm speaker handle?

  • 6
    \$\begingroup\$ Try an answer for yourself. Assume the speaker is a 1 Watt 8 ohm resistor. \$\endgroup\$ Sep 15, 2014 at 13:58
  • \$\begingroup\$ How would you hook up the transistor? \$\endgroup\$
    – EM Fields
    Sep 15, 2014 at 14:03
  • \$\begingroup\$ Arduino output to base, collector to power and emitter of positive speaker lead \$\endgroup\$
    – jardane
    Sep 15, 2014 at 14:06
  • \$\begingroup\$ @jardane Using that circuit might will put a standing DC bias current through your speaker that may also harm it. If it survives, it's likely that the 1 watt capabilities of the speaker may need to be reduced accordingly. So, in a nutshell, it's difficult to answer your question with any measure of confidence. \$\endgroup\$
    – Andy aka
    Sep 15, 2014 at 14:09
  • 1
    \$\begingroup\$ There has to be a better answer than "it's complicated" \$\endgroup\$
    – jardane
    Sep 15, 2014 at 14:11

4 Answers 4


It can take 1W of power. Voltage is not the problem.

Any more than 1W and the coil will overheat and melt.

It is 8Ω. Look at it from the point of view of DC. That means we can use simple Ohm's Law to examine it.

You have 1W and 8Ω. There are two formulae that incorporate those two values:




We're interested in voltage, so rearrange the second to give:


So 1W through an 8Ω load must be 2.83V. Rearrange the current one, so it is:


and we get a current draw of .354A, or 353.55mA.

The fact that your IO ports are limited to 40mA (That's the absolute maximum by the way - Atmel don't recommend more than 20mA), means:

\$P=VI = 0.2W\$, which is why your speaker doesn't melt and isn't very loud.

So what do you want?

Well, you want 2.83V across your speaker with unlimited current available, or unlimited voltage available with 353.55mA current. The former is more achievable, so we'll do that.

A simple voltage divider can limit the voltage to 2.83V. The formula

\$V_{OUT}=\frac{R_2}{R_1+R_2}V_{IN}\$ can be re-arranged to give:


We know R2, that's 8Ω, Vin is 5V and Vout is 2.83V. So substitute the values and we have:


which gives us 6.134Ω. The closest E24 would be 6.8Ω, which would be ideal. Of course, you need a nice chunky resistor, at least 1W, preferably a little more.

Your schematic could look like:


simulate this circuit – Schematic created using CircuitLab

Or, for the more traditional class A amplifier arrangement:


simulate this circuit

Of course, your 6.8Ω resistor would then have to cope with the full 5V across it, so would need to be a minimum of 3.6W.

  • \$\begingroup\$ Maybe I am wrong, but I thought the speaker needs to be connected to the emitter pin from the PNP not the collector. \$\endgroup\$
    – jardane
    Sep 15, 2014 at 14:41
  • \$\begingroup\$ That is an NPN there, not a PNP. If it were PNP then the circuit would basically be upside down. \$\endgroup\$
    – Majenko
    Sep 15, 2014 at 14:42
  • \$\begingroup\$ Oh did not see that. \$\endgroup\$
    – jardane
    Sep 15, 2014 at 14:50
  • 2
    \$\begingroup\$ An 8-ohm speaker rated at 1 watt can have a sinewave amplitude of 8 Vp-p before it takes over 1 watt. You have a 5V supply and are suggesting that a 6.8 ohm resistor be used to restrict the voltage to ~2.83 volts (which happens to be the RMS equivalent of a sinewave of 8Vp-p). I think I am confused by your logic. From a 5 volt power rail, the maximum voltage that could supply the speaker is 5Vp-p which is an RMS of 1.77V and therefore a power of about 390mW into an 8 ohm load. \$\endgroup\$
    – Andy aka
    Sep 15, 2014 at 16:52
  • \$\begingroup\$ You are all talking ten levels above my understanding I am still learning and you guys are talking so far over my head. \$\endgroup\$
    – jardane
    Sep 15, 2014 at 17:29

Power = voltage x current
current = voltage / resistance
power = voltage x (voltage / resistance)
voltage^2 = power x resistance
voltage = sqrt(power x resistance) = sqrt(1 * 8) = sqrt(8) = 2.83 V

  • \$\begingroup\$ Glad to see you got the same voltage out as me - makes me happy my maths is right ;) \$\endgroup\$
    – Majenko
    Sep 15, 2014 at 14:17

It's not an easy question, because speaker ratings are sometimes specified as peak power and sometimes as RMS (average) power: http://www.bcae1.com/speakrat.htm

Either way, for calculating the maximum current or voltage, you can assume the speaker acts like a resistor, so P=U^2*R. For U, you will have to plug in either the amplitude or RMS value, depending on the speaker rating.

Also, amplifying with a single transistor can lead to lots of distortion, except if you're using a square wave signal. Read up on some basic amplifier circuits such as the "common emitter amplifier" or operational amplifier circuits.


If you are dc connecting the speaker to an NPN transistor's emitter and feeding the base from an arduino (presumably 5v logic), it's likely you could see a peak DC voltage of around 4.3 volts across the speaker so it needs to be biased up correctly and then it will sit around 2.2 volts in quiescent conditions (in order to maximize the undistorted AC signal applied to the speaker).

This 2.2 volts forces a dc current thru the speaker of about 370mA - this is based on the likely dc resistance of the 8 ohm speaker being about 6 ohms. This is generating a power (heat) of 0.806 watts therefore the "spare wattage" remaining for audio is slightly less than 200mW. This is equivalent to a sinewave amplitude of 1.265 volts RMS or about 3.6 volts p-p.

If you used a push-pull circuit and a capacitor decoupler, a 1 watt speaker at 8 ohms impedance could be expected to handle about 2.828V RMS or 8 volts peak to peak. The better circuit would be about 7dB louder and have less distortion.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.