Electronics > KiCad
KiCAD "Cloud" integration?
Fixed_Until_Broken:
I started out on KiCAD 5.1. Then I started school and was able to get Altium Designer. I won't be in school forever, so I am returning to KiCAD. I did my first project in 7.0 last week and was pleased with the changes from 5.1 to 7.
That being said, what is everyone doing for collaborative projects? Is this the point where I will have to learn GIT? Just save it to a google drive? Mail a thumb drive?
The main feature I am missing from Altium is the built-in cloud integration. I am just curious about what everyone else is doing for some level of cloud integration or collaborative projects on kicad. What worked for you? What didn't work for you (so I don't make the same mistakes)?
nimish:
Git and lfs source control. Certain parts of kicad lend themselves well to it, certain parts don't.
I do not recommend using a cloud drive service. Kicad is not built to handle the concurrency issues. You can easily get yourself in an unrecoverable state even with the autobackups.
A solidly productive way is to store your validated parts and footprints in some other stable format and do a just-in-time conversion to Kicad symbols and footprints. The new dB integration can make this easier but id wait until any bugs are worked out.
Schematics and board files are basically binaries despite the text underlying them. It's dumb but the least difficult way to keep them modular was to write a script to convert them to and from stable text forms--or generate them from code. The bundled footprints are done this way, it's actually pretty nice since most footprints are IPC standardized or close to it.
Board files can be converted to and from svg but it's not ergonomic. I haven't found a good way of doing this once the complexity gets high, like with very complicated BGAs and DDR. I've tried treating chunks of boards as footprints, but that basically only works for SoMs and other stuff where the layout is fixed.
There isn't much collaboration built in, and the data structures were not designed with multiple contributors or even modular reuse as a first class feature. You can see this if you try to naively copy a schematic from one project to another.
karpouzi9:
github with symlinks & relative paths. all pretty easy, no need for LFS.
JohanH:
People just upload the KiCAD project directory to github (or correctly, by using git).
I would suggest however, that they put the KiCAD project in a separate directory in the git project, not in the root directory. That way they can keep KiCAD files separate from README, LICENSE, images or whatever they put in the git root folder.
A KiCAD project can be shared this way and it will work without issues. But it should be noted that if you have used your own footprint libraries, they are stored in the KiCAD file named <project name>-cache.lib (v5 only). In later versions they are stored in the project files themselves (kicad_sch, kicad_pcb). If you have copied a project from someone else and want to use such footprints in your other projects, you have to open them individually and export them by saving them to your own library. This is a bit cumbersome. I would appreciate if there were an easier way to do this, or to share custom libraries when you share a project like this. Maybe there is and I just don't know how to do it properly.
retiredfeline:
No, not fp-info-cache. That cache can be deleted anytime with no ill-effects. You actually mean <project name>-cache.lib. In the past some people forgot to share this resulting in projects that were incomplete. But that was in v5, as the .lib indicates.
In v6 and v7, copies of the symbols and footprints are stored in the schematic and PCB files respectively so those should be shared. I think now there are commands to export all symbols or all footprints from a project but I haven't got around to needing it.
Navigation
[0] Message Index
[#] Next page
Go to full version