NEW TUTORIAL: Adding Basic Audio Ouput to Raspberry Pi Zero
To keep the Raspberry Pi Zero as low cost and small as possible, the Pi foundation didn’t include a 3.5mm audio jack. There’s also no breakout pads for the audio output. This made us a little 🙁 at first but then we thought “hey you know, we can probably figure out how to get audio out with a little hacking!
How Audio Works on Other Pi Computers
The Broadcom chipset used for the Pi does not have a true analog output. Instead, two pins are PWM (pulse-width-modulated) at very high speeds, and filtered. The PWM frequency has to be at least10x as high as the highest frequency we want to replicate in audio. Then, by adjusting the duty cycle of the PWM, we can ‘fake’ an audio signal.
Audio is 20Hz to 20KHz, and the PWM output from the Pi is 50MHz so we can easily filter the high 50MHz out (and anyways it cant be heard).
Looking at the Pi B schematic, we can see PWM0_OUT and PWM1_OUT are the left and right channels. R21 and R20 are voltage dividers to get the 3.3V signal down to about 1.1V max (that’s the max peak-to-peak voltage you want for audio line level.
C20/C26 works with R21/R27 to create an “RC low-pass filter”. You can calculate the cut-off frequency with 1/(2*pi*RC) = 1/(2*pi*270*33*10-9) = 17865 Hz which is pretty close to 20KHz!
C48/C34 acts as a DC-filter capacitor, it only allows AC through – speakers and headphones don’t like DC voltage!
Finally 8AV99 are ESD protection diodes. That’s to protect the Pi from static coming in and zapping the PWM pins..
Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.
Join us every Wednesday night at 8pm ET for Ask an Engineer!
Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground” – Adafruit’s Apps!
Maker Business — How Intel Makes a Chip
Wearables — Tape tactics
Electronics — Ground connections cooler via more vias
Biohacking — Itch Tracker for Apple Watch
No comments yet.
Sorry, the comment form is closed at this time.