How can I change the gain on ads-b exchange?

I installed on my old laptop (I installed RPi on it) and already was able to share my data successfully. I started by buying Nooelec Sawbird+ADS-B and after attaching it had almost no signal (Power is plugged). So I saw somewhere that I have to bring down the gain of my SDR. After two days of searching I get to nowhere. Is there someone that can fix my silly problem?

I see you have Nooelec Sawbird+ADS-B but you don’t mention what SDRs you are using as that is just an LNA/Filter and setting your gain would be on the SDR itself. Maybe if you could take a picture of your setup it would help a lot as if you have an SDR like the ADSB Exchange Blue and Orange SDRs with built in LNA you would have 2 LNAs in line and would never get the gain set low enough.

For an install not using our Custom Pi Image (won’t work on a PC) the gain setting is located in the adsb-config.txt file, this is the same file you used to set the coordinates and height of your antenna and should look something like this.


Supported gain values: 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6

If you can not find an adsb-config.txt file then please refer to or post a link to the instructions you used to set up the feeder as non-official setups can have any number of variables and we would need very specific details of exactly how you set it up to try and help further.

Thank you very much for the answer. I use Nooelec NESDR SMArTee v2 SDR. I have around 80 massage per second usual but when I connect Nooelec Sawbird+ADS-B I have around 2 massage per second even though that it’s powered on by my SDR directly. After searching I found out that I need to set the gain to zero when I connect Sawbird+ADS-B. I couldnt find the adsb-config.txt but I set up my coordination and Antenna height in an another file adsbexchange.txt located in /etc/default and I saw no gain in the lines. do
I miss something?

This is what I have in the file:


feed name for checking MLAT sync (Sync Stats - ADSBExchange)

also displayed on the MLAT map: Feeder Coverage




this is the source for 978 data, use port 30978 from dump978 --raw-port

if you’re not receiving 978, don’t worry about it, not doing any harm!


RESULTS=“–results beast,connect,”
RESULTS2=“–results basestation,listen,31003”
RESULTS3=“–results beast,listen,30157”
RESULTS4=“–results beast,connect,”

add --privacy between the quotes below to disable having the feed name shown on the mlat map

(position is never shown accurately no matter the settings)


NET_OPTIONS=“–net-heartbeat 60 --net-ro-size 1280 --net-ro-interval 0.2 --net-ro-port 0 --net-sbs-port 0 --net-bi-port 30154 --net-bo-port 0 --net-ri-port 0 --write-json-every 1”
JSON_OPTIONS=“–max-range 450 --json-location-accuracy 2 --range-outline-hours 24”

Sounds like the instructions you used set up an ADSB receiver then had you add the feed to ADSB Exchange on top of that so it would be controlled by whatever config file the instructions used. You need to use the base setup to control the gain.

Without knowing what instructions you used to set it up I can’t help you any further, the instructions should reference some config file or call a gain setting in the start line.

I just followed whatever instruction that was on the website and as far as I remember it only asked me for my location and antenna elevation and no gain.
I did it all as per this link:

Yes the first line in that page is “ Feeding data to ADS-B Exchange can be done from hardware already configured for another provider” so who was the provider you were feeding before you added ADSB Exchange?

So I think that I did something very wrong. Because I’m only share at ADB-S exchange and nowhere else. I just followed this because I have my own computer and SDR. Where did I should start the set-up in this case?

I used the script method and it works on x64 I first installed dump1090-fa then adsbx feeder but sadly this doesn’t have the custom adsbx dashboard. So I have no idea where to go to change the gain. I literally checked all the config files I could find in any address.

I finally did it by changing the gain on /etc/default/readsb

readsb configuration

This is sourced by /etc/systemd/system/ as

daemon startup configuration.

RECEIVER_OPTIONS=“–device 0 --device-type rtlsdr –gain 0.0 --ppm 0”
DECODER_OPTIONS=“–lat 45.47315 --lon -73.61221 --max-range 450 --write-json-every 1”
NET_OPTIONS=“–net --net-heartbeat 60 --net-ro-size 1250 --net-ro-interval 0.05 --net-ri-port 30001 --net-ro-port 30002 --net-sbs-port 30003 --net-bi-port 30004,30104 --net-bo-port 30005”
JSON_OPTIONS=“–json-location-accuracy 2 --range-outline-hours 24”

Ok so you did install readsb, previously you said you install dump-fa, this is why I was trying to figure out what instructions you followed so I knew which software you used.

Yes my bad. First I had Dump1090 and I configured and I saw no change in gain. I removed it and I saw no effect on my feed. I installed dump1090-fa but no luck again to change the gain. I am very new to this and my knowledge is very limited. I must have installed readsb sometime I don’t really remember :smile:. But know I reduced the gain to 29.7 and my coverage is 260km with LNA. Thank you for your help.
By the way I finally opened all txt files one by one to see something familiar to the gain setting :smile:. Very basic but it worked.