RF product - moRFeus - frequency converter and signal generator


ehh… maybe GPS or NTP calibration would be a nice to have, not sure if the on board tcxo enough or not in real life tests.

WsprryPi use NTP calibration via internet: https://github.com/JamesP6000/WsprryPi


Here’s the WSPR Spec (Roughly).

You pretty much need a GPS-disciplined reference oscillator to maintain very accurate frequency and message start/stop timing.

Right now, there are no stations on 1296, only 5 stations up on 432 and quite a few on 2 meters. There is no 4 meter band here in the US.

I have RFphobic neighbors. They have panic attacks if they even see an antenna. Everything their neighbors do is their business.

Nevertheless, it would be interesting to see if I could make the twenty miles across town on 1296.

–Konrad, WA4OSH


You might like this document that reverse engineers how the four tones are used to transmit a wspr beacon of 162 symbols of information at 1.46Hz shift. Each tone lasting for 0.683 seconds. It takes 110.6 seconds to send out your position.



It might be interesting if I can receive the Amateur Television signals on
Western Washington Amateur Television Society

a fast-scan NTSC television repeater that serves Seattle area …

434 MHz Input - Horizontal Polarization
1253.25 MHz Output - Vertical Polarization
Greater Seattle Area, Washington

Maybe I can use my L-Band patch antenna into moRFeus into an RTL-SDR dongle, looking for the signal on an unused VHF TV frequency.

Maybe I will need an LNA in front of moRFeus. Maybe a small loop yagi or something.

If all that works, maybe I can find a TV or some dongle for my laptop that will receive the signal to produce a picture.

–Konrad, WA4OSH


However convenient, not necessary to use a GPS reference clock if you have a good TCXO (or the NTP calibration as James Peroulas did in RPi). I done a few things in WSPR and used for a few years in various ways.

And to go into “black magic details” not only the long term stability what matters but also the very short term fluctuation too due to the extreme narrow band modulation. I had very interesting conversation once with Hans Summers from QRP Labs and he described his experiments with his OCXO (oven compensated) for 2m and above WSPR bands.

Yeah, I know 2m and 70cm is quite exotic now in WSPR. However building a good transmitter not necessary helps making it more popular as still the receivers needs to be compliant (hopefully general ham radios can do the decoding with their TCXO references but I never dig deeper into this topic).


I guess the trick is to know how good is good enough. How rock-solid does your frequency reference have to be.

By the way, a scrap HP 435B wattmeter (without the expensive RF sensor) has in it a very stable OCXO running at 50 MHz. Not only is it a rock-solid 50 MHz, but it’s precisely set to 0 dBm. It’s totally worth the $20 for that part alone.

I restored a little fancier HP438 by fixing its power supply and fan. The HP8482H sensor was not cheap.

–Konrad, WA4OSH


I had thought of using the L-band dreamcatcher for the gps part of a GPSDO since it had all the saw filters near the gps signal. (maybe I should have posted this in the forum on the DC V2.03). But the purpose was to generate a reference 10MHz with 1 pps accuracy. I have access to some test equipment that can accept a 10Mhz input.

I kinda put it on the back table. But it brings up the question of entering a correction into the moRFeus. (or using it as the reference signal). I didn’t see anything in the menus for building a table of correction values… or to do it dynamically.

I guess in mixer mode I could determine a correction when I applied a calibrated reference signal. Then at least I would know the correction factor at that frequency. Since the moRFeus has several internal Freq bands based on the desired generated frequency, it would imply a correction factor that followed the step changes in the internal oscillator.

So the real question is, Are the various step bands within the moRfeus known and are they fixed ?

UPDATE: Do clarify my question — I thought that as the vco requested frequency was changed, that it had to recalcuate it’s internal dividers and known temperature compensations. I thought it might be in fixed steps.


Yes, we talked about re-purposing a DC2.03 into a GPS receiver for frequency reference. I had found the reference, but then never made one. I was too busy with getting my DC3.0 going.

Are there step bands in moRFeus? I got the impression is it was a continuous broadband tune.

–Konrad, WA4OSH


Thanks for the nice code in Github. I will compile it and try it for myself.

Although, I’ve programmed in Python, I’ve never worked with Qt before. I hope you don’t mind if I ask your help.

Nice front panel…


–Konrad, WA4OSH


Hi Ohan,

  • Got it to work this morning on Linux Lubuntu 32 bits applying last README. :smiley:
    Compilation was very long but successful.

  • On the Raspberry, I tried again but still unlucky. Compilation of hidapi took one hour (not a joke), and succedeed, but still stuck at launch :

~/moRFeus_Qt $ sudo python moRFeus.py

Traceback (most recent call last):
File “moRFeus.py”, line 179, in
device = window.initMoRFeus()
File “moRFeus.py”, line 51, in initMoRFeus
device = hid.device()
AttributeError: ‘module’ object has no attribute ‘device’

try.py” python script from hidapi sources says it’s OK :
python try.pyPreformatted text

interface_number : 0
manufacturer_string :
path : 0001:0006:00
product_id : 60105
product_string :
release_number : 256
serial_number :
usage : 0
usage_page : 0
vendor_id : 4292

I’ll try tomorrow from a fresh install ! Regards.


Hi again.

I just updated the raspberry script for moRFeus_GUI
Install is now automatic. See instructions and screenshots on github here.


Hi there

It a pleasure, this is my first solo project(5th day with Python) and I find it quite fun to play with this device, I have some pretty awesome things I am incubating atm…

You are more than welcome to ask for some help, I would gladly provide it :smile:

This is the current version that I would push soon.


I’ve also overhauled the project and redid most of the README to have all the steps 100% correct.

This would also now install as a Python Package.

It worked on my Raspberry Pi 3B this morning, so it should work on ARM going forward.

Have a lekker day!




Yes, that is because of my lackluster README with the previous commit. . . :frowning:

@LamaBleu thank you for being a great tester!




@LamaBleu thank you for being a great tester!

Also thank you, we are on the same boat: the only difference is you speak python when I speak bash :smile:


Check this out… You guys are famous!
RTL-SDR article

–Konrad, WA4OSH


Yes we know for the article :wink: we know we are famous also :rofl:

In the meantime I pushed two hours ago the latest release on my github repository .
It’s well tested on Linux, RPi platforms with automatic install.
No plan to add more feature at this moment, reached my goal.

Edit 26/04 : once again we have an article about moRFeus on rtl-sdr.com blog . And as usual Ohan and myself are sharing the same post :wink:


Installs and runs nicely on 64-bit Linux Mint. Thanks!

–Konrad, WA4OSH



Ive update the repo again :slight_smile:

I’ve packaged the tool and will upload the dist to PyPi once the servers are back online.

The tool should work on all platforms, unfortunately I don’t have a Mac to test.

Installation has also been simplified a lot.




The windows instructions seem a little problematic;

I got windows python 3.6.5 shell emulator installed,

the link for qt4 is broken, I used https://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.4/

but it wants python 3.4… still troubleshooting.

Update: using windows “debian” I seem to able to proceed with the linux install instructions
use lower case python3-pyqt4 for the debian respository


For the next 24hrs, you can access the live demo of moRFeus_GUI in real situation : installed on Raspberry Pi3 , moRFeus device running, and link established to GQRX running in background (but not playing).

From a linux computer (running X-session, not from ssh console) run from terminal console :

ssh -XC -p 4066 moRFeus\aat\adsb/d0t/lamableu/d0t/net

(from the above line you have to replace \aat\ by @ and /d0t/ by you know what )
answer ‘yes’ to the SSH security question and password is Outernet (with O = upper case).

Note 1 : running from remote location (with my poor upload b/w) will bring latency, and it works faster in real situation.

Note 2: I don’t know if 2 or more people can connect at the same time ! Take a ticket if busy, thanks.

Note 3: Windows users I’m sorry but you have to install third-party software :stuck_out_tongue_closed_eyes: I remember Xming can do it.