Git Product home page Git Product logo

librevna's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

librevna's Issues

Device lockup when Ref: ext

Hello Jan!
While consolidating reference widgets, I found when Ref: external is selected, the whole device locks up and traces stop drawing. At the same time, internal temperatures are stopped with 95/95.deg in logwindow, which is obviously a false reading. Anyway the only way out of this is to disconnect the usb cable or switch (example) to signal generator, enable/disable port 1, and go back to vna. Strange, is it not? :)
I am suspecting the pll's or something are getting locked up due to missing clock, so maybe unable to communicate with fpga. Sorry, I'm just guessing here. :) But still the mcu works on it's own clock (I believe it's using HSI) and communicates with the PC, so we should be able to recover easily. I'm sure you already have a solution in your mind.

Zoran

SIUnitEdit goes blank

Hello!
Just a smal notice here, nothing critical: if you click to the left of the most significant digit within SIUnitEdit and roll the mouse, the field goes blank. Still it seems to update (on the default 3rd digit) but the content is invisible. Only after clicking on another SIUnitEdit, or one of the docks, it becomes visible again.

Request R + jX as a function of frequency

For impedance matching it is sometimes valuable to see a graph of R + jX as a function of frequency.

This is for S11 measurements.

This should be a simple matter of slicing the existing data in a different way.

BTW, thank you for having a working OSX port. So often projects pay lip-service to OSX support, without really delivering.

Implement outlier removal, in addition to averaging?

At low frequencies the errors in impedance measurements seems less like smoothly distributed noise, and more like spike noise. Averaging helps to reduce these measurement errors, but only so far. My instinct is that if the code removed outliers then the results at low frequency would be dramatically cleaner. I've attached a screen shot demonstrating the issue that I'm referring to.

It might be as simple as taking N measurements and removing the two highest and two lowest data points. My suspicion is that would clean things up dramatically.

The attached figure is showing R + j*X as a function of frequency.

Screen Shot 2021-10-13 at 11 48 15 AM

New Feature Suggestion - 2-port TDR

I'd be interested on thoughts for enabling Time Domain Reflectometry post-processing - probably wont see useful bandwidth above 3GHz, but that's probably enough for most people who buy this device.

Software (PC_App) build fails due to libusb-1.0 dependencies in QT5

Hello Jan,
Thank You very much for sharing this great project,
Could You, please, give some comments about details of QT5 Development environment setup, especially how should the libusb-1.0 files be installed in the QT5 ?
I have encountered a following problem while trying to compile the PC software in QT5.12.10 (using the MinGW73_64 compiler) under Windows x64:
"./../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lusb-1.0
collect2.exe: error: ld returned 1 exit status
mingw32-make[1]: *** [Makefile.Debug:581: debug/Application.exe] Error "

It's not obvious from the compiler error log why did the software build fails due to errors with libusb-1.0 included files installation.
I have tried to follow the recommendations and have copied all the libusb *.a files from Libusb-1.0 archive as the instructions says:
"MinGW/cygwin:

  • Copy libusb.h, from include/libusb-1.0/ to your default include directory,
    and copy the MinGW32/ or MinGW64/ .a files to your default library directory."

May be I am doing something wrong, or have set up the compiler environment paths incorrectly, or have missed a '-lusb-1.0' linker option when compiling ?
Any advice would be appreciated, sorry for a messy questions.
Thanks!

Board file seems corrupt

Hi,

The .brd file in hardware folder is less than 1MB which means its incomplete/corrupt. Is it supposed to be that way ?

Kind regards
Kiran Kanchi

BOM changelist

First of all, it's really, really great,and thanks for your design and sharing.
After looking at the design, I raised the question of component replacement in order to further reduce costs or improve performance(according to each person's own situation):
1>RFSA3714(50MHz to 6000MHz) to RFSA3713(5MHz to 6000MHz),Package is not pin to pin
or to PE43711(9kHz to 6000MHz) ,Package is pin to pin;
2>QPC6324SR(5MHz to 6000MHz) to PE42420(100MHz to 6000MHz) ,Package is pin to pin;
3>B012-617DB-1-63-B331(10MHz to 6000MHz?) to TCM1-63AX+(10MHz to 6000MHz),B012-617DB-1-63-B331 is EASTEVER BALUN,but I can't find the datasheet,can you provide the datasheet?I would be very grateful!
or
MABA-011082(5MHz to 8000MHz)

Hardware build

Hello again!
I would like to express, again, my excitement with your project! Thanks for this professional instrument.
Regarding the physical build, let me start with several questions. Please have a bit of patiece :-) as there are some parts of the process which I am not familiar with. Tne, kindly correct or add info where needed:

  • you have ordered the board at Jlcpcb?
  • thickness: 1.6mm
  • impedance control: yes, jlc7628
  • surface finish, judging by the photo: ENIG
  • copper weight: 1oz

Then, a few more:

  • if I provide .step files to the metal shop, this is enough to completely produce the shield?
  • finally, and most important, since the board exceeds the free licence limitation for Eagle: if the board design is fixed now, could you please provide the gerber files? Thanks!

Just out of curiosity, did you use Jlcpcb's assembly process or did you populate the board yourself?

SCPI Problems

Hello,
when using SCPI commands I get somehow "ERROR" response for all kind of commands:

  • some commands not working with no working SCPI afterwards
  • saving calibration order loading calibration not possible
  • performing touchstone export multiple times
telnet 127.00.0.1 9091
Trying 127.0.0.1...
Connected to 127.00.0.1.
Escape character is '^]'.
VNA:TRAC:LIST?
S11,S12,S21,S22
VNA:CAL:LOAD "S.cal"
ERROR
VNA:TRAC:LIST?
ERROR



telnet 127.00.0.1 9091
Trying 127.0.0.1...
Connected to 127.00.0.1.
Escape character is '^]'.
*IDN?
LibreVNA-GUI
VNA:TRAC:LIST?
S11,S12,S21,S22
VNA:CAL:BUSY?
ERROR
VNA:TRAC:LIST?
ERROR

further strange errors appear if I try to save or load a calibration, before saving a calibration was loaded in the GUI:

VNA:CALibration:SAVE S

as well as (with T.cal in the same folder as binary)

VNA:CALibration:LOAD T (or T.cal)

chosen "S" as filename as I don't know if ".cal" will be added or not.

third "ERROR" I get, if i want to read out the touchstone-file twice with no other command in between, when I execute "*IDN?" in between the two exports it works.

using version 1.2.1 for PC and Firmware on ubuntu 20.04.

Is there somehow an Error how I use the command set?

New feature suggestion

Hello all,

May is it possible to add an option in Preferences / graphs to increase or decrease the thickness of traces ?
and add a button in calibrations measurements to erase all calibrations in only one action ?
May is it possible when adding a marker in S21 trace for example that others automatically set in the smith chart or other traces ?

Best regards to all
Thank you in advance Patrick F5SUE

Different protocol version warning message

Hello,

I'm receiving error message (see the screenshot below), while connecting LibreVNA through USB 3.0. I'm using latest version of an app - 1.1.2. Do you have any ideas where to find firmware update? Perhaps there are other possibilities to fix this error?

Thanks in advance.

Screenshot 2021-08-19 211007

Software build / toolchain setup - STM32

This is another very low priority issue, or "issue."

Now that I took a dive into the embedded part of the VNA, building the stm32 code will obviously have it's benefits.
I am using the latest STM32CubeIDE, which is 1.6.1.

  • I just tried, once more, to:
    create a new workspace in eclipse
    download a zip archive of the project
    "import existing projects into workspace" (choosing the mentioned zip)

Ok sofar, except a tiny little issue :) Using ctrl-B (build all), I get the message
"Build of configuration Release for project VNA_embedded
Nothing to build for project VNA_embedded"

  • Regarding the .ioc file, it opens after this message
    image
    but regardless of continue or migrate, and generating the code from the wizard (or skipping this step) the problem remains "nothing to build"
    And there is not much to do in the .ioc file, anyway. :)

As I am already handling the git aspect using QtCreator, I need STMCubeIde to just pick up the code already sitting on my disk. In any case, build should have nothing to do with the project being imported from git, or taken from a zip.

Help is appreciated, but again, treat this as VERY LOW priority.
I'm sure you have better things to do and, even though I am always enthusiastic to fiddle with stm32, I don't see myself giving much contribution, as the code looks quite compact and complex. On the other hand, I expected even less in Qt, yet here we are... :) :)

Marker list goes blank occasionally

Hello Jan!
One thing I noticed, sometimes when changing marker type, the marker list goes blank. Then I press add or delete button and the list is refreshed and all markers visible again. This only happens occassionally, most often when changing type from manual to peak table. Tried to find out the cause but I couldn't be sure if it's my pc graphics (running windows10) or a real code issue.
Zoran

LibreVNA not recognized under Lubuntu Linux & LibreVNA GUI 1.2.1

LibreVna is not recognized under Lubuntu 20.04.3

dmesg shows

[  632.474586] usb 1-1: new full-speed USB device number 5 using xhci_hcd
[  632.624029] usb 1-1: New USB device found, idVendor=0483, idProduct=4121, bcdDevice= 2.00
[  632.624034] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  632.624038] usb 1-1: Product: VNA
[  632.624041] usb 1-1: Manufacturer: STMicroelectronics
[  632.624043] usb 1-1: SerialNumber: 2072397D3350
[  882.058219] usb 1-1: USB disconnect, device number 5
[  883.729433] usb 1-1: new full-speed USB device number 6 using xhci_hcd
[  883.879603] usb 1-1: New USB device found, idVendor=0483, idProduct=4121, bcdDevice= 2.00
[  883.879610] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  883.879613] usb 1-1: Product: VNA
[  883.879616] usb 1-1: Manufacturer: STMicroelectronics
[  883.879618] usb 1-1: SerialNumber: 2072397D3350

but LibreVNA GUI shows no device after Update Device list

terminal window where the GUI has been started in shows permission error

./LibreVNA-GUI 
Icon theme "elementary" not found.
     0.020: [debug] Application start
     0.026: [info] Loading preferences
     0.026: [debug] Setting "Startup.ConnectToFirstDevice" is set to QVariant(bool, false)
     0.026: [debug] Setting "Startup.RememberSweepSettings" is set to QVariant(bool, false)
     0.026: [debug] Setting "Startup.DefaultSweep.type" is set to QVariant(QString, "Frequency Sweep")
     0.026: [debug] Setting "Startup.DefaultSweep.start" is set to QVariant(double, 1e+06)
     0.026: [debug] Setting "Startup.DefaultSweep.stop" is set to QVariant(double, 6e+09)
     0.026: [debug] Setting "Startup.DefaultSweep.excitation" is set to QVariant(double, -10)
     0.026: [debug] Setting "Startup.DefaultSweep.dbm_start" is set to QVariant(double, -30)
     0.026: [debug] Setting "Startup.DefaultSweep.dbm_stop" is set to QVariant(double, -10)
     0.026: [debug] Setting "Startup.DefaultSweep.dbm_freq" is set to QVariant(double, 1e+09)
     0.026: [debug] Setting "Startup.DefaultSweep.points" is set to QVariant(int, 501)
     0.026: [debug] Setting "Startup.DefaultSweep.bandwidth" is set to QVariant(double, 1000)
     0.026: [debug] Setting "Startup.DefaultSweep.averaging" is set to QVariant(int, 1)
     0.026: [debug] Setting "Startup.Generator.frequency" is set to QVariant(double, 1e+09)
     0.026: [debug] Setting "Startup.Generator.level" is set to QVariant(double, -10)
     0.026: [debug] Setting "Startup.SA.start" is set to QVariant(double, 9.5e+08)
     0.026: [debug] Setting "Startup.SA.stop" is set to QVariant(double, 1.05e+09)
     0.026: [debug] Setting "Startup.SA.RBW" is set to QVariant(double, 10000)
     0.026: [debug] Setting "Startup.SA.window" is set to QVariant(int, 1)
     0.026: [debug] Setting "Startup.SA.detector" is set to QVariant(int, 0)
     0.026: [debug] Setting "Startup.SA.averaging" is set to QVariant(int, 1)
     0.026: [debug] Setting "Startup.SA.signalID" is set to QVariant(bool, true)
     0.026: [debug] Setting "Acquisition.alwaysExciteBothPorts" is set to QVariant(bool, true)
     0.026: [debug] Setting "Acquisition.suppressPeaks" is set to QVariant(bool, true)
     0.026: [debug] Setting "Acquisition.adjustPowerLevel" is set to QVariant(bool, false)
     0.026: [debug] Setting "Acquisition.harmonicMixing" is set to QVariant(bool, false)
     0.026: [debug] Setting "Acquisition.useDFTinSAmode" is set to QVariant(bool, true)
     0.026: [debug] Setting "Acquisition.RBWLimitForDFT" is set to QVariant(double, 3000)
     0.026: [debug] Setting "Acquisition.useMedianAveraging" is set to QVariant(bool, false)
     0.026: [debug] Setting "Graphs.Color.background" is set to QVariant(QColor, QColor(ARGB 1, 0, 0, 0))
     0.026: [debug] Setting "Graphs.Color.axis" is set to QVariant(QColor, QColor(ARGB 1, 1, 1, 1))
     0.026: [debug] Setting "Graphs.Color.Ticks.Background.enabled" is set to QVariant(bool, true)
     0.026: [debug] Setting "Graphs.Color.Ticks.Background.background" is set to QVariant(QColor, QColor(ARGB 1, 0.0784314, 0.0784314, 0.0784314))
     0.026: [debug] Setting "Graphs.Color.Ticks.divisions" is set to QVariant(QColor, QColor(ARGB 1, 0.627451, 0.627451, 0.643137))
     0.026: [debug] Setting "Graphs.domainChangeBehavior" is set to QVariant(int, 1)
     0.026: [debug] Setting "Graphs.markerBehavior.ShowDataOnGraphs" is set to QVariant(bool, true)
     0.026: [debug] Setting "Graphs.markerBehavior.ShowAllData" is set to QVariant(bool, false)
     0.026: [debug] Setting "Graphs.lineWidth" is set to QVariant(double, 1)                                                                                                                 
     0.027: [debug] Setting "SCPIServer.enabled" is set to QVariant(bool, true)                                                                                                              
     0.027: [debug] Setting "SCPIServer.port" is set to QVariant(int, 19542)                                                                                                                 
     0.027: [info] Listening on port 19542                                                                                                                                                   
     0.096: [debug] Activating mode "Vector Network Analyzer"                                                                                                                                
     0.100: [debug] Access denied (insufficient permissions)                                                                                                                                 
     0.100: [debug] Updated device list, found 0

gui/traces: highlight traces name and markers in plots throughout color boxes

I've been cooking this idea and I think would be really great if we can integrate it into the gui.

Basically instead of showing colored traces name and marker in plots, I guess one neat visual mode is wrap it within a rectangle. Something like this:
image

What I'm not really sure about if whether to add this same approach for traces dock or if it's too overwhelming. Suggestions are super welcome.

JLC only takes gerber or other EDA formats, would you please export one in the project?

Hi,

Thanks for your effort and making it open source. After about a year's free time search online RF projects I found your design is the most doable challenge to begin my journey in RF hardware.

I am very interested in making a small batch of PCBA from JLCPCB. I have previous experience with them and it was successful. After checking the JLC SMT parts catalog, they have the specific FPGA and STM32 chips and most RCL parts, but other ICs I will try a hot gun soldering after most passive parts assembled.

Would you please add a gerber folder and put the gerber files for the PCB? I have read previous talks about the stacking, and I will place the spec accordingly when I place the order.

Something else not sure about the BOM is the "100n, 0402, broadband capacitor (e.g. ATC 530L series: ATC 530104KT16T)". could I just use 50v MLCC from Samsung? (with JLC part# C1525), or any other suggestions or a mouser part# please. I can contact JLC with a specific part if available from mouser in China.

One more thing in this issue is the CNC closure, I can design a 3 parts assembly with a from panel to improve SMC socket grounding contact. Will this effort be worth it?

Thanks.

Crash in marker widget

Hello my friend!
Sorry that I am so detailed :-) I really like your creation and I play with it every day. It's inevitable to find issues. I measured almost everything in my house, including chairs, tables, plumbing in the walls....haha I'm joking, sorry :)

Ok, so please check tracemarkermodel.cpp, It was causing a crash when changing any marker from "manual" to anything else. I had a hard time to determine it's about deleting child markers, when there are none existing. At least I believe this is the reason. I added checks to see if the returned vector is empty (this is supposed to be "null' in case of vectors), and it worked well.
But now I only occassionally get a crash when deleting a parent of a delta marker. For example, when I delete a parent marker (ex. marker 4), the delta's 'pointer' changes to next available, ex. marker '3'. When I delete this, or create a new marker, then delete... etc...play with this several times, it sometimes crashes but I can not reproduce it exactly. For sure you understand your code much better than me, and probably have an idea already. Please check.

One more thing along this route, it would be nice to have a visual indication on which marker is clicked in the tree widget. At the moment, you can't tell which one will be deleted on bDelete. I made it with preference dialog but here I couldn't for some reason. Must be too late in the morning now...
Thanks!
Zoran

Trace export as png, jpg or similar

Hello Jan!
I was away from the project for a couple of months, for having to pursue some work related issue. Sorry for that.
In the meantime, I see you have done a lot of work and I admire what you have done. I have used the VNA many times during that time, to make measurements for my friends who are not into VNAs' and stuff, or just not so technically-involved. One requirement that come up almost every time is, I had to provide the completed measurements in a form of a screenshot.
For someone who does not own the instrument, and has no need to install the supporting PC application, this is really the only option to see the results. I had to make a creenshot each time, depending on my desktop or laptop size, or if the app was maximized or not. So kinda' variable, but still very usefull. Can not deny that. :)
So I was wondering, if it was feasible to:

  • add a png (or jpg) export option? An additional checkmark "also export as png" during the "Touchstone export" dialog would be more than sufficient.
    In other words, I would save and keep the touchstone export in any case (might be needed much later), even if I would send just the png to someone else.
  • Just now it occured to me how a touchstone file contains all four measurements which could not be logically put into a single png image.
    I propose the following shortcut here: provide a single "png" checkmark in the "touchstone" dialog. During the final save-as dialog, you would enter a desired filename and four additional png files like "filename_S11.png", "filename_S12.png" etc would be generated each time. That seems completely functional to me, and still less impacting to the code than adding four separate checkmarks next to each S11, S12... If some traces are not used, it's no big deal to just ignore the png files later.
  • Finally, the exported png, according to my imagination (again :-) ), would be say...3000x4000pix, or anything you consider large enough for inspection by the end user. Since we are dealing with math under the hood, the png can be small or big you imagine, without getting pixelated. The end user can later zoom in/out to a large degree, and not be limited by the resolution of the screen where the measurements were exported. In a few years, today's full hd resolution will probably look ridiculously small. :)

This seems like a nice challenge, except in this case I would not even know where to start, from your code.
If you were doing only this project every day, you would still be very very busy. Therefore, this is just an idea, don't take it too seriously. :-)

Regards,
Zoran

Improvements proposal for future version

I think very nice improvements for a future version will be:

  • To replace the Spartan6 to ECP5/ECP5-5G and use open source tools
  • Add Ethernet with SCPI standard commands (compatible with other VNA ...) as it is very convenient to retrieve S2P, configure the VNA through Ethernet and keep USB of course.
  • Improve the range 30 KHz to 7.2 GHz (if possible without breaking everything)
  • Improve the dynamic range up to 100dB (if possible without breaking everything and keeping it compact like it is today) will be amazing to be on par with some ultra expensive VNA.

FPGA Build

Trying a build of the FPGA source. ISE 14.7 on Ubuntu 18. Rebuilding cores fails with the PLL core https://wiki.archlinux.org/title/Xilinx_ISE_WebPACK had the solution linking to JAVA6. Affter the fix, build succeeds. Something may be wrong, the Clocking wizard indicates input clock of 16MHz and CLK_OUT1 output of 102.4MHz. Elsewhere I see the design indicates a 160MHz clock. What should the FPGA clock be?

New Feature Suggestion - Mixed-Sex Calibration

Folks: I have a Kirkby 85033 calibration kit which has both male and female standards, as do many other kits. I do not see a way in the LibreVNA software to handle a mixed-sex calibration with Port 1 and Port 2 being of different sexes with either a zero-length or non-zero thru. Can this be accommodated by the current ".calkit" file structure and calibration algorithms? 73, Don N2VGU

Software build / toolchain setup - Qt

Hello Jan!
I am having a bit of struggle to complete the build of PC Application. Could you help, please?
I have these installed

  • Qt Creator community version from offline installer
    my help-about is:
    Qt Creator 4.13.2
    Based on Qt 5.15.1 (MSVC 2019, 64 bit)

  • Libusb (from libusb-1.0.23.7z archive)
    Unpacked to c:\libusb and included in Application.pro like this
    win32:INCLUDEPATH += C:\libusb\include
    win32:LIBS += -LC:\libusb\MinGW64 -lusb-1.0
    This may not be the best way but, at least, it has eliminated build errors in Qt Creator for now.

  • Qwt
    Here is the real problem, I think.
    Your Application.pro indicates qwt-6.1.4
    I followed a few simple installation commands from QWT website:
    qmake qwt.pro
    mingw32-make
    mingw32-make install
    I could not get 6.1.4 to compile with mingw 8.1.0 or mingw 7.3.0 (both came with Qt installation. later I removed 7.3.0 to avoid possible conflicts)
    Compilation breaks with errors in so many places I could not count... :-)
    I switched to qwt-6.1.5
    ...
    This compiles with both mingw versions, but breaks further into the "mingw32-make install"

////
mingw32-make[1]: Entering directory 'C:/qwt-6.1.5/doc'
C:\Qt\5.15.1\mingw81_64\bin\qmake.exe -install qinstall C:\qwt-6.1.5\doc\html C:\Qwt-6.1.5\doc\html
Error copying C:/qwt-6.1.5/doc/html/analogclock.png to C:\Qwt-6.1.5\doc\html\analogclock.png: Cannot open C:/qwt-6.1.5/doc/html/analogclock.png for input
mingw32-make[1]: *** [Makefile:416: install_doc] Error 3
mingw32-make[1]: Leaving directory 'C:/qwt-6.1.5/doc'
mingw32-make: *** [Makefile:163: sub-doc-install_subtargets-ordered] Error 2
////

Since these seem related to doc folders, I tried to disregard and proceed:
Added C:\qwt-6.1.5\lib to PATH
Added env variable QT_PLUGIN_PATH = C:\qwt-6.1.5\lib
reboot
Cloned a fresh copy of VNA2 from github.
Qt Creator -> navigate and open Application.pro
But build fails at tracesmithchart.h / .cpp with many errors such as
field 'thinArcsPath' has incomplete type 'QPainterPath'
field 'thickArcsPath' has incomplete type 'QPainterPath'
followed by others, probably as a consequence of that.

I tried some changes in Application.pro but no improvement.
Tried searching the web, but no good results.
Finally I am stuck here.
Apart from the code from github, and my humble attempts, what else is needed externally?
Could you explain more about your tool versions, setup, paths, env variables etc?
Attached my compiler output, if it helps...

Thanks!
Zoran

compiler_output.txt

Feature proposal: over-temperature protection

Jan, another thought on temperatures.
I discussed with Hugen briefly and he assures me that most of the heat comes from the mixers and plls, so any kind of slowing down the acquisition rate would not give any reduction in temperatures. Is that true?

Yes or no, but possible fimware feature comes to my mind:
in case of any dramatic increase of temperature (since we are already measuring), how about an internal shutdown of some kind, to save the device before damaging itself?

LibreVNA logo

Currently LibreVNA project doesn't have any logo that can visually represent it. This causes that when application is used in operating systems like Linux / GNU where the desktop environments (GNOME e.g.) set application icons we will see something like this:

image

I would be really happy to implement this once we have some type of logo if that would be okey on your side @jankae and here is the logo proposal.

librevna-logo

I was kind like visualizing how LibreVNA can be described and that's the result I got based on followings ideas:

  • Use of Smith Chart because I guess that's the de-facto icon that quickly let you know that this project is related to radio frequency instrumentation.
  • Simple and contemporary

I'm not really sure about the colors I chose, I just tried to imagine a combination of colors that can fit with the official board version but for example my LibreVNA has a different solder mask color.

Discrete (Measurement Points Only) or Interpolated (Freely Movable) Markers

It would be useful/convenient to be able to choose between discrete or Interpolated frequency markers. I have noticed that it is disconcerting for some users to key in a frequency and have the marker jump to a nearby measurement point rather than the requested frequency. Others prefer to have the marker step between discrete measurement points.

TRL calibration

Can TRL calibration be implemented as an alternative to SOLT? The standards for TRL are easier to define and fabricate.

New Feature Suggestion - Unkown Thru Calibration Standard

The "unknown thru" calibration technique offered by Keysight is powerful and convenient and can allow accurate measurement of DUTs with non-insertable connector pairs or even different connector types, without clumsy adapter characterization and de-embedding steps.
This would be an ideal feature addition if the VNA architecture allows.

[feature] Logarithmic frequency sweep/display

Hi,
I'd be interesting in an option to perform logarithmic frequency sweeps.
Option 1:

  • Perform a linear frequency sweep (e.g. from 10MHz to 100MHz using 5 points: 10.000 32.500 55.000 77.500 100.000)
  • Display x-axis in xy plot logarithmic (same as in a bode plot)
    --> no changes in the embedded firmware needed

Option 2:

  • Perform a logarithmic frequency sweep (e.g. from 10MHz to 100MHz using 5 points: 10.000 17.783 31.623 56.234 100.000)
  • Display x-axis in xy plot logarithmic (same as in a bode plot)

Any chance, this is going to be implemented soon?
Is it possible to build the PC application without installing the whole Qt development environment?

Possible to lower the minimum measurement frequency?

I have work where it would be nice to get down closer to 50kHz than 500kHz. I suspect that would be a filter change, but I don't know about the intrinsic bandwith of the other parts of the system. Thanks for considering.

SCPI Interface sends LF's on commands that do not return values.

Not sure if this is intended behavior. The SCPI commands I use to configure the VNA return a LF which must be read or these characters in the rx buffer confuse subsequent commands that do return values. See the octave thread in the group.

I wonder if you could add a contributed section of the project in git. Things like the octave example may be useful to others.

Libre VNA on ebay

found some ready made libreVNA on ebay, is this official or another china copyright fringe ?

gui/plotxy: opacity on even y axis ticks

What if we can add an option to set an opacity for all even y axis ticks when using plots in xy, turning into something like this:

image

If someone just doesn't want this feature it all I can add an option to disable it on preferences -> graphs menu if that make sense.

Hardware Schematic/Board conversion to KiCad 5.1.7-1

Your project is just amazing and It will be even better if the Eagle files could be converted (and fixed) to KiCad 5.x
I will check that on my side but anyone interested in doing the conversion are welcome

Reference clock widgets - consolidation

Jan,
what do you think about combining "Reference" widgets like this:
Ref. input with options Int, Ext, Auto
Ref. output with options 10M, 100M, Off
In other words, to remove the checkboxes and leave only dropdown combos with those choices.

Zoran

System dynamic range improvement

In the end, it was only inspired by the nanovna V2 project. The dynamic range of the system can be improved by redesigning the directional bridge. The MMIC-based differential amplifier instead of the balun can reduce the cost and increase the SNR, so as to achieve a faster scanning rate. Simply use an BJT LNA, which is much cheaper than a broadband balun.
I am here to make suggestions, not sure if it is feasible in principle.

board fab from KiCad derived manufacturing files / layer stackup and GCPW

Hello there,

Is anyone having boards made currently? Any going spare? OSHpark quote is $185 US for 3 and I was thinking if I'm lucky I'll only need a single board (!) I'll pay for the fractional cost + shipping.

I see gerbers produced for Macrofab too by the build_all.bat script. The source files are common between the two sets of outputs. This means that no dimensioning of the GCPW is performed based on the fab and do I understand from that, the OSHpark and selected Macrofab layer stackup are identical?

I saw some discussion about pulling back of planes to get the GCPW characteristic impedance correct (at least as calculated without doing the full EM sim). Which values were used for epsilon_r and the dielectric thickness for example? Sorry if this has been covered and I think the answer is that at these tolerances it might not matter all that much.

Idea: 3D-Printed Sheilding

Hi All,

I am quite interested by this project. If shielding has not yet been implemented, why not use conductive filament to 3D-Print shielding plate for the circuit.

The filament, would have to take some heat, so it would seem that conductive ABS would be better than the PLA.

Perhaps even, the 3D print could also be coated with high-copper content conductive paint, to give it just a little more RF shielding mojo.

If there is interest, perhaps I could help, I have Rhino 3D, and am pretty handy with it.

I suppose that making an open-source CNC model would help too.

Take Care,
BrendaEM

Confusing behavior around 1 MHz

I am using the device to measure the complex, frequency dependent impedance of an ultrasound transducer. When I calibrate the system the apparent resonant frequency is at around 1.3 MHz, but when I use the default calibration (uncalibrated) the apparent resonance is around 1 MHz. This matters a huge deal for what I'm doing. I've attached some screen shots.

Note that this transducer was designed for a 1 MHz resonant frequency. I'd expect some variation, but not likely bumped all the way up to 1.3 MHz.

I would expect to see some changes in measured impedance. I would not expect the changes to be as dramatic as they are.

Explanations / insights are welcome.

First image: Measured impedance of the 50 Ohm load, with calibration turned off.

Screen Shot 2021-10-19 at 8 54 53 PM

Second image: Measured impedance of the 50 Ohm load, with calibration turned on.

Screen Shot 2021-10-19 at 8 55 15 PM

Third image: Measured transducer impedance with calibration turned off.

Screen Shot 2021-10-19 at 8 53 39 PM

Fourth image: Measured transducer impedance with calibration turned on.

Screen Shot 2021-10-19 at 8 52 35 PM

Fifth image: Measured transducer impedance from a nanoVNA.

Screen Shot 2021-04-21 at 3 35 56 PM

Ability To Change Scale Of Smith Chart Display

When looking at either high return loss devices or conversely those with negative resistance/reflection gain characteristics which would plot outside of the edge of a normal Smith chart, the ability to expand or contract the scale of the chart display about the center would be helpful. I would suggest that the user input would be to specify the reflection coefficient at the edge of the chart, normally 1. This might tie in with the request for plotting VSWR or Q circles.

As an aside, Philip Smith's firm Analog Instruments, (he would answer the phone himself) used to sell expanded- and greatly-expanded center charts. He or someone else sold expanded low-impedance charts too, useful for RF power transistor matching design, and negative resistance charts for oscillator and paramp design. I do not think there would be much demand for this type any more, however.

Can't export trace as touchstone file

Hello,

I want to export S11 trace to a .s1p file.
But it's not working : any file is created.
When i select a CSV export format, the file is created.

How to reproduce ? Export -> Touchstone -> Select file content -> Select folder (desktop) -> Any file is created

I tried to execute the program as administrator, same thing.

Configuration :
Windows 10 - up to date
LibreVNA GUI - v1.2.1

Where to from here

  1. Are the step files for housing available
  2. If so, will the machined parts work on VNA and VNA2 or are they different
  3. Where can I download the application program that runs on the PC.
  4. I understand this is a beta version in development , so when do you expect a stable release eg 6 months .
  5. I have a small VNWE 3E and normally am using the sub GHZ range for RFID typically center freq of 13.56 MHZ - will your unit work at such a low frequency ? .
  6. If anyone is familiar with the VNWA3 , what beside higher frequency would be the advantage of this solution

Thanks in advance

Export S parameter as file

Hello,

I would like to export the S parameter trace to import it inside QUCS for simulation purposes.
Is it possible at this stage of the software developement ?
I did not found anything inside the docs of inside the GUI.

Thanks

Plot corruption - ratsnest

Hello Jan!
I noticed a strange bug, apparently device in initialization, when switching modes. I was struggling for two-three days to reproduce it, and finally, here is how:
Start app (goes into vna mode)
(possibly switch to spectrum analyzer but sometimes even without this step)
switch to signal generator
enable port 1, disable port 1 (or port 2, regardless)
switch to vna mode

After this:
Graphs become like a ratsnest (attached pics)
Only usb cable (re)connection helps, ie the device needs to be rebooted.
Funny thing, just now, I was back in vna mode, opened the window for manual control, closed it without making any changes, and things are back to normal.

I am not really sure about the followng, but maybe device temperature plays a role. Currently it is 50/59/34, but in the screenshot I took, it was 28/38/21. I want to say, I am swithching modes very very often, and 'torturing' the vna :-) with all kinds of possible and impossible settings. Just this morning, after using signal gen. mode, and back to vna, nothing unusual happened. Several times. And now, after 2-3 hours, I can reproduce it reliably. I noticed this a couple days ago, but back then, I couldn't reproduce it at all. So I am not sure if temperature has anything to do with it.
Just now comparing my notes ;-) and it seems, a couple nights ago, I could not reproduce the issue later during the session. I want to say, at the time I concluded it has to be cold to show the problem. And today it's the opposite. So please, take my thoughts on temperature with some degree of suspicion. :)

I would not consider this a high priority issue, as it happens relatively rarely, and there is an easy way out of it. Just by full init between modes, or a reboot (I'm sure it's lightning fast) and we would never notice it.
I'd try to chase it myself, but my understanding of hardware specifics, registers, and especially fpga, is not enough for independent troubleshooting. Not yet. However, if you take the time for this issue, and have any suggestions and requests for me, I am willing to do anything. :-)

Has anyone else noticed this on their device? I hope other people are reading, too. How are your temperatures under prolonged operation?

Regardless, here is a suggestion:

  • add option in the menu to reboot device, what do you think? Or in the manual control window?

Cheers!
Zoran

Screenshot 2
Screenshot 1

New feature suggestion: Power sweep

Hi jankae,
I have recently got my LibreVNA and have been using it to characterize and tune a power amplifier in the 2,45 GHz band.

So far everything looks very good with the VNA and have not found any issues, but I have realized that for people working on PAs it is often very illustrating to be able to perform power sweeps to obtain the Pout vs Pin of the PA. I find out that this feature is underestimated on mainstream VNAs. Usually this task involves either programming a signal generator and a 2 channel power meter or of course doing it by hand, which is long and tedious. Also temperature drifts are somehow masked in this process, as the devices would be operating at different temperatures when doing this in such a slow procedure.

I figured that as mostly all of the primitives for controlling the signal generator are there already, I was thinking that adding a graph on the signal generator tab with possibility of tracing the power detected on one port on one axis and the power delivered by the other port would not be a very complex endeavor. It would be a great app for PA testing. Calculating the compression point at 1 dB would be also very helpful, but of course, it is only luxury.
Maybe it has already been programmed and I have not found yet how to do it. If so, could you please explain how to do this?

Thanks for all the great work you have been putting together and good luck with your future projects as well.

Ariel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.