HF Noise from RaspberyPi 4

A few weeks ago I tried upgrading my station 517 to some shiny new hardware.
I switched from the old nanopi neo running to a brand new RaspberyPi 4 and I even got a nice metal enclosure and the official raspberry USB-C power supply.

However all the observations done by this shiny new setup had an order magnitude more noise and less signal than the previous ones.
Today I finally found the time to get some equipment to the station and investigate the problem further.

I unplugged the RTL SDR from the Pi and plugged into a laptop running sdr++ to monitor things using the same antenna and LNA as the station.
Then I started to power off various electronics around the house the might be source of the noise.
However I seem to be out of luck, because only when I unplugged power supply for the Pi 4 the noisefloor started to improve.

This is the change when plugging the Pi power supply back in:

And here are some more zoomed in spectrogram plots:


Raspberry Pi and its power supply are causing an additional 10dB of noise.

The Pi and everything else is sitting ~2m below the antenna, since I’d like to avoiding long runs of coax
and I already had power and ethernet at that location anyway.

I already tried winding the power supply USB lead around a ferrite core.
The made things worse, so I guess I blocked some kind of low impedance return path, causing more HF to be radiated.

I also tried tying my ground to protective earth, to make the metal enclosures around the LNA and the Pi a bit more effective in blocking capacitively coupled noise.
That helped a little bit, the noise floor went down about 3dBish.

Has anyone encountered this problem as well and has a solution?

I could move the LNA and the antenna to a different location than the rtlsdr and the pi,
but that would mean running an extra coax cable, somewhere.

Next time I’m here I’ll bring one of my beefy linear benchtop power supplies and try to power the Pi of that. Maybe that’ll get rid of some of the noise.

2 Likes

If the noise caused by power supply then change power supply.

The noise can go through raspberry pi and usb to rtl-sdr stick from the other end. Another suggestion would be to use usb extension cable and connect rtl-sdr through it to raspberry. Might work or might not. Need some testing.

I’ve given up on trying to make my RPi 4’s properly RF quiet. They are horribly noisy, and have caused me numerous issues so far.

IMO the only solution is physical separation. If you antenna/LNA is near your RPI 4 then you’re going to have issues.

Your LNA should be next to your antenna, and then your SDR and RPI should be as far away as you can practically get it. Remember that by placing your LNA next to your antenna, you can add quite a bit of coax before you start limiting your systems noise figure.

As mentioned above it would be interesting to know the origin of this interference. If it’s (simply) caused by the PSU you could try to run the Pi4 using a different DC source as already suggested. Assumed this solves the issue you could try a PoE HAT in the next step. There’s still a chance the Pi4 itself isn’t the trouble maker. :crossed_fingers:

Please keep us updated in any case because I suppose a lot of station owners are thinking about changing their default config from Pi3 to Pi4 in the future.

Not sure if it helps, but my station has been running on a rpi4 for about 1.5 years. I only use it for UHF though, so that’s maybe why I don’t see much noise. Also, the rtlsdr and the antenna is about 5 meters away from the rpi on a passive usb extension.

I don’t think noise is going through the Pi into the SDR.
All the screenshots above are made with the LNA running on batteries and the SDR connected to my laptop, running on battery is well.
So there was there was at least no galvanic coupling between the two, while I did my testing.

From what I’ve seen so far, I’m inclined to suspect the Pi itself as the culprit.
It usually take a few seconds for the noise to appear after plugging in the PSU.
There’s still hope the combination is the problem and a different PSU might solve the problem,
e.g. by providing better decoupling, preventing the Pi from using power cables as antennas.

I’ll go back to that station in two weeks and I’ll pack my spectrum analyser, a cheap near field probe, some antennas and a linear power supply for the occasion.
That should give me a decent enough idea about what is going on.

Another route that might be worth exploring is adding better shielding to the Pi.
The current aluminum enclosure might keep electrical fields in (provided some form of grounding) but will do nothing for magnetic fields.
Adding a good amount of properly grounded ferromagnetic material around the Pi could potentially help a little.

I have read that the hdmi port can generate a lot of rf noise. See:

Also on reddit there are some topics about it:

Hi, in my experience there are two noise source using RPI4: HDMI and PSU.
Google around to know how to switch-off HDMI ( and this is the right solution expecially on VHF/UHF)
About PSU, there’s lot of crap… Changing the PSU to linear technology give a huge difference mainly on HF.
I’ve on the bench an (almost finished) 2 x linear PSU 5V/5A, but at the moment I’m busy with my job ( retirement in 4 weeks… :slight_smile: ), so I hope that it will be installed in early September.
Also ferrite clamps all-around are mandatory on all cables, plus as-praticable-separation between antenna+LNA and SBC.

Interesting, I knew about the HDMI issue, but I would have assumed that something has to be connected to the HDMI interface for it activate its clocks.

Seems like one more experiment to run with a proper spectrum analyzer in place.

1 Like

I experimented with turning off hdmi to lower power consumption, but could not measure any difference in power consumption before and after issuing the shutoff command.

I went through all this process about 2 years ago.
I have 4 Raspberry Pis running 24/7, a VHF & UHF Satnogs ground station, a dump 1090 I gate and a APRS I gate.

I had S9 noise on 2m and other frequencies.
I found some of the SDR metal cases were not grounded.
I put all the RPis into grounded metal cases.
I got rid of the switched mode 5V power supplies and ran all 4 RPis of an old 5A, 5V, 3 terminal analog regulator.
OK it wastes energy in heat but it’s quiet.
I still get some noise on 40m from a sublimentry Grid tie inverter but I can switch that off when I need to. The main Solar grid tie inverter is clean.
Just another day at the office.
Funny how these problem repeat themselves. Maybe we should share more to save time for others, but I always think someone has thought of this already.
73 Bob

2 Likes

Hey @vk2byf Bob,

Great info. Thanks for sharing.

How did you determine that the SDR case was not grounded? Multimeter connectivity test from the case to the antenna jack? Or to the USB connector? Or did you open it up and look?

Did you put the SDR dongle in the metal case with the PI or did you line the ports up with the side of the box and plug the SDR in externally? I can see putting it in the case as better isolation, but then that SDR is exposed to the noise from the PI.

73
Chris
G0KLA / AC2CZ

I replied to your e-mail, did you get it?

Hi @vk2byf Bob, no I didn’t get it. Didn’t appear to go to spam either. Maybe wrong address? My email is current on qrz.com or on my website www.g0kla.com

73
Chris

A few weeks ago managed to do some “proper” measurements.
The life happened, as it usually does and I didn’t get around to write a proper summary about them until today.

The first observation I made is that a real spectrum analyzer is a lot less susceptible to random broadband noise than an rtlsdr.
Which in hindsight makes total sense as both operate on quite different principles.
I guess the problem is that my noise is broadband and somewhat random, but with a uniform distribution, so it will likely average out.
It might help if I could unlock the EMI functions of my spectrum analyser,
but for now it does not really pick up the noise.

I connected the analyser to the LNA output, directly where I would connect the rtlsdr.
Then I did one measurement with the Raspi powered on and one with the Raspis power supply unplugged.

After trying different settings I ended up with these two measurements.

The yellow line ist the control/baseline with the pi powered off.
The pink line is the with the Raspi running.
Not much of difference.

So I decided to go back to testing with an rtlsdr, as the problem still reproduces well with that.
Setup is the same as explained previously.
The rtlsdr is unplugged from the Pi and plugged into my laptop running SDR++, so I’m using the same antenna and LNA as the station.

I started with a fresh baseline test: Pi plugged into the official raspberry USB-C power supply.

Then I shut down the pi using the poweroff command.
So the PSU was still connected to the Pi, but the Pis CPU was not running and most of its peripherals were powered down

Next I left the power supply plugged into the wall, but unplugged the USB-C connector from the Pi.
So it’s just the noise produced by the unloaded power supply.

After that I decided a sanity check with the PSU unplugged from the wall might be nice.

So it is clear the Pi itself contributes a lot to the noise.
The PSU is not to bad, but it gets considerably worse if it is not loaded by the Pi.
My guess is that it’s a compound effect between the Pi and PSU.

So I finally I ditched the Rasperry power supply and connected a linear bench power supply set to 5v directly to the Pis GPIO header.
After bumping the voltage to about 5.5v I could get the Pi to boot and run stable.
The spectrum looked a lot “cleaner”:

Unfortunately I could not run a rtlsdr in that configuration.
Whenever I ran rtl_power or tried satnogs observation the rtlsdr ran for about a minute and then disappeared from then USB bus until I unplugged it and plugged it back in.
My guess is that the USB voltage to low or less stable for same reason, if you power the Pi via the GPIO header.

Just for fun I also tried disabling the Pis HDMI while using the regular raspberry power supply adapter.
I ran vcgencmd display_power 0 and it didn’t change anything at all.
So I guess that’s a dead end.

As a next step I ordered some parts to build beefy 5v 4A linear power supply.
I’ve planned for some adjustability so that I can go slightly above 5v if the Pi complains about undervoltage.
I’ll also add a USB-C cable to it’s output so I can power the Pi using the regular way.
Hopefully this will get my around the USB instability issue.

I’ll keep you updated.

6 Likes

Great work, thanks for sharing!

The official raspberry pi psu is specified for 5.1V so that could be a good target to shoot for.

NIce job, tnx!

Last weekend I installed a new linear PSU on 311 station: 2 x 5V @ 4A plus 1 x 12V @ 4A, here on the left side:

Nothing special, only a stock datasheet example for LT1083 regulator, plus ceramic (100nF + 1nF) decoupling capacitor everywhere:
311_PSU

And the most part of noise, birdies and so on is disappeared, mostly on the lower spectrum; all bands are cleaner. There’s some other switching PSU around but, in present days, it’s almost impossible to have an EMI-free site :smiley: :smiley: :smiley:

So, now back on the HackRF side experiments…

73’s de Victor I3VFJ

5 Likes