Swapped my RPi3 for a pi0W and destroyed my range! [SOLVED]

Could the issue be heat…? Seeing the Zero is running harder!

On a RPi Zero W the dump1090-fa decoder uses about 50% of the CPU and usually about 30% is used by the MLAT system. The dump1090 decoder doesn’t vary too much in amount of processing vs incoming message rate but the MLAT system can vary a lot. I have seen the MLAT system use CPU more than the dump1090-fa decoder.

My suggestion is to try to turn off the MLAT system using piaware-config. Then check what CPU usage you are seeing.

Command to turn off MLAT
“piaware-config allow-mlat no”
then reboot

Webpage that explains piaware-config

@david.baker

that was my thought too - as in usa there is often a very high mlat percentage within flights which costs lot more cpu than ads-b data. but when i looked two days ago at his stats and saw that he has just 15% of the aircrafts i have and only 7% the mlat aircrafts i see per day - i was thinking this effect couldn’t be the reason?!?

http://flightaware.com/adsb/stats/user/Ant73#stats-63695
https://flightaware.com/adsb/stats/user/TomMuc

The receiver dongle pushes out blocks of data at a very constant rate. The dump1090-fa decoder process these blocks and then outputs how many ADSB messages are in that block of data.
It cost about the same amount of CPU if there are 10 ADSB message in the block or 0 ADSB message in the block.

I am not sure if there is something else going on with his RPi Zero W system. But turning off MLAT will isolate whatever the problem is to a very predictable part of ADSB decoding.

1 Like

I wanted to do some testing and set up a Zero W in the loft with a spider. I received a maximum of around 110 aircraft which was far lower than I expected with a message rate maxing out at around 500/s.

I took the SD card out, put it in a Pi3 and rebooted, instantly up to around 250-270 aircraft and messages up at 1500/s

Here’s the difference between the overall CPU Utilisation on the performance charts. It was sitting around 60% on the Zero W and 15% on the Pi3.

Pi

did you use the fa rady to go sd-card-image or did you install anything from scratch. i’m wondering what happens here with ant73 and your pi-zero - as mine works like a charm up to 300 aircrafts and above running from the same sd-card i use in the pi2! what dongle do you use? did you try different usb cables to connect the dongle? i’m wondering if it could be possible that there is so much noise on other frequencies that the workload from usb-dongle increases so much that the zero is not able to compute all incoming data …

this was my setup for test above - but i used the standard lightblue nooelec dongle connected to the splitter

Thanks everyone for the help.

I’m installing everything from scratch on Raspbian and using dump1090-fa. I’m wondering whether mutability would make any difference?

Tom, I presume you are using a FA stick, so it is amped and filtered? I wonder whether the zero could be more sensitive to an un-amped, unfiltered signal?

Although it is running much harder, it doesn’t seem to be running any hotter than the RPi3 strangely, so I don’t think that is it. It seems to run around the 40-45C mark according to the panel temp monitor.

I haven’t tried switching off MLAT but, as TomMuc says, I don’t really see a lot of MLAT data.

Here’s some pics. I only have one dongle and don’t have a splitter so I can’t ran both pi’s at once unfortunately. I was going to try making a USB splitter to run both off the one dongle but I’m not sure that would even work.

I have been doing most of my testing during quiter times.


Zero [left] vs RPi3 [right]. I waited until the aircraft to the west dropped off the zero and quickly switched after the dropped ACFT came back + more.


Zero after running all night. I don’t see a lot of traffic overnight but the ranges should be much higher.


A few minutes after switching to the RPi3


Although not conclusive, I couldn’t have been lucky enough to match the peaks and troughs with switching pi’s.

Tom, I just saw your last post after I submitted.

Here is the dodgy dongle I bought.
http://www.ebay.com.au/itm/New-Receiver-DVB-T-DAB-FM-RTL2832U-R820T-Tuner-Mini-USB-RTL-SDR-ADS-B/252895415029?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

No doubt a better quality one would work better but I wanted to see whether I could get it working first. Now I am trying to decide whether to get one with a built-in filter or not. Not sure I need a filter. I did try setting up gqrx to see if I could see what frequencies my antenna is picking up but I couldn’t get it to work. Perhaps the dodgy dongle isn’t compatible?

I only have one USB/micro USB adapter that I ordered with my zero.

I have tried a few various power cables though including the official pi power supply.

edit
This is the overnight 3D polar for my RPi3 for last night.

Try upping the usb output current. By adding max_usb_current=1 in the /boot/config.txt

@Ant73

i’m using the super-cheap 18€ nooelec standard dongles behind low-noise-amplifier with saw-filter and splitter: https://www.amazon.com/NooElec-NESDR-Mini-RTL2832-Antenna/dp/B00P2UOU72/ref=sr_1_9?ie=UTF8&qid=1506559069&sr=8-9&keywords=nooelec

Given you’ve replace almost everything, I’d be looking very hard at your PSU. Many USB PSU’s supply slightly under 5V and this will affect the gain and stability of your dongle.
Try using the ‘brand name’ charger that came with your phone rather than a ‘no-name’ unit from your junk box.

As for your “dodgy dongle”, they are cheap and cheerful, but work great. Yes you can do better, but they still perform very well.

1 Like

Yea I’ve tried a few different ones already including the official raspberry pi power supply.

I’m trying this out but I have to reflash the SD. I’ll report back when I’ve tested it.

edit

While waiting for the img to copy to the SD, I found this. Not sure this mod will have an effect now.

Nope! No change setting max_usb_current=1. I’m not sure that the zeroW is limited like earlier models though.I have run out of things to try I think.

Perhaps a better dongle and/or filter would give better results with the zero? Maybe the RPi3 can compensate better for el-cheapo dongles performance?


Zero [left] after 30 mins Vs RPi3 [right] about 2 mins after shutting the zero down.

In my case I’m using a Flight Aware ProStick Plus dongle and the pre-built FA image. I installed Python and ran the gain optimisation scripts and the ADS-B performance stuff to get the stats but apart from those, it’s a stock image.

The ONLY difference between the two setups, the Zero W and the Pi3 is that with the Zero W, I have a very short USB cable between the Pi and the receiver. The aerial is screwed straight into the receiver.

I’ve just put the Zero W back in the setup again, this time using a different USB cable and it’s exactly the same.

PSU in each case is an official Raspberry Pi PSU which came with a Pi3 starter kit.

that is very strange that you both see so much less traffic when using the zero!?! that’s why i yesterday again tested the zero on the newly installed splitter - and within 2 minutes the mlat-sync was up and instantly every single aircraft that my pi2 was receiving showed up in the zero too …

no idea at the moment what the reason could be

p.s. @keithma did you try a standard dongle too (as they suck less power than the fa with builtin lna)?
p.p.s. i would run a test with a fresh raspbian image and then install dump1090-mutability + piaware
p.p.p.s. could you both post a picture of the zero (with dongle/cables etc.) while running in your setup

Yes, the first time I tried this with the Zero W, I had an old NooElec dongle - Same results.

I’m happy to do a fresh build with nothing on but I’ve not built one from scratch like that before, is there a simple guide I can follow somewhere please?

It’s tricky to take pictures in my loft due to the lack of light but I’ve taken the receiver down.

Two pictures here, one shows the aerial, receiver and dongle and the other is a close up.

Note that when I changed from the Zero W to the Pi3, all I did was disconnect the USB pigtail and connect the Pi3 straight to the receiver.

I’m pretty sure this isn’t a power issue. Surely a Zero can’t be drawing more current than a Pi3? I’ve tried different PSUs anyway. Also, the other receiver in the loft which is running very well is using a boggo RPi PSU. See my stats pages for details.

Note that these will be truncated, you’ll need to click them to see the full images.

just ten minutes - i’ll send you the needed steps

I think I’ve found them, here: Bake a Pi

Except I’ll use a full version of Jessie, not Lite.

if i didn’t forgot something this should be the way to setup a feeder on your own. download raspbian lite (jessie or stretch from Raspberry Pi OS – Raspberry Pi istall the image Raspberry Pi Documentation - Getting Started put an empty file named ‘ssh’ into root of boot and if wifi is used an wpa_supplicant.conf too.

passwd

sudo raspi-config
sudo apt-get update
sudo apt-get upgrade

sudo apt-get install build-essential debhelper librtlsdr-dev libusb-1.0-0-dev pkg-config tcl8.5-dev autoconf python3-dev python-virtualenv libz-dev git tclx8.4 tcllib tcl-tls itcl3 lighttpd
mkdir dump1090-mutability
cd dump1090-mutability/
git clone https://github.com/mutability/dump1090.git
cd dump1090/
dpkg-buildpackage -b
cd ..
sudo dpkg -i dump1090-mutability_1.15~dev_armhf.deb
cd ~

(sudo wget -O  /etc/udev/rules.d/rtl-sdr.rules "https://raw.githubusercontent.com/osmocom/rtl-sdr/master/rtl-sdr.rules" only needed for raspbian stretch)

git clone https://github.com/flightaware/dump1090.git
sudo cp -r dump1090/public_html  /usr/share/dump1090-mutability/public_html
cd /usr/share/dump1090-mutability
sudo mv html original-html
sudo mv public_html html
cd html
sudo mv index.html gmap.html
sudo dpkg-reconfigure dump1090-mutability
sudo lighty-enable-mod dump1090
sudo service lighttpd force-reload

sudo shutdown -r now

wget http://flightaware.com/adsb/piaware/files/packages/pool/piaware/p/piaware-support/piaware-repository_3.5.1_all.deb
sudo dpkg -i piaware-repository_3.5.1_all.deb

sudo apt-get update
sudo apt-get install piaware

sudo piaware-config allow-auto-updates yes
sudo piaware-config allow-manual-updates yes

sudo piaware-config feeder-id PLACE_YOUR_FEEDER_ID_HERE
1 Like