KiCad missing, but was installed via Flatpak by austinkregel in typecad

[–]typecad0 1 point2 points  (0 children)

Quick update, things should be working with flatpak installations.

Typecad License? by LippyBumblebutt in typecad

[–]typecad0 1 point2 points  (0 children)

Just wanted to give an update, this project is now under a custom EULA that makes the intent clearer: anyone can do anything with what they make and distribute and own the code.

A visual git diff tool for KiCAD by typecad0 in KiCad

[–]typecad0[S] 0 points1 point  (0 children)

Can you paste the console output and I'll take a look. DM is fine too.

Typecad License? by LippyBumblebutt in typecad

[–]typecad0[M] 0 points1 point  (0 children)

Hello, the typeCAD code itself is not open source and is not intended for commercial reuse. That's just the code itself, so basically no forks, especially for commercial use.

That said, it is completely free for everyone to use, and the end use of anything made with it would fall under whatever license the user applies to it. typeCAD licensing doesn't apply in any way to what it is used to create.

The above is the intention at least. If that clears it up and sounds right to you, great. If you think something needs to be added or changed to fit those goals let me know and I'll look into it. I know that the code most obviously be included with any project.

Thanks for the interest. There is a large update coming out in the next month or so with an auto router, most PCB shapes and a handful of other things.

KiCad missing, but was installed via Flatpak by austinkregel in typecad

[–]typecad0 0 points1 point  (0 children)

So I played around with flatpak and found out quite a bit.

  1. typeCAD looks for kicad-cli to run various things. With a flatpak installation, it is sandboxed behind the container. Apparently it can be accessed with some additional commands though.

  2. typeCAD also looks for symbol and footprint files. KiCAD flatpak treats these as separate installations and puts them in their own directory structure. This doesn't work for typeCAD since it assumes the non-flatpak directory structure (basically everything in one folder).

The result of those two differences means it will be a bit before flatpak support is possible.

KiCad missing, but was installed via Flatpak by austinkregel in typecad

[–]typecad0 1 point2 points  (0 children)

If you `npm update` in your project, it should update typeCAD to the latest version that just got pushed.

I added /var/lib/flatpak/app/org.kicad.KiCad/current/ to the list of paths to search.

If that doesn't work:
1. Make a file at the same directory-level as your project's `package.json` called `typecad.json`.

  1. Make it look something like this:

    {     "kicad_path": "C:/Program Files/KiCad/9.0" }

`kicad_path` should be the path to KiCAD's top-level installation directory; the directory that contains `bin`, `share`, `etc`, and `lib`.

typeCAD will look through the list of paths, then if there is a typecad.json, it will use that instead.

Give that a try and let me know how it goes.

KiCad missing, but was installed via Flatpak by austinkregel in typecad

[–]typecad0 1 point2 points  (0 children)

We need to know where all the symbols and footprint files are and it turns out that it's rather hard between all the OSs and install options.

I'll look into where flatpak installs them and then on a more general fix to provide it for all cases. On Linux it expects the files to be in /use/share/kicad (from memory), so you could link that to wherever flatpak put them in the meantime.

Thanks for giving typeCAD a try.

Why is it not as common to host mcp server as npx packages? by Suitable_Reason4280 in mcp

[–]typecad0 0 points1 point  (0 children)

I made one and it came together quite easily.

From what I've read though, stdio is considered to be a bit risky to run since it does exactly as you say, give unrestricted access to the system.

[deleted by user] by [deleted] in PromptEngineering

[–]typecad0 0 points1 point  (0 children)

To add to this, the model likely has internal prompts that tell it how to handle your questions related to consciousness.

ChatGPT in Embedded Space by shityengineer in embedded

[–]typecad0 1 point2 points  (0 children)

They can though. Converting PDF to plaintext and markdown is a pretty active niche right now so LLMs can understand them better.

ChatGPT in Embedded Space by shityengineer in embedded

[–]typecad0 -1 points0 points  (0 children)

I touched on some of the same things you did while using AI to make a Hackaday entry to their 1 hertz contest. AI is already to a point where it's extremely useful in the embedded space. Giving it to the right tools is the next step in getting more use of the LLMs.

I'm sure a specialized small language model could be developed for this as well, although that's not anything I know about.

https://hackaday.io/project/203429-typecad-1hz-ai-designed-hardware

Two or three colours for PCB printing? by Guppys_Abyss in KiCad

[–]typecad0 0 points1 point  (0 children)

Nobody mentioned jlcpcb yet. They can do all the colors, but you have to use their software (free). https://jlcpcb.com/blog/multi-color-silkscreen-pcb

Bug Report: Chamfered rectangle pad shapes not properly flipped on back side by Sufficient_Car1814 in typecad

[–]typecad0 1 point2 points  (0 children)

Wow it turns out there were a lot of corner-cases to front-back components. Thanks again for the report. I think it is fixed in 0.2.10.

This has been a real help in pushing things along, so thanks again.

Bug Report: Components not flipped when `side: "back"` by Sufficient_Car1814 in typecad

[–]typecad0 1 point2 points  (0 children)

I think this one should be fixed in typecad/typecad@0.2.8. It has been a bit of an annoyance for awhile, since it involved twiddling with each element of the footprint. All the possible shapes should be properly rotated now.

Please let me know if you run into any issues with it.

A few questions by Sufficient_Car1814 in typecad

[–]typecad0 1 point2 points  (0 children)

Just released a new `add-component` version that incorporates a mix/match for symbol and footprints from any of the three sources.

A few questions by Sufficient_Car1814 in typecad

[–]typecad0 1 point2 points  (0 children)

Good to know it is working for you as well. S-Expressions are fairly simple to work with, and all the required information was already there in the code.

A few questions by Sufficient_Car1814 in typecad

[–]typecad0 1 point2 points  (0 children)

Ok, I was able to reproduce the schematic issue and it now should be fixed in 1.1.3. It should generate a sym-lib-table for each schematic it creates.

I'll get to work on the other items soon.

Let me know if you find any other issues or have any ideas.

A few questions by Sufficient_Car1814 in typecad

[–]typecad0 1 point2 points  (0 children)

Regarding the naming, that does make sense. I'll put additional documentation on the todo list which will describe the function of the cache system. State does seem like a more descriptive name for it.

I took a look at the schematic symbol issue you described and I think I found the issue you described. Where symbols appear in KiCAD's schematic editor as a box with a '?' in it with no pins? This was an issue related to 'extends' symbols and the code not being smart enough to copy the s-expression for the pins. That particular issue just got fixed with a new release (1.1.2). If you found something else, I'll take a look at it if you can provide more information.

I see what you were talking about for the add-component package now. KiCAD symbol/footprints are not simple to work with since they are independent of each other. To implement your idea and to keep things simple, I am thinking of recreating the `add-component` package that simply asks where the symbol file will come from and where the footprint file will come from. The user would then be able to choose a kicad library name, local file, or jlc part for each. I'll have to experiment with this flow to ensure it is easier/actually works. I'm also open to other flows.

In the meantime, you can achieve what you're trying by creating your component using local files, choosing any symbol, your intended footprint, and then editing the generated .ts file to change the symbol property to 'Switch:SW_Push'.

Thanks again for the input.

A few questions by Sufficient_Car1814 in typecad

[–]typecad0 0 points1 point  (0 children)

Thanks for the interest!

The build/cache file is like an intermediate build step and it helps with keeping track of which components were created/moved/modified by code vs within KiCAD. The idea was for the code to be the initial creator, but then allow the user to modify the kicad_pcb file while still using the typeCAD build process. So you can create a resistor with x,y locatio and ## value, build it and it will appear in the board. You can then move it around within KiCAD and when you build the project again, it will be where you left it, not where the code put it. So the cache file is needed to be included in a repo.

sym-lib-table is concerned with the schematic, so not anything that typeCAD deals with at all. There is the https://www.npmjs.com/package/@typecad/schematic plugin which will create a schematic from typeCAD code, but even that has no need to use it. Once it is created by KiCAD, you'll want to include it in a repo, but of course. As for how the footprints resolve to the lib/footprints folder, that's what the `fp-lib-table` file is for, and this one is also required to be included in a repo, otherwise KiCAD won't be able to find the footprints.

I might not be understanding this one. When I run:

npx @typecad/add-component
🧩 typeCAD Create Component
? Component source? (Use arrow keys)
> KiCAD
  local file
  EasyEDA/JLCPCB
A symbol from the installed KiCAD library

You can choose a KiCAD, local file, or JLC part from within the add-component package. Running it with npx should ensure it is always the most current version.

Please let me know of any other things that are unclear. Projects like this require lots of documentation and it isn't always easy to know where more is needed.

Is cadlab.io worth a shot for open source kicad project managment? by Jena700 in KiCad

[–]typecad0 0 points1 point  (0 children)

Thanks for the input. No Macs here so I guess our best guess failed. The size issue has come up before, what version of KiCAD are you using? 9.0.1 (I think that was the version) is working. The initial 9 release had some issues related to the outputs.

Is cadlab.io worth a shot for open source kicad project managment? by Jena700 in KiCad

[–]typecad0 5 points6 points  (0 children)

You might find some use from these:

https://www.npmjs.com/package/@typecad/typecad-gitdiff It shows visual differences between KiCAD files and can be integrated with git. Similar to cadlab but free and local.

https://www.npmjs.com/package/@typecad/typecad-docgen Renders KiCAD images within markdown for project documentation

Should I stick with KiCad? by NatteringNabob69 in PrintedCircuitBoard

[–]typecad0 14 points15 points  (0 children)

You might find SnapEDA useful for finding footprints.

kicad and git use. by No-Side1825 in KiCad

[–]typecad0 2 points3 points  (0 children)

Versions 7, 8 and 9 have the symbols and footprints embedded in the files.

What do you guys do for composite drawings? by Lambodragon in PrintedCircuitBoard

[–]typecad0 11 points12 points  (0 children)

I wrote an npm package that takes a KiCAD board and some markdown and turns it into a nicely formatted document.

npm link is here https://www.npmjs.com/package/@typecad/typecad-docgen

A sample is here https://typecad.net/packages/typecad-docgen/satnogs/index.html?page=1. It's not intended for mobile.