{"id":15145369,"url":"https://github.com/jankae/librecal","last_synced_at":"2025-04-06T18:14:17.435Z","repository":{"id":103691184,"uuid":"528409618","full_name":"jankae/LibreCAL","owner":"jankae","description":"4 port eCal module","archived":false,"fork":false,"pushed_at":"2025-03-11T07:06:55.000Z","size":15440,"stargazers_count":78,"open_issues_count":0,"forks_count":25,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-03-30T17:09:39.926Z","etag":null,"topics":["ecal","librevna","rf","vna"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jankae.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-24T12:16:52.000Z","updated_at":"2025-03-24T17:24:35.000Z","dependencies_parsed_at":"2024-12-24T19:10:38.875Z","dependency_job_id":"683436e0-564c-47ad-b200-404497d47546","html_url":"https://github.com/jankae/LibreCAL","commit_stats":{"total_commits":101,"total_committers":2,"mean_commits":50.5,"dds":0.2178217821782178,"last_synced_commit":"95c6892c6fbc7a729b498595fbfdf18491ca4133"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jankae%2FLibreCAL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jankae%2FLibreCAL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jankae%2FLibreCAL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jankae%2FLibreCAL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jankae","download_url":"https://codeload.github.com/jankae/LibreCAL/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247526762,"owners_count":20953143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ecal","librevna","rf","vna"],"created_at":"2024-09-26T11:23:59.718Z","updated_at":"2025-04-06T18:14:17.393Z","avatar_url":"https://github.com/jankae.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Build workflow status](https://github.com/jankae/LibreCAL/actions/workflows/Build.yml/badge.svg)\n\n![LibreVNA](Software/LibreCAL-GUI/resources/banner.png)\n\n# LibreCAL\n**4-port, 9kHz to 6GHz eCal module for VNAs**\n\n![](Hardware/Pictures/WithLibreVNA.JPG)\n\n\u003cp float=\"center\"\u003e\n  \u003cimg src=\"Hardware/Pictures/PCB_Bottom.JPG\" width=\"49.5%\" /\u003e\n  \u003cimg src=\"Hardware/Pictures/PCB_Top.JPG\" width=\"49.5%\" /\u003e \n\u003c/p\u003e\n\n## Quick Start\n* You can find released versions of the GUI application and the device firmware [here](https://github.com/jankae/LibreCAL/releases).\n* You do *not* need the LibreCAL-GUI if you are controlling the device manually, via a script or through the [LibreVNA-GUI](https://github.com/jankae/LibreVNA).\n* If you would like to try out the newest features, the compiled versions of each commit can be found [here](https://github.com/jankae/LibreCAL/actions) (but keep in mind that some features might be unstable or incomplete).\n* Please see the [user manual](Documentation/manual.pdf) for details of operation.\n* If you would like to control the LibreCAL with a script, see the [SCPI API](Documentation/SCPI_API.pdf).\n\n## Factory calibration\n* All LibreCAL devices are preprogrammed with individually measured factory calibration coefficients (if you build one yourself, you need a way to measure them)\n* These coefficients are important, without them the LibreCAL is nothing more than an ordinary RF switch matrix\n* If the coefficients have been lost, you can download them [here](https://librecal.kaeberich.com/) (based on the serial number of your LibreCAL). If no coefficients for your LibreCAL are available, it could be a clone (not produced through official channels)\n\n## Installation\n\nAll of the following steps are only required if you plan to use the LibreCAL-GUI. If you plan to control the LibreCAL manually with the buttons, through a script or the LibreVNA-GUI, there is no need to download the LibreCAL-GUI (but you should still install the udev rule on Linux systems).\n\n### Windows\n* Download the latest [Release](https://github.com/jankae/LibreCAL/releases) and unpack the zip file\n* Start the included LibreCAL-GUI.exe\n* No installation or driver is required, simply move the extracted folder somewhere convenient\n\n### Ubuntu\n* Download the latest [Release](https://github.com/jankae/LibreCAL/releases) and unpack the zip file\n* Install the required libraries:\n```console\nsudo apt install libqt6widgets6 libqt6charts6 libqt6svg6\n```\n* Install the udev rule (otherwise you don't have the permissions to access the USB device):\n```console\nwget https://raw.githubusercontent.com/jankae/LibreCAL/main/Software/52-LibreCAL.rules\nsudo cp 52-LibreCAL.rules /etc/udev/rules.d\n```\n* Either reboot or reload the udev rules manually:\n```console\nsudo udevadm control --reload-rules\nsudo udevadm trigger\n```\n* You can now start GUI:\n```console\ncd $UNPACKED_ZIP_FOLDER$\n./LibreCAL-GUI\n```\n\n### MacOS\n* Download the latest [Release](https://github.com/jankae/LibreCAL/releases)\n  * If you are using MacOS 14+ use the release with `latest` in the name.\n  * If you are using MacOS \u003e13.7 use the release with  `13.7` in the name.\n* Unpack the zip file and move LibreCAL-GUI.app to your `/Applications` folder.\n* Start LibreCAL-GUI.app and add a security exception to allow the Mac to run the app with an \"untrusted\" signing key.\n* Launch app again.\n\n## How does it work?\nThe LibreCAL is just a switch-matrix with additional options to terminate each port into an open, short or 50 Ohm connection:\n\n![](Hardware/Blockdiagram/eCal.svg)\n\nWhile the blockdiagram is small and simple, the tricky part of any eCal module is repeatability. The LibreCAL contains an integrated heater and temperature sensor to keep the critical parts at a constant temperature during operation. Furthermore, high quality SMA connectors are used to ensure good return loss.\n\nThe coefficients of the calibration standards are stored in standard touchstone format on the device. They must be measured and written once after assembling the PCB and housing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjankae%2Flibrecal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjankae%2Flibrecal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjankae%2Flibrecal/lists"}