RF product - moRFeus - frequency converter and signal generator


no, its not about the directory. Linux does not give raw device access to moRFeus to non-root programs. For morfeus_tool to be able to talk to moRFeus, it needs to run under sudo. If you run it under sudo and moRFeus is connected to the computer, it will print out its help text as shown in the pdf.


First of all, I am really impressed with the CCNC milled case. It is completely awesome *****

Yes, I finally had some time to hook up moRFeus.

Here’s my “Hello World” on moRFeus. I’m up-converting 106.9 MHz with an LO of 1000 MHz to 1106.9 MHz.

–Konrad, WA4OSH


My hello world with my morfeus.

Wifi usage on 2.4Ghz

LO set at 2.4GHz



Explain your setup. Your LO is set to 2.4 GHz and you are receiving Wi-Fi on?

–Konrad, WA4OSH


Can you instead set your LO to 2GHz? You should then be able to see wifi at 400 MHz with your spectrum analyzer.



It’s a morfeus connected to an airspy r2.


It seem less clean at 2GHz LO.




The powershell script as promised.

Please make sure the exe is in the same directory as the script.

Write-Host “This is a frequency sweep script for moRFeus - Test”

$startFreq = Read-Host -Prompt ‘Please enter start freqency in MHz from 0.040 - 6.0GHz’
$endFreq = Read-Host -Prompt ‘Please enter stop freuqencyin MHz from 0.040 - 6.0GHz’
$DateStart = Get-Date
$fileExe = “.\morfeus_tool_win32_win64.exe”
$sleep = [double] (0.0000001)

$MsF = ( [double]$startFreq * 1000000 )
$MeF = ( [double]$endFreq * 1000000 )
& $fileExe Generator
& $fileExe setCurrent 1
Write-Host “’$DateStart’ moRFeus has been called with ‘$MsF’ and ‘$MeF’”

While ($true)
For ($i=$MsF; $i -le $MeF; $i=($i +50000)) {
#we jump with 50000Hz steps

  & $fileExe setFrequency $i
  Start-Sleep -m $sleep
$DateEnd = Get-Date
Write-Host "'$DateEnd'"


morfeus -> Airspy R2
475 - 485MHz “sweep”
Current 1

At the 50KHz step size and sleep size set above it takes 7 seconds for 3MHz to sweep.

CTRL + C to quit the script.

Here is another powershell script for setting the mixer on the fly when the unit is plugged into USB.

Write-Host “This is a mixer frequecy setting script for morfeus”

$startFreq = Read-Host -Prompt ‘Please enter LO freqency in MHz from 0.040 - 6.0GHz’
$current = Read-Host -Prompt ‘Please enter the mixer current 0-7’
$fileExe = “.\morfeus_tool_win32_win64.exe”

$MsF = ( [double]$startFreq * 1000000 )

& $fileExe Mixer
& $fileExe setCurrent $current
& $fileExe setFrequency $MsF



@Syed thanks. I probably should have explained rather than asking the question.

Perfect @Ohan_Smit You got it RF - LO = IF 2400-2483.5 MHz - 2000 MHz = 400-483.5 MHz.

Sure. A frequency conversion is not free. (Conversion loss) It costs in signal level and adds some of its own noise, even if it’s low-noise. But, all of this does two things for you:

  1. You can bring signals down to a frequency range where you can use your A-to-D to digitize it. And,
  2. You can now filter your intermediate frequency with a narrow bandpass filter to eliminate noise on both sides of your signal.

–Konrad, WA4OSH


Hi guys

So there are some UART ports on the board.

What different commands could this possibly have over the morfeus tool that is supplied?

Would this be to directly interface with the EFM8 MCU?



For the users only the USB port makes sense, that used by the morfeus tool too for interfacing with the PC.
The UART is only used during development for debugging reasons.


Do you have an RF on/off function in Morfeus?
Are there any spare GPIO outputs?

–Konrad, WA4OSH


you can put morfeus into mixer mode, it should be safe keeping powered. As mentioned last time no RF on/off function yet. But best is simply plugging off from usb if not in use.

Yes, there are a few spare GPIOs left


Excellent reply, thanks.

Exactly what I was looking for.

I’m not sure if this has been asked, any plans to open source the morfeus source code?

Just curious :stuck_out_tongue:



@Ohan_Smit No plans to open source the code in the near future.


I found something interesting…

LO set at exactly 5GHz, creates wide band noise across the spectrum.
Mixer Current 3
This is morfeus off.

Airspy directly connected to morfeus.

Morfeus switched on

FM 88-108 band stop filter in line…

Perhaps a clue as to how to create a full range sweep lies in the mechanics behind this “bug”?


Increasing this to 5.4GHz LO in generator mode, raises the noise by another 10dB.

Increasing mixer current to 7 increases it further by 5dB

The bandstop filter up close…



If I want to build a transceiver with moRFeus as its core, I would need to command a relay Eg. a Mini Circuits ZFSWA3-63DR+ to normally shunt the moRFeus into a 2W 50-Ohm load so that the DUT does not get RF unless expressively in an RF on condition. This is necessary under normal testing conditions. You don’t want to prevent hot-switching a DUT. I might not want to drive a PA when we are receiving. I may not want to RF on for receiving when frequency conversion is not necessary, etc.

The spare GPIO port would be used to control the relay, which has a CMOS driver in it.
It would be nice to have firmware control over that port.

–Konrad, WA4OSH


Hi guys.
We definitely need a GUI for our moRFeus tool !
So here is my contribution : moRFeus_GUI.
It’s based on the official morfeus_tool and running for Linux.
Now you don’t have to enter your password to send several commands to moRFeus, but just once.
If some of you can take few minutes to test it, thanks.
Hope you will enjoy.



excellent! thanks for sharing!


Well done :slight_smile:

Thank you