Skip to content

thomaslepoix/Qucs-RFlayout

Repository files navigation

Liberapay patrons Discord License Version Nix

CodeQL SonarCloud quality gate

Package Debian Package Windows

Qucs-RFlayout

A tool to produce layouts from Qucs RF schematic (microstrip only for now)

qucs-schematic.sch -> kicad-layout.kicad_pcb [OK]

                                        -> kicad-module.kicad_mod [OK]

                                        -> pcb-rnd-layout.lht [OK]

                                        -> openEMS-script.m [OK]

                                        -> image.svg [Beta]

                                        -> gmsh.geo [ASAP]


French documentation here

This software is a part of the Open-RFlab project and relies on the octave-openems-hll library, if you are interrested in contributing or involved in an other somewhat -> openems converter please take a look.


Screenshots

Qucs : schematic.sch

qucs_sch

Qucs-RFlayout : preview

qucsrflayout_preview

Pcbnew : layout.kicad_pcb

pcbnew_kicad_pcb

Pcbnew : module.kicad_mod

pcbnew_kicad_mod

Pcb-rnd : layout.lht

pcb-rnd_lht

Inkscape : image.svg

inkscape_svg

OpenEMS : simulation.m

appcsxcad_m

  • Better example : A low pass filter designed, produced and measured by F4HDG. Thanks to him!

  • Generated scripts outputs :

    • Touchstone file (.sxp)
    • S parameters (Smith chart and orthogonal)
    • Feed point impedance
    • Feed point VSWR
    • Phase response (wrapped and unwrapped)
    • Phase delay and group delay
    • Azimuth & elevation far field radiation pattern (polar and orthogonal, normalized and in dBi)
    • 3D far field radiation pattern for multiple frequencies (animated .gif)
    • Electric & magnetic fields, current and current density in time domain (visible with Paraview)
  • Here is a tutorial.


Installation

Dependencies

  • Qucs or Qucs-S is needed (even if you want to convert QucsStudio files), be sure it is installed and accessible from your PATH variable.
  • OpenEMS scripts dependencies :
    • OpenEMS (octave-openems package available on Debian based distros, octave-openEMS on openSUSE)
    • ImageMagick (packages available on most distros)

Package installation

  • For Debian based distributions, a repository is available here.

  • For RPM based distributions and Windows, you can download packages here.

Installation from sources

Nix way (non-NixOS) :

nix profile install --impure 'github:thomaslepoix/Qucs-RFlayout#qucsrflayoutNixGL'

Debian way :

Take a look on the debian branch.

Classic way :

Be sure to use a compiler that supports C++23. The build-time dependencies are the following, check equivalents on your own for other distros (reports are welcome) :

  • Debian 12 : qt6-base-dev, libqt6opengl6-dev, texlive-xetex, fonts-lato
  • Fedora 40 : qt6-qtbase-devel, texlive-xetex, texlive-standalone, lato-fonts
  • MacOS + Homebrew : qt, texlive, font-lato (cask)
Qucs-RFlayout $

    cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
    cmake --build build
    sudo cmake --build build --target install

Supported build options (among regular CMake options):

option value default comment
CMAKE_BUILD_TYPE Debug, Release, Coverage ... Release
CMAKE_CXX_COMPILER g++, clang++ ...
QRFL_MINIMAL ON, OFF OFF Disable GUI and Qt dependency

Usage

qucsrflayout -i qucs-schematic.sch -o output-directory -f .output-format

Limitations

  • Microstrip only for now, coplanar waveguide ASAP.
  • Any other component cannot be converted into a geometric shape of metal by this tool.
  • Use one wire to connect only two component ports, use appropriate components to make tees or crosses.
  • QucsStudio schematics are supported (2.x versions only) but it is closed source and there are some incompatibilities, so please prefer using Qucs. If you really need to work with QucsStudio 3.x, take a look at this converter.

Work in progress... [email protected]