Since there’s not too much to report on campaign status (everything’s still moving along nicely) I thought I’d take this opportunity to show you how audio on the PiMod Zero works.
Squeezing sound out of a Raspberry Pi Zero is an interesting problem. The designers decided to omit a headphone jack on the board, presumably to save space and cost. In fact, the only audio output on the board is via the HDMI interface, unlike the other Raspberry Pis which have 1/8" analog audio jacks. Like it’s brethren, however, the Pi Zero does have GPIO pins, which we’ll need in a moment.
It turns out that the Broadcom chipset used by Raspberry Pis doesn’t support analog audio- so how do any of the Pis do it? They use digital audio! To make sounds, Raspberry Pis output PWM signals that are run through a voltage divider to drop them to the appropriate level, and a low-pass filter. The filter knocks out everything above ~18 kHz, removing the 50 MHz PWM signals and leaving (most of) the human-audible spectrum (20 Hz - 20kHz). Adafruit explains this in a bit more detail in a nicely-written guide here. Below, you’ll find the circuit found in the PiMod zero, with AUDIO_R and AUDIO_L connecting to the GPIO pins, and AUDIO_IN going through some signal conditioning before reaching the modulator chip.
To replicate this on a Pi Zero, we can route the audio signals through two GPIO pins (one for left, one for right). The PiMod zero incorporates a circuit very similar to the one found on larger Pis, with a few simplifications made. At the output of each channel, the two are mixed together into a mono signal which is fed into the modulator chip. There, it is mixed with a carrier to be transmitted along with the video signal (but more about that in an upcoming update).
Finally, thanks for your continued support! I’ve gotten great questions that have sparked very fun conversations with some of you, and I’m looking forward to hearing from more of you. I can’t wait to get these boards made and into your hands to see what you come up with!