This is a pretty standard setup many QO-100 operators use. I was only interested in using the narrow-band repeater so I set myself a goal to get about 3-4W output power (when fed into a POTY directed into a satellite dish, this power level should be sufficient).
An easy way to achieve this is by using the popular EDUP 8 W WiFi amplifier. There's an excellent article written by M1GEO with very useful hints, in particular I recommend the PTT modification. According to the same article, the output power of LimeSDR Mini at maximum gain is about -1.6 dBm (I lack equipment to measure this level of power @2.4GHz so just have to trust M1GEO's word :-) ).
My measured EDUP WiFi PA gain is about 14 dB (M1GEO got a close result, 13 dB). So, to get the desired 4 W (36 dBm) we need about 24 dB gain, taking into account the 2.4 GHz filter (NMRF FBP-2400) loss is about 1 dB.
Some time ago I purchased several Qorvo SPF5189Z modules on a popular auction site. According to its data sheet, at 2.2 GHz its gain is just under 12 dB (this is the closest match to our frequency, although the component itself is rated 50 MHz - 4 GHz). With its P1dB at 22.7 dBm, I reckoned, it should be just about possible to cascade 2 such modules and get to the desired power. In my tests I was able to get about 2 W output with such setup but I had to set the LimeSDR TX gain to the maximum. I was afraid this would result with nonlinearities in the amplification chain so in the end I used a CN0417 evaluation board as the second stage.
All 5V devices are fed by an automotive 12-5V switching mode PSU. LimeSDR Mini is powered by Raspberry Pi USB3 port it is plugged in.
Fans, fans everywhere...
While testing it, I placed my prototype in a metal enclosure. Everything was fine while the lid was open but with the lid on and without ventilation the internal temperature quickly reached in excess of 50C, so I promptly added a small 12 V brushless fan.
SDR is very CPU intensive. Even with the largest passive sink I could find for Raspberry Pi after only about a couple of minutes' running any SDR software, the CPU core would reach in excess of 80º C. At that temperature the CPU throttling kicks in (various clock speeds get reduced) in order to avoid thermal damage to the CPU. Raspberry Pi Fan Shim has proven to be a cheap and effective solution that keeps the CPU core temperature up to about 70º C.
Note if you're planning to use M3 screws to affix it to the Raspberry Pi 4 PCB, you'll find the Fan Shim holes just a little bit too small (but this is nothing that can't be solved by carefully expanding the holes using a 3 mm drill).
LimeSDR Mini fan
This one caused me a lot of head-scratching. When I finally managed to get full-duplex TX and RX gnuradio flowgraph running, sometimes after a few minutes a strong and stable received signal would simply vanish: straight lines on the waterfall would suddenly start curving and disappearing into the noise. Sometimes the signal would recover from this, most times it wouldn't. I tried another set of USB3 cables, lowered the Gnuradio flowgraph sampling rate, recompiled the gr-limesdr drivers, all to no avail. At one point I was even resigned to using a cheap SDR dongle for RX, just to get something running. And then it dawned on me.
There is an unpopulated fan connector on LimeSDR Mini PCB. I was wondering if the root cause of my problem was LimeSDR Mini overheating, so I purchased a small (advertised for Raspberry Pi) 5 V fan. No sooner had I installed it did my problems disappear and I was able to enjoy full duplex RX and TX.
Continue reading in Part 3 >>