Transform an electrical diagram into its printed circuit board

I have started to use KiCad. I have realized a simple electric schematic, but I can’t carry it on the printed circuit board, I can’t create the file . cmp. Can someone help me?
Thank you

Why do you want to create a “.cmp” file?
It is not needed in a normal KiCad workflow.

I think this is the best and most up-to-date beginners tutorial in text format for KiCad at the moment:

… and it does not mention the “.cmp” files at all.
But if you want to know. Those files are made by Pcbnew / File / Export / Footprint Association (.cmp) File

1 Like

Wow, learned something! Don’t really see the point of the .cmp file for Users though. The .cmp file includes the TimeStamp and Path that CvPcb (Assign Footprints) does not; but I do not see any way a User can benefit from this information.

The .cmp file can be generated by pcbnew for back annotation.
Then is read by eeschema and references are updated.

I think v5.99 will use a different method for back annotation.

The .cmp file is not needed for the normal flow schematic->layout

2 Likes

I once made use of this to make a project completely independent of KiCad’s libraries. I first archived all footprints with Pcbnew / File / Archive Footprints and then changed the footprint links in Pcbnew to point to that archive, and used the .cmp file to also make the schematic symbols to point to that library, and imported those changes with Eeschema / File / Import / Footprint Association File.

I am generally not a fan of back annotation though.
The root of the link between schematic symbols and footprints are the links in the schematic symbols in the schematic itself. I might as well have changed the footprint links directly with Eeschema / Tools / Edit Symbol Fields.

The quickest way to do this manually, probably is with a text editor:

  1. Archive the footprints from Pcbnew.
  2. Create the .cmp file.
  3. Edit the .cmp file in a text editor. Replace all footprint library names with the archive library name.
  4. Back-import the .cmp file into Eeschema.

But a scripting approach such as below is probably much better for this purpose


(I have not run this script yet though, So first read the script for “weirdness”, and then only run it on a copy)

Dear Paulvdh
thanks for your replay, but I still have some problems.
I have tried to follow the tutorial, I have downloaded the project in zip form, but I have found some difficulties, for examples:

  1. when I open the project, under the file .pro I do not found the file _pcb and the file .sch

  2. when I select “Tools->Update PCB from Schematic…” I have not errors but the schematic is not reported on the file *_pcb, so I can not work e I do not gone on with the tutorial

I work with the version of KiCad 5.02.

Can I help me another time?

Thanks in advance for your cooperation

Presume you mean 5.0.2 which is positively ancient. A good starting point would be to update to a current version (we are now on 5.1.10) which will have many bug fixes since your version.

Which tutorial are you using?

Likely the tutorial I pointed him to in my first response. :slight_smile:
The “first_project_schematic_done.zip” file opens normally in my much more recent KiCad V5.1.10.

I think the tutorial of 5.1 version

Now I have installed the new version 5.1.10, I have used the project inside the tutorial, but I have the same problem, when I try to carry the electric schematic on PcbNew it do occur nothing. I annex the operation of the Tutorial.

.

What is it wrong?
Does it exist an improved tutorial?

Another thing which I think is important.
In the following screenshot of the tutorial:


I find in my work the file _pcb and another time the file .pro, but no the file .sch

FWIW, your screenshot is from KiCad 5.1.5 - this is a more recent version tan you were using previously but it is still not up to date and there have been lots of bug fixes since 5.1.5 was released.

What do you mean, you can’t find a .sch file? The schematic ‘first_project.sch’ is right there in the directory tree on the left hand side. You can open it directly from the tree by double clicking on it or by using the ‘Start the schematic editor’ button.

Screenshot 2021-09-08 at 16.25.41

Can you share a screenshot of the schematic? KiCad is ‘schematic dependant’ - i.e you need a valid schematic with assigned components to bring into the pcb layout. Whilst you can work around this, when you start out, I would learn the ‘normal’ way before experimenting. Once you have a layout, you can open the pcb layout program and then ‘Update PCB from schematic’ to bring in all the footprints.

I?m using a project of the tutorial, so I think it’s correct.The link of the project is the following:

https://forum.kicad.info/uploads/short-url/cMJzd4wOt7DAyx4cY0XMK9bzON9.zip

When I open the file.zip I see this list of file (see the screenshot 1) and if I click on file.pro it’s opened a window with only the file .pro but there isn’t the tree with file_pcb or file.sch (see screenshot 3).

If I open the file.sch the image is the screenshot 3


Could you help me?
I’m stopped in my work
thanks

That screenshots clarifies some things.

image
You can not work with the zipped project directly. You first have to un-zip all files of the project in a directory and then open the project from that position.

You may think you are working from the project in this location:
image

but when you try to run it directly from the zip, then your zip program makes a temporary file, and gives a link to the temporary file to KiCad to start it. In this case, the real location of the schematic is in:
image

Or it is in:
image
And those are different temporary directories, and they change each time you run something directly from the zip file.


And there is another big problem.
This is from KiCad’s project manager.
image

According to the titlle it is a KiCad-nightly V5.99 version, but it still uses the old icon style, which means it’s half a year old. KiCad-nightly literally receives updates almost every night. It’s main use is to give KiCad users the opportunity to help find bugs in new versions which are not fit for the general public to use. You should never use such an old KiCad-nightly version.

The quickest way to fix it is probably to first both UN install both the very old KiCad-nightly and KiCad V5.1.x and then re-install the latest stable KiCad version by following the instructions on https://www.kicad.org/download/

Uninstalling the old KiCad-nightly V5.99 version prevents you from making the mistake of ever using it again. And a clean install of the stable KiCad should fix file associatons (mime types in Linux) to point in the right direction.

1 Like

Sola lettura = Read only - should have been a bit of warning.

If you are following a tutorial, I would stick with the stable 5.1.10 version and follow @paulvdh advice on tidying up. The 5.99 version is significantly different such that it will be confusing if you are following a tutorial aimed at 5.1.x.

1 Like

Thanks, finally I was able to complete the tutorial, but I have another question:
I want to transform the file_pcb in a file gerber, how can I do?

It is the last chapter of the tutorial I linked to earlier.

Apparently you have some problems with the English language. It is in: Pcbnew / File / Plot

My Italian is certainly worse then your English.
Have you tried an online translator for the above tutorial?

1 Like

In the tutorial which I have read I haven’t found this information, if you can indicate me the right tutorial, I will read it with pleasure.
I find in PcbNew/File/Export the following file:
_ Specctra DSN
_GenCad
_VRML
_IDFv3
_STEP
_SVG
_ .cmp

I don’t find “PLOT”, could you send me a screenshot?

File -> Plot (NOT Export)

The Gerbers are created using the ‘Plot’ menu item - historically Gerbers were output on a photoplotter.

1 Like

Yah,
I also posted:

just before that.

The extra link I posted with “Tutorial: Introduction to …” directly points to the section of creating Gerber files.

If that is not enough, then I don’t know what is.
Are you trolling?
Edit: Not an accusation, but a genuine question.
Communication in this thread is exceptionally difficult and I wonder why. Maybe it’s a language problem as mentioned earlier, maybe one of a long list of other genuine reasons and I respect those and can be patient. I have no tolerance for trolls though.

1 Like