I’ve just switched from 5.1.10 to V5.99. I’m very used to Pcbnew, but a complete newbie in Eeschema and I haven’t used project files much. I have a few questions that may or may not have the same answer.
Do I have to place the board-file in the same directory as the project file? Or is there a way of specifying another location for the board-file? The location of the file doesn’t seem to be written to the project file?
Do the board-file has to have the same name as the schematic file and/or the project file?
Is it possible to have two schematics tied to a single board file?
I’m used to not tying the schematic so hard to a specific board file. Sometimes the the schematic is updated but not the layout, and vice versa. Therefor I’m not always updating the revision of both of them.
KiCad assumes all your project files are in the same directory. The main schematic sheet filename and the PCB filename also have to be the same as the project filename (except the extensions).
KiCad only supports one schematic and one PCB for each project. A schematic can have multiple hierarchical sheets, but I think that is not what you were thinking about.
I am also wondering what sort of PCB’s you design. Without a netlist you are missing out on a lot of functionality in Pcbnew. And without a schematic you do not have a netlist.
I once made a design for a battery pack for an electric skateboard, without having a schematic (the project was not mine) and it was quite a nuisance. It takes a lot more time and there are a lot more things that can go wrong when you work without a schematic and netlist.
I wonder why you work without a schematic.
People have a few reasons for doing so, but almost always working with a schematic is a better option.
Thanks a lot for your reply! I was afraid that was the case. Well, I’ll find ways to make it work for me. I’m not sure exactly how I will manage a new release were for example only a value of a resistor has changed, but I’ll make the best of it.
I was a bit unclear in my post, mostly because I thought it was a bit off topic. I’ve always used a schematic and a netlist, but I’ve used TinyCad instead of Eeschema so far. With 5.99 Eeschema has surpassed TinyCad in just about every way so it’s time to make a switch.
I don’t quite understand this workflow. Why do you want a schematic and a pcb which don’t match? How would having a board file outside the project help in that workflow?
In KiCad the schematic and the layout aren’t tightly coupled, you can have a mismatch because KiCad doesn’t force updates either way. I wonder if what you really would need if versioning for the project. It’s easy with a VCS, for example git. Make changes to one of the files, save, commit to git, create a tag or even a branch.
It’s not that I don’t want the schematic+layout to match. It’s just that a new release of a circuit board doesn’t always mean a new revision of both the schematic and the layout. Sometimes only one of them needs to be changed.
You’re quite right that I can solve this using git, and actually I’m using git already. However, I don’t like to work with tags or branches when it comes to circuit board releases. It’s too often I need to open an older schematic or layout. I really want all releases to be checked out.
My current workflow is that I have one directory with schematics of all revisions, and one directory with layouts of all revisions. A schematic is tied to a layout in our product management system, the revision of these doesn’t always match.
I see two solutions currently.
Use git and tag new revisions of schematic+layout instead of copying the file and having both revisions checked out. This is probably the most reasonable, but I don’t like it.
Create a new project directory for each circuit board release and put both schematic and layout in the project directory. This works fine as long as both schematic and layout is updated every time. If only the layout is updated, I can also increase the revision of the schematic even though no change has been made. However, if only the schematic (BOM) is updated, i don’t want a new release of the layout. I also don’t want two copies of the same revision of the layout. In this case its probably most reasonable to omit the layout from the project directory entirely, with some obvious drawbacks like not being able to selecting a symbol and getting it highlighted in the layout.
The last issue could be solved by in the project file pointing at a layout located outside of the project directory, if that was possible. That way more than one schematic (and more than one project) could share a layout.
It probably sounds like I’m messing things up for no good reason. Git can definitely solve this. But I don’t want having to check out an old tag/branch every time I want to open an older circuit board release. Especially when comparing two older releases this will be a hassle.