Common Library with 2 pc in same network

Both / and \ are valid path separators. Also a slow NAS is a technical problem that can be overcome perhaps at some monetary cost.

Well of could you could keep all your projects decoupled and then you could copy items from one project up another as needed. Some workflows need more admin than others, that’s for sure.

NAS is smart solution at home, I think. And obviously it is not as fast as heavy blade server used in companies. And, also NAS is not 24/24 on. Only switched on when necessary. I can manually Wake on Lan, even in Wifi, and there is a clock inside that switch it on an off on a scheduled time array.
Doing so , the NAS saves daily the work done on the main PC.

I do not undestand at the moment why it is different from schematic library to footprint libraries. Like if software was not writted by the same teams.
I will continue to make some tries.

I wonder why you need the NAS to transfer from PC to PC. There is a lot of software that can synchronise between two PC peers.

I think you should search for sym-lib-table and fp-lib-table files in both of those PCs. ( Those files let KiCad know about what libraries can be used )

Footprint libraries are directories so when you place a footprint file in there, if KiCad knows about that lib, it will also find the footprint. Symbol libraries on the other hand are only files, so when you add a new library, you also have to inform KiCad.

If you create a new footprint library, you also have to let KiCad know.

The need is not to transfer from one PC to other. The need is to have an efficient way to save all my jobs on an external device . As soon as you will have a crash on a Hard Disk , I am sure you will understand…
And using a NAS, you will have some others usefull tools . Like the synchro between PC.
Not so difficult to understand.

And the issue will be the same with any tool, as soon as you don’t know what to save…

You might like to have a look at this post. Although it refers to older KiCad versions, there are some helpful ideas. The strategy discussed uses Dropbox although any online sharing storage solution would be worth looking at. Think you can still get a couple of Gb free on Dropbox. The laptop could contain an offline copy which can be set up to sync when a network is available.

Just to put my two cents in for this (a version of which is covered in the link provided by John Pateman): I use git repos for my standard libraries. I don’t currently share my libraries with a team but I use them across multiple personal computers (as well as for backup purposes and version control). It works pretty great.
I make all of my projects within their own repos and create release files that include the copied versions of any lib/3D model files. This makes sending things to clients after stages of dev are completed easy but wouldn’t be perfectly ideal for continual development without giving full access to your standard library repos. I’d be interested in a nice solution that updates a project level library from the ‘master’ library when run to include in my Makefile.


A like for using git.
When using git, it tracks your changes, and it’s also easy to setup a master repository for distributing your library to your different PC’s. A quick search shows that Synology has support for git in their NAS boxes. I don’t know about other brands. Sometimes I’m thinking of making a NAS box myself, but it would be a standard linux computer with some HDD’s or SSD’s, so I’ve never looked up what those commercial suppliers of NAS boxes deliver. So read the manual of your NAS.

I do not know the Git too much, but Mercurial could be the answer too. Mercurial (maybe also Git) is able to push/pull of the local repository against repository on the shared disk, no server support is needed, just file access.

The best solution for sharing the project could be:

  1. you will have repository (directory) with libraries on the NAS
  2. you will have repository (directory) with KiCad project on the NAS
  3. in the project repository, there will be “linked” repository with libraries (subrepo, see

Transfering project between 2 PCs:

  1. on first PC commit changes, push to server (NAS)
  2. on second PC pull from server (NAS) and update your local files

Advantages of this approach:

  1. you will have all libraries in one repository (directory) and not copied many times in unknown versions among your projects
  2. for each project, you will have libraries in the right version
  3. libraries in project can be updated just via pull from the repository on server (NAS)

The trouble does not comes from the NAS. (And using Git will not solve here.)
(Also ,why using an external link, if I have all I need in my network?)

What I do:
I open Kicad, and no project opened
I create a new library using the footprint editor.
I draw a new footprint inside, some pads, for example.
I save the footprint.
I close the editor.
I have a look at the clock , 8:00 pm today for example.
I close Kicad

Then I search for all the files on my PC, on the directories used by kicad ( and synchronized if I power on the NAS).
And I do not see the files with the recent clock.
If I do not see any file with the files updated using the windows file explorer, I guess git or Qsync (NAS client ) will not see too.

I will do more tries, between others tasks.

git or unison can be used. git can roll back and unison only syncs two pc bidirectionally.

I have found a way to make it running.
As you said, I have to inform Kicad (I do it now in the list of libraries) that there is a new library.
I will have only a few personnal libraries, and only two PC, so it is not heavy to manage.

The synchro runs , and Kicad runs, as soon as all the paths in the editor are completed on the PC where the library hasn’t be created. (For guys who speaks of others softwares to do the synchro, it was not necessary to change.)

One question now , is to know how to modify the alternate paths , see picture.

If I try to delete, they are still there when opening again.

If I try to create a new library, Kicad proposes the path on drive C under Documents.

Preferences → Configure paths

I tried to modify in preferences, but, if I replace the path with another, for example footprints Kicad don’t found the standard footprints.

Must i add another path , with the same environmental name? Like KICAD6_FOOTPRINT_DIR ?

I have tried.
The variable can have only one value.
Adding a new value kills the old value, and Kicad don’t found the libraries.

You can use whatever name for a new variable. The important point is to add libraries to the library table (fp-lib-table in case of footprints) using that variable name. Now there are libraries using “KICAD6_FOOTPRINT_DIR” in the fp-lib-table. When you change the content of the variable, KiCad tries to find those libraries from the new location.

To understand this better you can create a test library with just one footprint and put the library folder in some location different than your other libraries, for example under C:\temp. Create a variable TMP_FP or something like that and point it to C:\temp. Go to Preferences → Manage Footprint Libraries. I suggest adding to Project Specific libraries for testing purposes. Use “Add existing” (the folder icon) and add you testing library. Now you should have a new line there which automatically uses TMP_FP.

My 3 cents.

I use Windows.
I don’t know what NAS is.
I have done my Backup.bat (all important files backup) and Backup_r.bat (only new files backup) in the 90s and never had enough motivation to search for something else.
I have my KiCad project files in D:\Mm\KiCad\PrjGrpName\PrjName directories.
I have my KiCad symbol libraries in D:\Mm\KiCad\_SchLib directory.
I have my KiCad footprint libraries in D:\Mm\KiCad\_PcbLib directory.
I have my 3D models used in footprints in D:\Mm\KiCad\_3DMod directory.

I backup D:\Mm directory each day.
When I want to work at laptop I just have to copy Mm directory from my backup pendrive (in my case that means copy from last full backup + copy from last ‘new files’ backup).
I don’t expect any synchronization program (I understand NAS has such function) can do well with PrjGrpName directory and not do well with _SchLib or _PcbLib directory.

The only problem for me is the C:\Users\Piotr\AppData\Roaming\kicad directory that is out of my backuped D:\Mm directory. But I didn’t noticed any problem when I just didn’t copied the current version of it. Only configuration that is not saved in Project file can be little ‘not current’. For example current project or recently Opened Projects list are old but it takes few seconds to search project I want.
I have no problems with library lists as since I have set them in 2017 I didn’t changed them.


To be clear, the trouble is not from the synchro again. It works perfectly well in fact.
The issue was only because if I do not create the same name (and only the name is necessary) of library on the second PC, it does not know that there is a library created.
Once this done, it runs.
I am on Kicad 6 and reading the FAQ, Kicad 5 seems a bit different.

AT the moment , I have created a new library on PC2. and is only visible on it.
I have to do just an extra job on PC1 to let Kicad know it.

An other issue I see, is that it is impossible to modify the defaul path that Kicad propose where to save the footprint library. If I don’t take some extra attention, it will save it under programfiles/kicad/ etc…

So I look now how to change this value.

Me too.

Testing all the KiCad’s functions (and finding what can be improved) is of course much appreciated by all of us as a way to make program better.
But if the goal is to make the life easier it may be better to avoid unusual actions.
From my point of view, creating libraries is a one time action. Moving to KiCad I thought carefully about what structure of libraries I want to have and I created them once using those time KiCad 4.0.7 (at the beginning I had in some libraries only 1 (not needed by me) element (symbol/footprint) just to not have it empty).
Now I only use:

  • ‘Save Copy As…’ in Footprint Editor,
  • ‘Save As…’ in Symbol Editor,
  • copy file using file manager if I want one of KiCad’s footprints to have in my library.

If you create at one PC the new library and then add it to the list then you modify the contents of AppData\Roaming\kicad at that PC so you need some way to copy it to second PC.

You can probably find the way to have that all done automatically. I can’t help in it. I am just saying that may be the simpler solution is to find workflow not needing it.
It’s just my lazy nature - I’d rather avoid problems than solve them.

Many thanks for this post.
You are right, and I forgot to have a look on App/data/roaming.
The file fp-lib-tabl is there. and the update of library is inside.

As you say , I can find the way to do it automatically. or I continue to create again the same names on the other PC. At the moment , its works . I wiil see if I put this directory in the list of those managed by the synchro. It is very quick to do , but not very universal.

The file fp-lib-table is the result of what Kicad footprint editor writes at the exit .
My way is to say the other kicad to do it, while creating the new name, but like an human , it is necessary that I remember to update the other PC.

On other way is to put every footprint in one unic library. And may it is what I will do , because I do not have so much footprints to create, even if I will mix THT, SMD, connectors, and so on.