This is an interesting idea, though I’m not sure about excluding SMT.
I think ultimately it’s about how to best divide libraries (footprints and symbols). Would creating a newbie library create an unrealistic “slush” file? Should people be expected to learn about where to go for footprints and symbols, since they’ll likely want to do the same later? I’m really not sure (but am hoping others have opinions as well)
I think the footprints a newbie would want are already included in the standard Kicad libraries that are accessible through github. All that would be needed is someone to pare down the library list to the essentials and publish the fp-lib-table. Then anyone else can cut-and-paste that into their pcbnew library list and have access.
For the schematic symbols, you would just need a small .lib file with a resistor, polarized/unpolarized capacitor, inductor, potentiometer, PNP & NPN transistor, N and P MOSFET and some common ICs. Since there’s no github-accessible library feature for eeschema, people would just have to install this small library locally.
After successfully generating my first schematic, I then proceeded with the PCB layout where I noticed that
some of the components footprints were not what I required. I then decided to change them.
Things went from bad to worse and eventually I inadvertently deleted the project.
I will try and recover the deleted schematic file, else I will start again.
Any tips would be appreciated!
I often see reference to Github libraries but where and how do I install and use them?
I’m completely new to KiCad (well, 2 days old) and if there’s one thing you need to do it’s work through the Contextual Electronics youtube videos. I’ve been chugging through them, and they’ll get you up and running really quickly. Maybe start with the “Getting to Blinky” series.
For GitHub libraries, you’ll need to head over to the Github Website - it can be confusing at first but they’ve got good guides and even more on the internet to get you started. If you believe in sharing your work with others, collaborating, or even keeping version history then github is a great tool for you to use personally
I echo your sentiments about git and github. Git is great for version control and github is great for sharing. If everyone links to existing Kicad libraries on github and shares their own footprint libraries, it will cut down on a lot of duplicative effort.
Here are a few things I learned about using Kicad and github:
Keep your libraries in the new .pretty format which is just a directory with a .pretty suffix that’s filled with individual footprint files having .kicad_mod suffixes. The github features in Kicad don’t work with older libraries in the .mod format. If you have .mod libraries, open them in the module editor and use the “save as…” operation to create the .pretty format.
Store each .pretty library in its own repository on github. Don’t make a single repo with several libraries in it or Kicad won’t be able to work with it.
Put a text string in the README file of your library repo that allows anyone to add your library to their Kicad list using a simple cut-and-paste. I have an example of how to do that in my own library at https://github.com/xesscorp/xess.pretty.
I believe you (and others) have made a valid point: having a basic library of schematic symbols and footprints would help people just starting out. That doesn’t exist right now in any polished form, so someone will have to build it.
As for git & github, a new user doesn’t need to understand those or install any software to get the benefit from them. They just need a version of Kicad that supports github libraries and the ability to cut-and-paste into their list of libraries. Then they can access the existing libraries on the net. It’s only when they want to start sharing their libraries that they need to know about git.
After deleting my Schematic I have now restored it from the Deleted file and will try again to do the PCB Layout. If I new how, I would paste my simple circuit to this post for comment.
I note the reference to devbisme’s suggestion to learn Github but I will leave that for a later date.
I have just discovered the problem of needing a separate repository for each .pretty library and this has lead me to your post response above.
I have checked out your github page to see how you have organised your libraries. You have one ‘xess.pretty’ repo, with all your footprints inside it.
I am keen to organise my own footprints. For example, I would prefer to create a separate library for my connectors and discrete components, ICs, etc. But ideally I don’t want to clog-up my github page with lots of separate .pretty repos. It would be great if I could set up something like https://github.com/bh4017/kicad/ and have all my .pretty repos underneath that. It doesn’t really need to be a repo within a repo, but simply a separate location where all my kicad repos are kept. I can’t find any immediately obvious way to do this. I have done a very quick google search on creating repos within repos but I read some information about how there’s a different method for committing/pushing to subrepos compares to normal repos and it all started to sound a bit messy.
Is there an easy solution to this that you know of?
As far as I’ve been able to tell there’s no easy way around this. It’s a limitation of git. Personally I have had more experience with svn, and with that version control system it’s a trivial matter to have a repository with folders inside it and just ‘checkout’ the folder that you want. So you could checkout only the ‘resistors.pretty’ folder from your kicad repository, for example. It’s part of the svn workflow. But git is engineered differently, and its workflow doesn’t permit this kind of activity. If you want to checkout (pull in git) a specific part of a repository then it seems that you must create a separate repository for it.
I did read up a little bit about submodules which sounds like it might be along the lines of what I want to do but the whole thing is very tricky to use for someone who is new to git, and unless kicad would be on-board with it then I still wouldn’t be able to add these submodules to the library table in a way that kicad would understand anyway.
So, separate repositories for each component type it is then!
I have tried to follow your example by including a readme file which allows a simple cut/paste into the library tables.
I am having terrible trouble with it! I don’t know if it’s just because I had almost zero sleep last night or what, but this is giving me tons of grief.
Firstly I tried yours; fine, it copies in all the data to the correct rows of the table.
Then I tried to create my own readme, and I copied your step 1 text out as a template. I just modified the details, nothing more. I tried to copy it back out using a text editor but the paste operation just dumps the whole lot into the first row. Then when I check my README in the browser, I find that the table text is displayed all on the same line for some unknown reason. I faffed about with this many times but nope, it wouldn’t have it. Looks fine in my text editor, but its messed up in the browser render.
Okay fine then - I’ll just fork your repository, grab the readme from it, and edit it with my details directly on github.com. Now it finally renders in the browser properly. Will it work when I try to add it to KiCAD? NO!!! It still dumps the whole lot into the first row.
I give up for now; will have to try again later. Am I the only one being given the run-around with this???
For beginners or those wanting to do simple circuit this would be an ideal quick start. Had the same thoughts when wrestling with eagle for simple project about 18 years ago. It seemed to have got more complex.
I did not find simple small .pretty with everything I need in it…
however the new Kicad 4.0 has some changes:
PCBnew Prefernces has a Footprint Libraries wizard to add github or local files
or there is a Footprint Libraries Manager where one can enter the 3/3 items below in a table
or one can add:
(lib (name XESS)(type Github)(uri ${KIGITHUB}/xesscorp/xess.pretty)(options “”)(descr “Miscellaneous PCB footprints created by XESS Corp.”))
Hello crashbang_proto…
I’m new to KiCad, too (had been using a non-standard app from a pc board fabricator), and I’d like to get started, but I’m having trouble setting up a new schematic symbol library. I’ve recently installed Version 4.0.4 (64-bit) in Windows 7, and I want to create a new library for my own parts in
C:\Users\mjjtunes\Kicad Projects\MikeLibrary
I viewed this video several times…
But either his version works differently or I’m getting confused when I flip back and forth between YouTube and KiCad. I’m going to try your suggestion of the Contextual Electronics videos.