Make a previous project into a "daughterboard"

thanks, but shouldn’t I include the symbols in the schema as well?

Cheers

Daughter Boards are easy - When you have the Board designed as desired, use the StepUp Workbench (in FreeCAD) to load the Board, Load the Pads/Traces… Then Export as STEP. Now, you can use it for a Footprint…

(Loading into StepUp will load the parts/footprints, too…

Examples


thanks this seems like a solution, I’ll have to fiddle arounf though 'cause I never have used the freecad feature of kicad nor am familiar with this procedure. Any suggestions on where to find docs or help to learn it?
Cheers

There are plenty of posts and YouTube videos on making Footprints.

A Daughter Board (STEP file of it) is no divfferent than a a STEP file of a Transistor/etc wherein you (User) creates a Footprint and associates the STEP file with it.
STEP files can be created with many software’s and can also be downloaded from various sites.

Also, there are plenty of YouTube videos on using StepUp…

This Video may help with respect to loading in StepUp…

Tried that on Mac but doesn’t work… No way to open a second instance, you CAN open a second (or more) Schematic(s) and/or Pcb(s) but NOT a real 2nd Project or I missed something(?)
Would be nice…

Version: 8.0.1, release build
Platform: macOS Ventura Version 13.6.1 (Build 22G313), 64 bit, Little endian, wxMac

I have been able to open multiple projects (Each in it’s own KiCad instance) for quite a few years. Probably since KiCad V5.

I’ll try, thanks. The video is ok, I’ll search in youtube 'cause I don’t understand the process (never used any cad software apart from kicad).
Cheers

ok clearly the freecad way is not the correct one. I think I’ll create a new symbol and try and copypaste from the first pcb (daughterboard) the connector and mounting hole in exactly the same spots so that I’ll be able to use them as a daughterboard.
It would’ve been nice transforming my currently pcb in a symbol+footprint too (when needed on the main board) but currently I’m clueless. Unfortunately (maybe due to my little free time) I haven’t been able to find good tutorials to do this on youtube, but it’s not critical now

Cheers

I don’t think there is a direct way to transform a PCB / project into a footprint in KiCad. What you can do is export various parts of the PCB, create a new footprint, and import those parts into your footprint.

It may help if you start by posting at least a screenshot of what your PCB looks like.

@paulvdh, I think you’re incorrect…

@Moriambar
Do This (Everything is done in Kicad, Not using and other software)

Example:

Say the goal is to Create a DaughterBoard-PCB and Mount it onto a real Project’s PCB

• Step #1: Create a Real Project

• Step #2: Create a PCB to use as a DaughterBoard (DB)
Therefore:
• Export this DB from Kicad as a WRL
• Make a Footprint for it and link it to the WRL

• Step #3: You want to place the DB 30mm above the Real project’s PCB and you’ve located a STEP file (or, WRL file) of a Riser-Post to mount it to
Therefore:
• Make a Footprint for the Riser-Post and link it to the STEP or WRL

Now, you have:
• A Footprint of the DB
• A Footprint of the Riser-Post
• A Real Project you want to use the DB and Riser-Post in

• Step #4: In the Real Project, place the Footprint’s of the DB and the Riser-Post

Notes: You’ll need to assess and determine the Placement, Offset and Scale (WRL’s will most likely need Scaling/Setting)

I did the Above steps and, for the Real project, I created a dumb PCB for this Real Project’s example and Placed the DB and Riser Footprints…

NOTE: I did Not bother to Scale or Align stuff for this quick example. Full process took about 5 minutes.

ADDED: Oh, for the DB’s footprint, I copied the PCB’s Edge-Cut shape and pasted it into the Footprint and changed layer to Front-Silkscreen

The Footprint Scaling for the WRL (if using mm in the export panel), is 0.3904


I’m not surprised at all this feels complicated. After all, this involves symbols, footprints, 3D models and two boards. Additionally, the relation of the two boards isn’t necessarily clear in general case. If there are only two boards, how to call them and which one is actually the more “basic” one? The bigger one, or the one having more powerful MCU controller, or the one which has been designed first, or the one which is attached to different kinds of boards or to which different kinds of boards can be attached? Which one actually defines the physical connection? In this case it looks clear enough, though. But because the OP doesn’t know how exactly to ask, even the seasoned KiCad users confuse the actual problem – and I don’t still know what the OP needs to know.

First, we have a board which already has the connector and the mounting hole (B1). The connector and the hole are there as footprints. If I have interpreted correctly, the OP needs to have those same connector and mounting hole pads in the same location in another board (B2). At least that’s how I interpret the question,

I don’t see a mention of a 3D model there, and the question of a symbol is brought up later.

There are two options for this, and those two answers have already been given. Which option is better depends on several details. Do you want to possibly reuse the B1 in several projects? Do you need a 3D model for the combination? Which one comes to top, which one to bottom?

If you ever need only this one B2, it may be enough to have two projects side by side opened in different KiCad instances and copy the connector and mounting hole footprints from B1 and paste them into B2.

If you want a reusable B1, it would be better to make a footprint which represents it and which can be used in other projects. This has also been described: copy the needed footprints and edge cuts from B1 and paste it to a footprint in the footprint editor. Then add that footprint to B2. If you need 3D model to see the combination, export B1 as a STEP model and attach it to the new footprint.

For creating the schematic for B2 you need a symbol or symbols which represent B1. That should be straightforward because there’s only one connector in B1 for this connection. Even a standard KiCad connector_generic symbol with correct amount of pins is enough. Attach the new footprint to it, and remember that the symbol pin numbers and the footprint pad numbers must correspond.

So, you first should understand your own needs better and communicate them to us better. Then we can tell which solution is the best, and how to continue with details.

Why?

What steps do you take to “Make a footprint”?
Exporting a 3D model of a PCB is not the same as making a footprint.

I suppose “a direct way” could imply to some users that nothing should be required beyond just a single click but, to ‘me’, a direct way implies using the embedded Kicad Tools/Resources without a lot of hurdle-jumping.

And, Exporting a single WRL yields All the Parts, Pads/Traces so, no need to export individual Parts/items.

Thus, if a User has created a PCB (of even ‘only an Edge-Cut layer rectangle’ without any parts on it) then,
File>Export>vrml… produces a WRL that can be linked to a Footprint.

That Footprint can be nothing more than a Silkscreen (other) of a Rectangle (for example).
In the Video example, Step #4, the Small Rectangle is all that I placed first and is all that was needed. And, the only reason I used that was to yield a visual of having a placed footprint (otherwise, only the ‘Ref’ and name would be shown, (if visibility enabled).
I added the Daughterboard-PCB’s shape only to make it more clear visually (to Users).

The Footprint was done in the usual way: New Footprint, added the Silk (mentioned) and linked to the WRL. Done and Simple.

The Footprint - Worth mentioning: The Image-Converter Tool Creates&pushes out a New Footprint, so a User can create a very simple drawing (or a Screenshot of the PCB) and use the Image-Converter tool to create the Footprint so, it this sense, Kicad does have a direct way to Create a Footprint of the PCB. That image can also be used for the Front Silk…etc. User just needs to Link the Footprint and WRL.

The Footprint for the Riser Post - also simple, just a Circle on Silk layer and linked to a STEP file.

@Moriambar , No measuring of Parts, Headers… need to only place Origin, Re-Set the Cursor/Grid X/Y readout (press Spacebar) at bottom of Window to gain info of where Holes/Parts/Item’s are with respect to where User sets the Grid origin (spacebar) and where Cursor is currently pointing.

And: User can get the Positions of items/contents from the ‘File>Fabrication Output>Component Placement’ file

From Image Converter… (I used a Screenshot of the Step #4 )

just for reference there was a thread about this subject:

That thread has very similar content to this one, so It’s a good find, but also has no solution.

A real solution may be to be able to load a PCB into the footprint editor. Then you can modify it, delete unwanted things. maybe change castellated pads for the daughter board into SMT pads for the footprints, do pad renumbering (if the daughter board has multiple connectors) etc.

Until such a solution exists, (worth a feature request?) I guess the best option is to plan ahead. First make a footprint for the daughter board outline (including connectors), and then use that footprint both on the daughter board and in the mother board project.

Paul, I wonder if you have read at all what I have written. It’s possible to copy the board content to the fp editor.

I’m getting fuzzy again, I even mentioned Copy & Paste myself.
But before I’m going to leave my PC for a few hours, I just wanted to verify, and there seems to be a bug in this area.

I have a footprint on the PCB on the lef side, and opened that footprint in the footprint editor with [Ctrl + e]. After that I dragged a box around the footprint in the PCB editor (also selecting the track segments), copied them, and pasted them in the footprint editor. (on the right side). The pasted footprint has the pads shifted relative to the rest of the footprint. This offset also is not always the same, and sometimes the pad locations are correct.

I linked to a bug report in my first post in this thread. However, I’m not sure if the description in the report is 100% correct or if your bug is the same one. In any case paste doesn’t work correctly now, but the report has been marked as “medium” severity which means we can expect it to be fixed in near future (or at least hope :slight_smile: ).

1 Like

Thanks, I understand what you say and, in combination with @BlackCoffee’s solution I think I can manage and create what I need.
As per the communication issue: you’re right the problem is 1) I’m a non native English speaker 2) I’m an absolute beginner. I appreciate the patience you and the others have shown in order to solve my problem

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.