First of all, thank you for taking a look at my question. Electronics is not my field of expertise, and I have found myself a bit stuck.

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 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 on sources 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 3W 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.

Thank you for taking the time to read my question, if there is any more information please do not hesitate to ask.

  • \$\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
    May 11 '18 at 9:03
  • 1
    \$\begingroup\$ Probably better to connect a USB sound adapter to the Pi, then connect its output(s) to the amp. \$\endgroup\$
    – JRE
    May 11 '18 at 9:29
  • \$\begingroup\$ learn.adafruit.com/introducing-the-raspberry-pi-zero/… \$\endgroup\$
    – Jasen
    May 11 '18 at 9:51

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\$ May 12 '18 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
    May 12 '18 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\$ May 12 '18 at 12:55
  • \$\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
    May 12 '18 at 14:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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