Here, I’m using a PiAware 11 setup (RPi 4B 4GB + Pro Stick + 1090MHz cavity filter). I’ve installed it, but I’m not sure how to configure the gain, which was previously set to 40.2. Right now, I’m testing these values: lna_gain = 8, mixer_gain = 11, and vga_gain = 7. I also enabled the -q filter (enables IQ FIR filter with integrated taps). The stream1090.service is running with these parameters: ExecStart=/bin/bash -c ‘/usr/local/bin/stream1090 -s 2.56 -u 12 -q -d/etc/stream1090/rtlsdr.ini | socat -u - TCP4:localhost:30001,retry=100,interval=2’.
From my understanding, if you have not enabled the RTL SDR gain controls during the build, you would just set the gain setting as you previously did. The individual settings are only active if you have enabled them during the build.
cmake ../ --fresh -DENABLE_RTLSDR_BLOG=1 && make
So just setting gain = 40.2 in your rtlsdr.ini should give you the same amplification as before.
Hope this helps.
I forgot to mention, but I enabled that option (thinking it would be easy, like it used to be).
Oh, Ok, then in the rtlsdr.ini boilerplate it lists the equivalent settings for gain and the individual gains. I have copied it below. So for your previous 40.2, the individual gains would be lna_gain = 11, mixer_gain = 11, and vga_gain = 8
Hope this helps
Gain (dB) | LNA | MIX | VGA |
--------------------------------------------
0.0 | 0 | 0 | 8 |
0.9 | 1 | 0 | 8 |
1.4 | 1 | 1 | 8 |
2.7 | 2 | 1 | 8 |
3.7 | 2 | 2 | 8 |
7.7 | 3 | 2 | 8 |
8.7 | 3 | 3 | 8 |
12.5 | 4 | 3 | 8 |
14.4 | 4 | 4 | 8 |
15.7 | 5 | 4 | 8 |
16.6 | 5 | 5 | 8 |
19.7 | 6 | 5 | 8 |
20.7 | 6 | 6 | 8 |
22.9 | 7 | 6 | 8 |
25.4 | 7 | 7 | 8 |
28.0 | 8 | 7 | 8 |
29.7 | 8 | 8 | 8 |
32.8 | 9 | 8 | 8 |
33.8 | 9 | 9 | 8 |
36.4 | 10 | 9 | 8 |
37.2 | 10 | 10 | 8 |
38.6 | 11 | 10 | 8 |
40.2 | 11 | 11 | 8 |
42.1 | 12 | 11 | 8 |
43.4 | 12 | 12 | 8 |
43.9 | 13 | 12 | 8 |
44.5 | 13 | 13 | 8 |
48.0 | 14 | 13 | 8 |
48.3 | 14 | 14 | 8 |
48.8 | 15 | 15 | 8 |
49.6 | 15 | 14 | 8 |
I just changed the values(40.2 | 11 | 11 | 8), and on both the graphs and the SkyAware dashboard, the weakest signal jumped to an RSSI of -24. I’m skeptical about this table: why do all the VGA values boil down to the number 8?
I once again changed the LNA + MIXER + VGA values.
[rtlsdr]
device_index = 0
lna_gain = 8
mixer_gain = 12
vga_gain = 8
net_raw_connect = 127.0.0.1:30001
One particular detail I noticed is that changing the VGA variable’s value automatically raises or lowers the entire signal range (affecting both strong and weak signals). In my case, when I tested VGA = 4, the weakest signal on the graphs showed an RSSI of -46.
This is a table showing “good” signal levels based on the aircraft’s distance. It is in Brazilian Portuguese, but any English speaker can understand the values regarding miles/distance. I am trying to fine-tune my setup using it.
This is a snapshot of what I achieved with these values: lna_gain = 8, mixer_gain = 12, vga_gain = 8.
Bom dia,
so quickly, i do not want this thread to blow up again. Two things here:
- Have you fined tuned your setup using the normal gain control with
-DENABLE_RTLSDR_BLOG=1? I have the impression that the rtl-sdr-blog fork behaves slightly differently than librtlsdr. - Regarding the table:
This table is what the blog fork is doing when setting the gain to whatever value.
I do not know why they are doing that. They will have their reasons.
That is basically the purpose of VGA.
Please also read this:
For those who had problems in the past with stream1090 taking too much CPU on a single core: There is now an experimental multicore branch. This is still very much WIP and therefore not part of main.
Yea, multicore branch is fun. You probably want to switch to main. I will try to merge the multicore in the next 1-3 days. Main is ahead and going. I am no longer alone. And things are moving fast.
Hello mgrone, and thank you for your great work on Stream1090!
I am a beginner in ADS-B tracking. My current setup is quite humble: I’m using a DIY coffee can antenna hanging by the south-facing window of my second-floor indoor balcony, directly connected to an SDR dongle and an older Linux PC.
Surprisingly, it manages to pull in aircraft over 100 NM away, but because of this indoor DIY antenna setup, I still get quite a few fragmented messages and planes without position data in the list.
I was wondering: with Stream1090’s CRC-based framing approach, is there a good possibility that it could help decode these weak or tricky signals better than traditional decoders for an indoor DIY setup like mine?
I would love to test it out and share my feedback if it can help squeeze out a bit more performance. Thank you again!
Please refer to the manual that is on Github. Stream1090 is easy when it comes to give it a go since it seamless integrates into what you already have. Plug it inbetween and give it a try. However, what really boosts stuff is a proper antenna. I started over a year ago thinking i am the smarty pants. But 40km went to 400km range over time.
Thank you for the friendly advice and the chuckle!
You are completely right about a proper antenna, of course. However, as an old-timer who prefers exercising the gray matter over the wallet, my personal aesthetic is to squeeze every last drop of performance out of free software and ingenuity. Spending zero dollars and pushing code to its absolute limit is half the fun for a retired hobbyist!
I will definitely check out the GitHub manual and try slipping Stream1090 into my pipeline to see how much more “juice” we can extract. Thanks again for your awesome work!
You do not a fancy expensive antenna. Get an idea where the signals come from. If they come from all over the place, you probably need a ground plane antenna. This is straightforward and is easy on the bank account. Reddit - Please wait for verification
Just make it 4 legs, not 6 legs.
4 legs is easier to tune (or not tune at all). The radiator needs some tuning, you do want solder that one completly, because if you are short .. well
Haha, you caught me! To be honest, I started by looking up multi-stage linear amplifiers on YouTube, but since I don’t have a 1090MHz measuring instrument, I thought about building a GP antenna. Along the way, I got creative and thought, “Why not use a coffee can as the radial instead?”, and that’s how my current setup was born!
So, how much better would a proper GP antenna actually be compared to my coffee can? I know the best way is just to try and see… but honestly, tweaking software with Gemini is so much easier than climbing up to fix antennas!
I might eventually give a proper GP a shot, but for now, let’s see how much more juice Stream1090 can squeeze out. Thanks again for the fun chat and advice!
Haha, thanks for the great tip on 4 legs!
However, I must confess a more serious constraint than my wallet: the safety of this old timer! Being banned from climbing up high ladders outdoors, my setup must live hanging by an indoor window.
Within that strict “indoor window” zone, wouldn’t a proper GP and my legendary coffee-can radial perform pretty much the same anyway? (Or at least, that’s what I’ll keep telling myself while tweaking software!)
I really appreciate the friendly advice. Let’s see how much magic Stream1090 can work on my indoor setup!
Thanks for all the great tips!
I’ve successfully built it, but as they say, “If it ain’t broke, don’t fix it!” Since my current 24/7 setup is running smoothly, I think I’ll pause here and carefully plan my next move so I don’t break a working system.
Thanks again for the awesome work and the fun discussion!
Same case as mine.
![]()
Try this DIY Antenna. I made it 10 years ago. Gave good results indoor near a window.
(1) QUICK SPIDER - No Soldering, No Connector
This one I made 6 years ago
(2) V-Stub Quick Spider made of RG-6 coax only - No connectors.
That’s so true. As you pointed out, location and height are everything in ADS-B reception—no antenna can beat the limits of line-of-sight.
Since I’ve already set mine up on my second-floor roof (pulling in over 150 NM!), I’m completely satisfied with how it performs. For those restricted to indoor environments, tinkering with clever designs like the V-Stub must be a fun way to try and squeeze every last drop of performance out of a tough spot!
That is partially true and partially an urban legend. 1 Ghz is very bouncy. I am doing >300 km without any line of sight by using the building at the opposite side of the yard as reflector. My line of sight is about 40km @ FL360. The antenna is surrounded from 3 sides by walls. My field of view is about 120°.
Edit: My balcony is facing east in a ground floor appartment.






