{"id":13699638,"url":"https://github.com/Robotips/uConfig","last_synced_at":"2025-05-04T16:35:27.010Z","repository":{"id":54648297,"uuid":"100585994","full_name":"Robotips/uConfig","owner":"Robotips","description":"Datasheet pinout extractor from PDF and library Stylizer for Kicad.","archived":false,"fork":false,"pushed_at":"2024-12-01T12:02:30.000Z","size":1802,"stargazers_count":518,"open_issues_count":28,"forks_count":58,"subscribers_count":39,"default_branch":"master","last_synced_at":"2024-12-01T13:18:52.938Z","etag":null,"topics":["extract-pinout","kicad","kicad-libraries","kicad-schematics","pdf-datasheet","third-party"],"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/Robotips.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2017-08-17T09:24:34.000Z","updated_at":"2024-12-01T12:02:35.000Z","dependencies_parsed_at":"2023-01-29T11:47:18.767Z","dependency_job_id":"322a9ab1-c9ed-4a76-bc8a-2a1b39766ed7","html_url":"https://github.com/Robotips/uConfig","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robotips%2FuConfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robotips%2FuConfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robotips%2FuConfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Robotips%2FuConfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Robotips","download_url":"https://codeload.github.com/Robotips/uConfig/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252366666,"owners_count":21736615,"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":["extract-pinout","kicad","kicad-libraries","kicad-schematics","pdf-datasheet","third-party"],"created_at":"2024-08-02T20:00:39.400Z","updated_at":"2025-05-04T16:35:26.104Z","avatar_url":"https://github.com/Robotips.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# uConfig\n\n[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](http://www.gnu.org/licenses/gpl-3.0)\n[![Build Status](https://travis-ci.org/Robotips/uConfig.svg?branch=master)](https://travis-ci.org/Robotips/uConfig)\n[![Build status](https://ci.appveyor.com/api/projects/status/6nh5atkhvi9w3dfy?svg=true)](https://ci.appveyor.com/project/sebcaux/uconfig)\n\n[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/uconfig)\n\nAn old personal project resurrected to extract pinout from PDF datasheet and create Kicad schematics.\n\n![Screenshot](uConfig_gui.png)\n\nDirectly save Kicad library files. Work better with huge number of pins.\n\n## PDF extraction, how does it work ?\n\nThe extraction of pin mapping from PDF files is done by parsing datasheet. Poppler is used to extract blocks of text and with magic rules,\nit sorts the pin numbers and pin labels. Labels and numbers are associated by most relevant pair to create pins. Then, the list of pins is\nalso sorted and associated by packages. This list of package could be save as a kicad library.\n\n![Screenshot](uConfig.png)\n\nThe second part of the tool is named `pinruler`, to permit a reorganization following a set of rules named `KSS` (Kicad Style Sheet).\nKSS files are similar to CSS files, take a look to [KSS reference variables](rules/README.md).\n\nIt exists a command line tool to extract components from a datasheet :\n\n```bash\nuconfig datasheet.pdf -o lib1.lib -r microchip.kss\n```\n\nIt will be save in `lib1.lib` all the schematics of components found in `datasheet.pdf` formated with the `microchip.kss` KSS file rules.\n\nA GUI interface is also available, called uconfig_gui.\n\n## KSS, Kicad Style Sheet\n\nAn innovative way to define a theme for a schematic component inspired from CSS. This could be compare to a\nkicad library linter. You can find examples in rules/ directory or take a look to [KSS reference variables](rules/README.md).\n\n## TODO\n\n- CSV importer\n- multi-pages components\n- BGA footprint\n\n## Bugs\n\nIf any component extraction does not work, send an issue in [issues](https://github.com/Robotips/uConfig/issues)\nand give the link to the datasheet and page of the rebel component.\n\n## Binaries downloads\n\nFor convenience, a pre-built project is available at :\n\nhttps://ci.appveyor.com/api/projects/sebcaux/uconfig/artifacts/uconfig-win32-v0.zip\n\n## Dependencies and building\n### Qt5\n\nuConfig use Qt5 C++ Framework. Version 5.2 is the minimal supported.\n\nTo know your Qt version :\n\n```bash\nqmake -query QT_VERSION\n```\n\nTo install on Ubuntu (or Debian):\n\n```bash\nsudo apt install qt5-default qttools5-dev-tools\n```\n\n### poppler\n\npoppler is a pdf parser library under GPL v3 license. v0.41 is the minimal supported with qt5 frontend.\n\nTo install on Ubuntu (or Debian):\n\n```bash\nsudo apt install libpoppler-qt5-dev\n```\n\nFor windows, build from sources (very annoying) or find a built version here :\n\n- includes : [http://robotips.fr/data/bin-poppler-win32.tar.gz](http://robotips.fr/data/bin-poppler-win32.tar.gz) (uncompress to uconfig/bin/)\n- DLLs : [http://robotips.fr/data/include-poppler.tar.gz](http://robotips.fr/data/include-poppler.tar.gz) (uncompress to uconfig/)\n\n### github source checkout\nmake sure you checkout as well the submodules, for example like this:\n\n```\ngit clone https://github.com/Robotips/uConfig.git\ncd uConfig\ngit submodule init\ngit submodule update\n```\n\n### build\n\n```bash\ncd uConfig\nmkdir build\ncd build\nqmake ../src/uConfig.pro\nmake -j4\n```\n\n### build on macOS\n\n```bash\nbrew install qt\nbrew install poppler\ncd uConfig\nmkdir build\ncd build\nqmake ../src/uConfig.pro\nmake -j4\ncd ../bin\nmacdeployqt uconfig_gui.app -libpath=./\n# the uconfig_gui.app can the easily be started as a normal mac application\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRobotips%2FuConfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRobotips%2FuConfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRobotips%2FuConfig/lists"}