GithubHelp home page GithubHelp logo

4ms-kicad-script's Introduction

4ms Kicad Scripts

All of these scripts are Works In Progress. Use at your own risk!!

Scripts

  • makefp: PCB plugins (python scripts) to create a Eurorack faceplate from a PCB. Automatically determines smallest standard size that will fit, creates an outline and rail mounting slots, replaces all panel components with holes (using a look-up table that you must edit if you're not using standard 4ms libraries), removes all SMT components and traces, and creates a copper GND plane on the back (connecting all holes to it). It's not perfect and often requires some manual clean-up.

  • BOM-scripts: EEschema plugins that produce a BOM properly formatted for a PCBA service.

  • resistor_generator: Generate a Kicad symbol library of standard resistor values (E96+E24) for a given SMT package and tolerance. Searches JLCPCB's database to populate a JLCPCB part number field, and also generates a valid Yageo part number.

  • lib_scripts: a series of scripts used to create a KiCad symbol library from a BOM CSV file and a group of schematics that share common parts. Originally written for the OpenVentilator project. When importing projects into Kicad from other EDA software, a library is created for each imported project, so these scripts are handy for essentially merging all the individual project libraries into a single shared library (and throw in some useful information from a BOM file while it's at it). We also have used these scripts to create the latest 4ms symbol libraries (atomic part library) since we have all MPN etc information in the BOM files.

  • lib_scripts/symLibConversion: This script does some of the rote search-and-replacement when updating a legacy 4ms library schematic to the new atomic libraries.

  • net_tools: Some PCBnew python plugins for assigning nets to large amounts of items.

  • grep-replace-globallabel-with-locallabel: regex to replace all global labels with local labels in eechema.

  • XY-pos-file-convert: A simple python script to convert Kicad's XY position file format to the one JLCPCB expects.

Deprecated Utilities

  • picknplace_assistant: Creates PDF files of front and back of PCB, showing the placement of each component. No longer being supported, as we've switched to using Interactive HTML Bom.

  • update_kicad: OSX only. After you download and mount a Kicad nightly DMG, run this script to handle installing all the files, and properly merging the global fp/sym_lib_table files without having to manually add the 4ms libraries. This script also preserves your packages3d folder. No longer being supported, as our new library technique doesn't require modifying global library tables.

  • gerbv shortcuts. These are meant to be used with the old legacy gEDA gerbv program (not kicad's gerbv). They are templates that set the layer order and coloring to a standard format.

4ms-kicad-script's People

Contributors

danngreen avatar dongero avatar electron271 avatar noaver avatar

Stargazers

 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

4ms-kicad-script's Issues

Error with makefp

image
So far this happens to me for makefp 2 and 3, maybe 4
Running Pop!_OS, Kicad 6.05 and the faceplate_footprint_lib was setup correctly

On Windows 10 makefp_2_boundbox_action.py gives AttributeError: 'NoneType' object has no attribute 'SetPosition'

Windows 10 Pro 64-bit and KiCad nightly version: (6.0.0-rc1-dev-1291-g61b749f0b). Using 4ms-kicad-script/makefp/plugins -- kicad 6.0/ and edited faceplate_footprint_lib.py for "C:\Program Files\KiCad\share\kicad\modules\4ms_Faceplate.pretty"
makefp_1_removetracks_action.py seems to run okay, but then makefp_2_boundbox_action.py gives:

Exception on python action plugin code
Traceback (most recent call last):
File "C:\Program Files\KiCad\share\kicad\scripting\plugins/makefp_2_boundbox_action.py", line 210, in Run
mod.SetPosition(railmount_topleft)
AttributeError: 'NoneType' object has no attribute 'SetPosition'

and a similar error for makefp_3_convertfootprints_action.py

Improve BOM script

TODO:
-Remove 'points' and 'Total points' columns
-Remove "Component Count" line
-Add SMD/TH for all components
-Sort by SMD, then TH, then panel components (if possible to distinguish panel TH vs. non-panel TH)
-Merge lines with identical Manufacturer and Part Number

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.