{"id":25906814,"url":"https://github.com/saturn77/atlantix-eda","last_synced_at":"2025-03-03T06:15:38.559Z","repository":{"id":56018979,"uuid":"114695236","full_name":"saturn77/atlantix-eda","owner":"saturn77","description":"Programmatically generated PCB libraries facilitating robust electronic product design.","archived":false,"fork":false,"pushed_at":"2024-12-27T23:41:27.000Z","size":1852,"stargazers_count":12,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-02T14:02:41.014Z","etag":null,"topics":["altium","altium-libraries","capacitor","flexibility","generation","kicad","lib","libraries","pcb","reliability","resistor","resistor-library","resistor-series","rust","rust-lang"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/saturn77.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-12-18T22:47:06.000Z","updated_at":"2025-01-07T10:55:47.000Z","dependencies_parsed_at":"2023-01-22T18:00:09.539Z","dependency_job_id":null,"html_url":"https://github.com/saturn77/atlantix-eda","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saturn77%2Fatlantix-eda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saturn77%2Fatlantix-eda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saturn77%2Fatlantix-eda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saturn77%2Fatlantix-eda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saturn77","download_url":"https://codeload.github.com/saturn77/atlantix-eda/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241616676,"owners_count":19991543,"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":["altium","altium-libraries","capacitor","flexibility","generation","kicad","lib","libraries","pcb","reliability","resistor","resistor-library","resistor-series","rust","rust-lang"],"created_at":"2025-03-03T06:15:37.865Z","updated_at":"2025-03-03T06:15:38.553Z","avatar_url":"https://github.com/saturn77.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Atlantix-EDA\nProgrammatically generated PCB libraries facilitating robust electronic product design.\n\nAtlantix-EDA enables electronic engineers to have fully customizable, rich libraries to employ in designs.\nThe Atlantix-EDA software tool suite *value position* is based upon programmatically generated libraries for PCB Design\nwith the advantages of:\n\n   - Rapid design creation with consistant and comprehensive PCB libraries.\n\n   - Higher productivity for individual engineers doing schematic, pcb, firmware, etc.\n\n   - Versatile and flexible, as the libraries are programmatically generated by this software.\n\n## Running the Example\n\nThe primary example is to generate the Vishay resistor series from 0402, 0603, 0805, 1206, 1210. To run the example, just pull this repository and\nthen: \n\n```terminal\ncargo build \ncargo run --example gen_vishay_resistor\n```\nthen you will see in the terminal \n```terminal\ncargo run --example gen_vishay_resistor\n    Finished dev [unoptimized + debuginfo] target(s) in 0.01s\n     Running `target\\debug\\examples\\gen_vishay_resistor.exe` \n** Success::0402 component::Resistor E-96 series generation (1 Ohm to 1 MOhm).\n\n** Success::0603 component::Resistor E-96 series generation (1 Ohm to 1 MOhm).\n\n** Success::0805 component::Resistor E-96 series generation (1 Ohm to 1 MOhm).\n\n** Success::1206 component::Resistor E-96 series generation (1 Ohm to 1 MOhm).\n\n** Success::1210 component::Resistor E-96 series generation (1 Ohm to 1 MOhm).\n```\n\nThe file data.txt will then be generated with the CSV file that can be imported into Altium. \n\n ## Software\n\n This software platform is built with the [Rust](https://www.rust-lang.org/) programming language, offering a very robust\n systems programming language that is type and thread safe. Rust was chosen as the software for Atlantix-EDA\n because of these features and a forward looking vision incorprating advanced capabilities.\n\n# License\n\nLicensed under GNU General Public License (GPL).\n\nCopyright, 2006-2025, Atlantix-EDA, Atlantix Engineering \u003catlantix-eda@proton.me\u003e\n\n# Integration\n\nAltium for example has the database import described\nhere:   \n\n\u003chttps://www.altium.com/documentation/altium-designer/working-with-database-libraries-ad\u003e\n\nOther tools such as KiCad, Fusion360(Eagle), Cadence Allegro, and Mentor PADS have not\nbeen tested with the current Rust version of the software.\n\nWhile this repository is focused on Altium compatible libraries, the main priority going\nforward will be for the generation of KiCad compatible libraries. \n\nPADS was tested with an older version of this software so it should easily be adopted.\nTools such as the [KiCad]( https://gitlab.com/kicad/libraries/kicad-library-utils) generator functionality could\nbe replaced by Atlantix-EDA generate module, with the help of templating to take care of\nboilerplate code in the resistor library. A template engine such as [Askama](https://djc.github.io/askama/) would be a good\napproach.\n\nOverall, resistor libraries for Altium are included as part of this repo that include\nevery E-96 value from 0201 to 2512, which is over 5,000 parts.\n\n# Background\n\nFor a complete resistor library from 0201 to 2512 in the E-96 1% series there are 5,184 resistor values. The ability to generate these libraries on the fly\nand change any data associated with each part is quite powerful.\n\nThe use of Atlantix-EDA to generate the resistor library enables engineers developing in tools such as Altium, KiCad, etc. to have a comprehensive library \navailable to them. This library enables quicker design cycles by\neliminating part creation and more robust design as BOM generation from the schematic will be accurate and true.\n\n![image](./assets/table.jpg)\n\nA history and more complete background of the [resistor series.](https://en.wikipedia.org/wiki/E_series_of_preferred_numbers \"Wikipedia resistor series background\")\n\n\n## Basic usage example\nThis basic example shows the generation of a 0603 library with\nthe decades ranging from 1 ohm to 1 Meg-Ohm\n\n```rust\nlet decades = [1,10,100,1000,10000,100000];\nlet mut r0603 = component::Resistor::new(96, \"0603\".to_string());\n\nfor decade in decades.iter() {\nr0603.generate(*decade);\n}\n```\n\n## Detailed usage example\nThe code below shows how to actually instantiate the resistor object and generate\nvalues across several decade values while writing to a file, which is then imported\nby Altium or another tool.\n\n```rust\nfn main() {\n \tlet decades = [1,10,100,1000,10000,100000];\n\tlet mut name_0402 : String = \" \".to_string();\n\n\tlet mut r0402 = component::Resistor::new(96, \"0402\".to_string());\n\n\tfor decade in decades.iter() {\n\t\tname_0402 = r0402.generate(*decade);\n\t}\n\n \tlet mut file = OpenOptions::new()\n                       .write(true)\n                       .truncate(true)\n                       .open(\"data.txt\")\n                       .expect(\"cannot open file\");\n\n\t\t\tfile.write_all(name_0402.as_bytes()).expect(\"write failed\");\n\n\t\t\tprintln!(\"** Success::0402 resistor generation.\");\n \t}\n```\n\n# Future Developments\nThe next steps in this projects are to cover more vendors, such as \n1. KOA-Speer\n2. Panasonic\n3. Yageo\n\nIn this way, the program will be more complete in that the user can generate a library with \nany one of the vendors, or all of them, or a subset of them. \n\nA next step will be to expand the library to include current sending resistors, as are often\ncommonly used on board level power supplies. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaturn77%2Fatlantix-eda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaturn77%2Fatlantix-eda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaturn77%2Fatlantix-eda/lists"}