I have been restoring some old '50s and '60s tube amplified radios, fitting them with Bluetooth while maintaining the original electronics and functionalities.

I achieved this by connecting the Bluetooth audio to the record player input of the radio. This worked relatively okay.

Now I am thinking of making a radio into a smart speaker, using a Raspberry Pi Zero W and the open source Google assistant software and connect this to the radio.

This is where my problem lies. As the Raspberry Pi Zero does not have any audio output except for over HDMI, I will need some sort of circuit. From the research I have done it seems the way audio works on the Pi is using the PWM pins.

There are some boards online, like the PAM8403 as well as pHAT DACs. However, it is unclear to me if this will work as I intend, as they are all meant to be the final amplifier and directly drive the speakers, not be amplified again through, for example my tube amplifier system in the old radios.

The points of confusion originate from the following:

  • PWM can be used for the audio, I am confused if this is then used as I2C, i.e. digital which has to be converted to analog, or is this PWM used to create an analog signal? If so, then I might be able to directly pass it into the radio?
  • The PAM8403 board is a class D (digital) amplifier. I have read that connecting together the L- and R- could cause problems, but to connect it to the radio I have a L, R and common ground.
  • The PAM8403 is 3 W output, the radio however I think is used to a very low powered input signal from the record player, would this not blow up the entire radio? Could I just fix this by using a simple voltage divider?

I guess what it comes down to is that I need a low-power analog signal from my Raspberry Pi. I have found things like HifiBerry, but I am looking for a more budget-friendly solution as I believe those are a bit of an overkill. I would prefer a ready-made solution that I can buy but am also open to making my own if it is not too complicated.

  • \$\begingroup\$ The simple analog audio output on the Raspberry-Pi boards is generated using PWM with an RC filter. It is not very high quality. For better quality I would use the I2S output. There are many, many I2S example designs with software for the Pi out there. \$\endgroup\$
    – Oldfart
    Commented May 11, 2018 at 9:03
  • 2
    \$\begingroup\$ Probably better to connect a USB sound adapter to the Pi, then connect its output(s) to the amp. \$\endgroup\$
    – JRE
    Commented May 11, 2018 at 9:29
  • \$\begingroup\$ learn.adafruit.com/introducing-the-raspberry-pi-zero/… \$\endgroup\$ Commented May 11, 2018 at 9:51
  • \$\begingroup\$ pick up a bluetooth to 1/8" stereo adaptor for $15 on amazon \$\endgroup\$ Commented Oct 26, 2023 at 16:07

1 Answer 1


Each channel has its own PWM signal, which is pulse-width modulated in the low MHz range. You can either run this digital signal into a Class-D amplifier, then filter the amplified result with a bulky LC-Filter, or run the digital signal into a tiny LC filter, then amplify it with a standard Class-A or Class-AB amplifier. The latter matches your use case.

If you only ever need a mono output, I recommend only using a single PWM, and do the downmixing through software.

  • \$\begingroup\$ Thank you for your response. So if I understand it correctly you mean that the class-A/class-AB would be my the tube amplification that is already present in my radio? So run the digital signal through an LC filter and then into the radio, which amplifies it? \$\endgroup\$ Commented May 12, 2018 at 9:51
  • \$\begingroup\$ Yes. Use a digital buffer stage e.g. of 6 paralleled CMOS inverters (one CD4049) and run that output into an LC low pass, decouple and level-adjust it from 0–3.3V to ±0.5V. \$\endgroup\$
    – Janka
    Commented May 12, 2018 at 11:46
  • \$\begingroup\$ Cheers thank you, I will give that a shot! Maybe the effort is not worth the saved cost and I will just go for model 3 B with 3.5mm jack \$\endgroup\$ Commented May 12, 2018 at 12:55
  • 1
    \$\begingroup\$ The Raspberry Pi3 has the big advantage of being much much faster (about 3 times faster) at the expense of drawing much more power. But I think the latter isn't a concern when you are playing with tubes. \$\endgroup\$
    – Janka
    Commented May 12, 2018 at 14:36

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.