Ray Kholodovsky - I was thinking about how if I...
I was thinking about how if I wanted to put the latest ESP chips on a board I would be using the official library: https://github.com/espressif/kicad-libraries
They package this up to deploy via the Kicad PCM (pacakage / plugin manager) but the base files are there just like any other library.
So now I'm wondering about good ways we can depend on an external kicad library in tscircuit.
GitHub
GitHub - espressif/kicad-libraries: KiCad libraries for Espressif S...
KiCad libraries for Espressif SoCs, modules, and DevKits. - espressif/kicad-libraries
28 Replies
One unique hurdle:
but since tsc already has the stock kicad libraries available, there should be a way to perform direct mapping to those symbols/ footprints

I'm thinking for cli use I can just git submodule this repo and hopefully I can "depend" on the local kicad files that way. I think we're still in the realm of a one time conversion to tsx/ cjs ... which is slightly less than ideal for when the repo gets updated.
oh interesting
yea you can import the kicad files directly (it should work)
for popular libraries we can also add it to the footprint autocomplete (not an issue)- we might be able to support the KiCad PCM directly somehow
TSC-112 - Write doc describe how to use the espressif official kicad libraries
Status
Backlog
tscircuit
The KiCad PCM is just an extra layer of annoyance for automatically updating the library as a “package” inside of KiCad.
Normally people use the PCM for themes and plugins but some libraries get distributed that way too.
Idk if it will help you to support PCM import (maybe some manifest file tells you where all the important files are?) or if you just simplify things and rely on the GitHub url directly.
ahh that's an awesome idea
GitHub
GitHub - CDFER/JLCPCB-Kicad-Library: A set of symbols, footprints a...
A set of symbols, footprints and 3d models of the basic components from JLCPCB's smt assembly - CDFER/JLCPCB-Kicad-Library
we already support footprint urls actually but i'm not sure if they can be provided for kicad files yet
GitHub
GitHub - ebastler/marbastlib: A library collecting MX and Choc styl...
A library collecting MX and Choc style footprints, as well as various other parts used to design custom keyboards - ebastler/marbastlib
GitHub
GitHub - 0xCB-dev/0xCB-PCM: KiCAD PCM repo for 0xCB libraries
KiCAD PCM repo for 0xCB libraries. Contribute to 0xCB-dev/0xCB-PCM development by creating an account on GitHub.
GitHub
GitHub - 0xCB-dev/0xCB-libs: 0xCB KiCad libraries
0xCB KiCad libraries. Contribute to 0xCB-dev/0xCB-libs development by creating an account on GitHub.
These are the PCM libraries I am aware of/ use most
As I look, perhaps there is value in supporting “yeah just follow the instructions already on those git repos to add to kicad, paste the same repository.json link into tsc and we’ll take care of it”
AHHHH ok yea i like that
tsci import {repository.json url}TSC-114 - Support KiCad PCM library imports via tsci import
Status
Backlog
Assignee
arnavkaushal09@gmail.com
tscircuit
I’m seeing a fairly consistent footprints/ and 3dmodels/ layout, and I need you to figure out the local 3D model in this folder mapping even if the path/to/it is completely wrong for other reasons we will discuss one day 🙂
tyty appreciate all the insights!!! Some of the features you've requested have come in very handy for me personally lately!!!
I’m glad to hear it. Now I want to know “like what?”
ha well copper pour for starters
The “reasons” here I allude to are to support the /packages3D export for custom 3D models in a personal local library being used in a specific kicad design. I can suggest ways to pack that up into a folder in the local project, by my preference is to NOT change the paths to go to that local version, but stay true to the global library. That’s where the path resolution comes into play. It’s actually easy: chop all/of/the/original/path and replace with just packages3D/ or a few variations of a 3D folder like that and the file name inside is the same.
I suggest we need to have a backup of also supporting the repo url like
https://github.com/espressif/kicad-libraries
This one does not actually provide a pcm link.
The footprints and 3dmodels folders seem pretty consistent.
GitHub
GitHub - espressif/kicad-libraries: KiCad libraries for Espressif S...
KiCad libraries for Espressif SoCs, modules, and DevKits. - espressif/kicad-libraries
i like the idea of having a
tsci import command because we could generate a file that gives you full type safety
then you would have autocomplete etc.Yeah I think the direct GitHub repo url vs the .json url are 2 sides of the same coin : they can both be equally valid or invalid, and they ultimately point to the same content in the same place
another thing we could do is add any kicad library you import to the package.json and make it automatically installed so it doesn't have to be committed (make it work just like a node module)- i think we might be able to do that using some underused builtin node features- i will be looking into this!!!!
Yeah that sounds really cool. Like my git sub module idea but without the extra work for me!!!
Suggest you need to make the versioning critical and by default, I’m very particular about “never make an electrical change to a pcb without the designer approving” so that gets into caching/ commit version pinning/ etc
i have a feeling it's already built into node and i just have to dig out the feature
yea that is also supposed by default iirc, it will use the commit hash of the github repo
Apparently you can just npm install a git repo ???
https://stackoverflow.com/questions/39732397/install-specific-branch-from-github-using-npm
And/ or put it in package.json dependencies
Yep that was the weird node feature i was talking about hahaha
“Hidden in plain sight”
Unlike “hidden in plane site” which would be aviation.gov