Audio Circuitry noise introduced by Raspberry Pi
Mag748
Posts: 266
Hello,
I have a circuit design that deals with audio. The audio circuitry is controlled with a Propeller. That stuff is working quite well so far.
I have added into the design a header to the board in order to incorporate a Raspberry Pi controller to the mix. I.E., there is bidirectional communication between the Prop and the RPi.
Once I have hooked everything together, the audio signal is seriously affected by digital noise coming from the Raspberry Pi. Quite noticeable buzzing and hissing happens whenever the Raspberry Pi is connected and powered up. I've tried simple things like adding 100uF caps to all power rails (The Audio circuitry is run at +/- 15V and the Raspberry Pi is on a +5V rail) but it hasn't even reduced the level of the noise.
Has anyone had any experience with these types of issues and could give me some steps in the right direction for getting rid of the noise? Let me know if any other info would be helpful, as in schematics, pictures, audio samples and what not.
Thanks a bunch,
Marcus
I have a circuit design that deals with audio. The audio circuitry is controlled with a Propeller. That stuff is working quite well so far.
I have added into the design a header to the board in order to incorporate a Raspberry Pi controller to the mix. I.E., there is bidirectional communication between the Prop and the RPi.
Once I have hooked everything together, the audio signal is seriously affected by digital noise coming from the Raspberry Pi. Quite noticeable buzzing and hissing happens whenever the Raspberry Pi is connected and powered up. I've tried simple things like adding 100uF caps to all power rails (The Audio circuitry is run at +/- 15V and the Raspberry Pi is on a +5V rail) but it hasn't even reduced the level of the noise.
Has anyone had any experience with these types of issues and could give me some steps in the right direction for getting rid of the noise? Let me know if any other info would be helpful, as in schematics, pictures, audio samples and what not.
Thanks a bunch,
Marcus
Comments
Plus a picture of how the boards are placed when connected together.
A Pi is 'doing a lot', so some added noise is expected.
How many wires are used in the bidirectional communication ?
Distance and Galvanic isolation both can help reduce noise, so I'd start with some separation, and an isolated link, and confirm that is ok.
Then move things closer, and check if you can remove the isolation, by seeing what that does to your noise-floor ?
If it is, you can use metal shielding. If you want thin, nickle is the very best. Even a thin sheet .003" to .010" is likely to suppress this nicely. That's the Cadillac solution. Likely to set you back a few bucks, but it's bulletproof. (I had a lot of experience with nickel shielding for Tek scopes and test gear in the 90's. Great stuff. Not cheap.)
You may find the copper clad or aluminum clad paper shielding sheets work well. http://www.mouser.com/Passive-Components/EMI-Filters-EMI-Suppression/EMI-Gaskets-Sheets-Absorbers/_/N-bkrm8
I see some spiffy new graphine products out there. Who knows? Maybe they are excellent.
The goal here is to enclose the Pi, Faraday cage style. The clad paper products make this pretty easy.
Use similar paper to prototype your flat pattern. A drop of solder on a tab can bind sheets together and or provide a place to run a lead to ground.
For the case of noise travelling through the shared connection, get an optical isolation chip and use it to buffer the signals. That's a circuit change, and an added item or maybe two, but it's going to work well.
http://www.jameco.com/shop/keyword=Optoisolator-8-Channel
IMHO, other means, like ferrite beads, caps, filters, are going to be more trouble than they are worth.
Keep cable lengths to the optoisolator, from the noisy Pi, short. Consider shielding them too, or using shielded wire. A thin wrap will shield a flat cable pretty well. Get the same shielding sheet, cut it, and use for both purposes.
These wires don't seems to be the cause of the noise. The noise is present when only the power is shared between the two devices. Also, the location of the two devices does not change the quality of the noise, aka, I don't think it's an RF issue.
See the schematic and image of the setup. As noted in the schematic drawing, the frequency of the noise seems to have gone down (aka, it's of a lower pitch) once the caps were added, but it's still there.
Another thing I tried was connecting a USB Micro cable directly to the power supply's +5V and the RPi which totally bypasses the ribbon cable. Same noise was there.
Could there be something abhorrently wrong with my circuit design that is causing it to be very susceptible to this noise?
As jmg suggests, a galvanic isolation my help, but I'm not sure how to approach that.
Thanks,
Marcus
If so the first thing I would try is to run power to the Pi directly using a separate pair of wires. Running power from a supply through the analog circuitry is not a good idea.
Hey kwinn,
Yes, that PSU is supplying all three power rails. I have tried a separate micro USB cable to the Pi from the the power supply, separating the PI and the audio circuitry as much as possible. The noise is still apparent.
The noise must be getting through on the ground connection, because the audio circuitry isn't even using the +5V rail.
I will try and get a hold of a ferrite bead.
Thanks,
Marcus
As for the bead, they are weird. I have a few in a drawer, harvested over time. You probably want a few turns. When they work, it's nice. Easy.
For this, get a thick, beefy one and go a few wraps. Ground line too, if you want. Combine with a RC low pass, or isolation per the PDF I found..
Looks like some good circuits in there for you to try. The ferrite can play the role of inductor for some of those, FYI.
Hope this helps. Gotta hate audio noise...
That's what I thought based on your picture. A ferrite bead will probably not make much difference.
Problem is the current drawn by the Pi is fairly high and varies as different parts of the code are executed. With the ground connection being shared by the +-15V and +5v that shift results in the ground shifting in relation to the +-15V. If the voltage drop across the ground connection is 0.1V then the +15V will be 14.9V and the -15V will be -15.1V in relation to the ground on the boards.
1) Try adding 100nf, 10nf, and 1nf on the Propeller's 3v3 power on both sides of the chip (I suspect this will help) ... "There is no such thing as overkill"
2) add 1uF and 10uF electrolytics next (on both sides of the prop 3v3/gnd)
Depending on the Pi version, there will be clocks as high as 1.2GHz on the core, so I am not too surprised at some high frequency noise.
on its power rails.
If it is a 60 cycle type noise, then you may have a ground loop and you would have to track that down.
These may help though:
https://raspberrypi.stackexchange.com/questions/24476/filtering-noise-w-pi-as-fm-transmitter-and-sound-source
https://reddit.com/r/raspberry_pi/comments/1thkfa/audio_humming_buzzing_with_your_pi_solution/
The schematic PDF on my iPhone does not show the power supply.
Without these, you can try the following
To the prop power/ground pins (all 4 sets) try (as Bill suggested) 100nF, 10nF.
Try 1uF Tantalum on the Prop power line.
If you don't have a separate 3V3 regulator for the Prop, try one, ensuring the the regulator has the correct bypass caps right at the regulator Pins, as per the specs of the regulator you use. You can also try feeding the input from 5V to the regulator via a 10uH inductor. IIRC Murata make the BLM series for power supply inductors.