Using a Bias-T powered LNA with the Sensorgnome V2 software

Background: I made 9x LNA+SAW filter devices for 166Mhz and am finding that they make RTL-SDRs perform better than FUNcubes (FCDs). I’m sending most of them to folks who can test them to see whether I’m hallucinating or whether they actually work as I observe. If they prove to work, I’ll see how to get more made.
See also: RTL-SDR vs. FUNcube


  • LNA w/filter powered by a bias-T, i.e. through the RF connector
  • RTL-SDR dongle with bias-T power, e.g. v3, v4, or Nooelec NESDR SMArTee
  • Raspberry Pi with Sensorgnome V2 RC15 or later, or 2024-157 or later

Hardware installation

Most LNAs seem to come with SMA connectors and most antennas come with a female N-type connector. The ideal placement of the LNA is right at the antenna which can be done either with an adapter or a short coax, the main considerations being weatherproofing and strain relief.

The LNA can also be placed right in front of the RTL-SDR, this is easier but doesn’t allow the LNA to compensate for the cable & connector losses.

Software installation

The Sensorgnome V2 software needs to be configured to enable the Bias-T in the RTL-SDR using the command-line (unless the RTL-SDR in use has an always-on Bias-T like some of the Nooelec ones). For this ssh into the Sensorgnome (user gnome) and edit /etc/sensorgnome/acquisition.json (e.g. nano /etc/sensorgnome/acquisition.json). You should make two changes/checks: enabling the bias-T, and setting the SNR threshold to 6dB. Possibly also reducing the tuner gain, more on that below.

In the file the “plan” for RTL-SDR starts around line 10:

  "plans": [
      "key": {
        "port": ".*",
        "devType": "rtlsdr"

Enabling the Bias-T

The device parameters “devParams” start a few lines below that, scroll down and look for the “agc_mode”, which may be followed by a “bias_tee” setting or not (depends on fresh install vs. upgrade). Edit so this looks as follows (watch the commas after the }, the indentation is not important, however):

          "name": "agc_mode",
          "schedule": {
            "type": "Constant",
            "value": 0
          "name": "bias_tee",
          "schedule": {
            "type": "Constant",
            "value": 1
      "raw": {
        "enabled": false,
        "chunkMinutes": 0.5

A value of 1 enables the bias-T and 0 disables it.

Setting the minimum detection SNR to 6dB

The above is immediately followed by a “plugins” section with some “params”. Look for “minsnr” and ensure the value is 6:

              "name": "minsnr",
              "value": 6

A few lines below that you should see the start of the “funcubeProPlus” section: time to save your changes and restart the Sensorgnome software. You can type sudo systemctl restart sg-control or hit the grey “restart” button on the software tab of the web interface.

Tuner gain

Ignore this section for the first test…
The default tuner gain for RTL-SDR is set to 40.2dB in the acquisitions.json file (near the start of the rtlsdr “devParams”):

          "name": "tuner_gain",
          "schedule": {
            "type": "Constant",
            "value": 40.2

This should be modified in two cases:

  • If you use an RTL-SDR with an E4000 tuner (e.g. NESDR XTR) you should change the gain to 34 or 42 as that tuner doesn’t support 40.2
  • If, after installing the LNA, you see the noise level to be higher than about -35dB then reduce the gain until it’s in the -45dB to -35dB range


The first test is to ensure the Bias-T is working: the LNAs I built have a red LED shining through a tiny window in the copper foil cover, when it’s lit it means the LNA has power.

In order to test the effectiveness of the LNA you will need a test tag and some form of A/B comparison. The A/B comparison can be performed by swapping out hardware or using an antenna splitter. An antenna splitter divides the signal between two receivers so they get the “same” signal and can be compared. I put same in quotation marks because the two receivers can influence each other so it’s important to use a splitter designed for this type of comparison and not a random TV antenna splitter.

The initial test set-up should have the test tag placed at a distance or off-axis such that the web UI shows the pulses consistently and with an SNR between 10dB and 15 or 20dB. Recall that if the SNR drops below 6dB the pulses are no longer recognized (that’s the “minsnr” setting). If you compare RTL-SDR with vs. without LNA, or RTL-SDR with LNA vs. FCD w/out LNA you should see the set-up with LNA have slightly higher SNR by ~2-6 dB.

Warning: if you use an electrically shorted antenna without the LNA you have to turn the bias-T off, otherwise the antenna will short the power supplied by the RTL-SDR. You can check this with a multimeter: measure the resistance between the antenna’s coax center conductor and shield (outer part of connector), if it’s less than 1K Ohm it’s shorted and you need to turn the bias-T off when not using the LNA; if larger then it’s not shorted, i.e. it’s OK to leave the Bias-T on.

The real test is to travel and place the test tag on-axis at a distance where the pulses barely register. At that point the set-up with LNA should maintain high SNR and with the tag placed a little further the set-up without LNA should stop showing pulses while the one with should continue to do so.

The following screen shot shows some of this in action. The green traces are for RTL-SDR + LNA, the blue for FCD. From 8:10pm to ~8:50pm I had a test tag placed off-axis so it came in at about 14-15dB SNR for the RTL-SDR and around 10dB for the FCD. Between 8:50 and 9pm I moved it around to find a little worse position and the RTL-SDR continued to pick it up with 8-9 dB SNR while it dropped below the 6dB threshold for the FCD.

The lotek pulses and lotek tag detection graphs mirror these findings. In the first position both receivers got the same pulses and in the second position only the RTL-SDR got the pulses.

The background noise level for the RTL-SDR was around -42dB the whole time, which is within the target range of -35 to -45dB.

Specs for TvE’s LNA-SAW

  • dimensions: 60x28x9mm
  • gain: 15dB
  • passband: 159-167Mhz
  • power: 3.2V-5.5V via coax output-side
  • consumption: 33mA
  • indicator: red power-on LED (indicates that Bias-T is working)
  • shielding: copper foil + PCB ground plane
  • weatherproofing: none


  • For outdoor installation, e.g. at antenna, I would wrap connectors and LNA in self-adhesive neoprene tape and then good electrical tape. I’ve looked at housing options and have not found anything convincing. Ideally the LNA would also have a male N-type connector for direct antenna attachment but those are difficult to find and seem to cost more than the rest of the LNA…
  • The PCB has pads for direct power input (instead of powering via the coax using a Bias-T), contact me for details.

Hi Thorsten, this is all very exciting.

I’ve given several Motus presentations to local nature groups and ham radio clubs. Everyone quickly sees the value in Motus tracking and many would like to install their own station but once I mention the cost of a typical station the “many” quickly turns to “few”.

Reducing the cost by using RTL-SDR’s would help reduce the “sticker” shock.

My hope is that a pre-amp just might give a simple single omni-directional antenna (say a homemade J-pole) enough range to be rewarding for the “enthusiasts” crowd with a much lower station price point.

Next month I should have some time for testing. If you have any remaining pre-amps for testing please let me know, I’d like to help.

Good fun for retired guys.



Please PM me your mailing address and I’ll send you one. That’ll leave one for whomever is willing to put some time in to test this thing.

Excellent, done.

1 Like

I am on a similar path. I built two sg stations using the cheaper SDR’s on amazon. One of them I plan on running in my car the other one I gave to Kankakee Sands. The problem I have is testing them from antenna to Birds Canada account. prior to my build I got quotes for these units and was surprised how much they charge for the commercial units and antennas. Don;t even ask me on my thoughts about the cost of a test tag. I have come to the conclusion that the assumption that everybody makes is that the money to build a station is grant/government as opposed to a citizen supporter of the idea. I was thinking it would be nice if we can make an adafruit dongle to replace the funcube dongle, similar to what was done for the ctc dongle.

1 Like

Agreed, but I also understand the prices somewhat. The manufactured PCB for a tag is ~$20-$30 but then there’s still some fiddly manual labor for final assembly (solar, battery, antenna), real testing, and programming/configuring. And then there’s all the R&D costs and especially support costs to amortize over a relatively small run. Add stocking and distribution costs plus some profit and it sums up and you end up with the prices you see.

This being said, there are lower $$ alternatives, which means that you provide labor and don’t get some of the above benefits :nerd_face:. For example, the adafruit feather could be turned into a CTT+Lotek test tag. I have all the details but someone would have to do the arduino hacking for that board. I just have too much on my plate but I’ll get to something similar in a few months I hope.

The receiver is a different story. The CTT tags use standard FSK modulation so actually a variety of transceivers can be used. The Lotek tags, however, use very custom pulse-position modulation. Hence the use of SDRs. The RTL-SDRs are probably about as good as it gets, except for the power consumption (incl. USB and host CPU processing). I believe a receiver can be made using Ti’s CC1200 transceivers but that would be a project. (We’re getting a bit off-topic for this thread…)