Multi-board design problem

Greetings KiCad folks -

I have a design with multiple “main” boards that share a variety of shared and stacking oddly shaped plugin boards. The plug-ins lay parallel to the main board and interconnect with 0.1" square-pin pins and sockets.

The puzzle is how to lay out the pins and sockets on the two sets of boards so that they match each other. I have considered making a “part” for each of the plugin board styles. Each one would contain an outline and the pads that correspond to the pin and socket locations. The boards would be outlined with a “Dwgs_user” or “Silk” line. When laying out a plugin, those lines would have to be made into “Edge_cuts” but I don’t know how to do that without changing the footprint; a second copy of the footprint, perhaps? Those lines could also be traced to make the plugin outline. A problem that I see, however, is how to make a part into a board? There would be nothing to place it onto. This has me puzzled.

This all seems a bit convoluted but compared to precisely measuring and relaying out each version, independently, (and with a high probability of error), so maybe it is not so bad.

Are there other methods that I am over-looking?

Many thanks
Jim Wagner
Oregon Research Electronics

1 Like

Hi, just to clarify:
You have a number of differently shaped Mother Boards onto which you need to plug a number of different Daughter Boards.
Several Daughter boards plug into each Mother Board.
The Daughter Board plug in positions must be the same for each Mother Board.
The 0.1" square pins have 90 degree bends to keep the Daughter Boards parallel and these pins protrude from the edge of the board.

Do I understand correctly?

Not quite. Mother boards all same shape. The plug-in boards come in a variety of shapes, each shape has its own unique position on the mother board. Each shape has the same position on all of the mother boards.

The plug in boards are all parallel to the main board. The connectors are straight square pins, that go into straight receptacles. Both pins and receptacles are vertical (e.g. normal) with respect to their boards.

The issue is the complex shapes of the plug-in boards and the complex locations of the connector strips. It makes it difficult to transfer the shapes and location by simple dimensioning. For example, circular arcs take a LOT of work!

Thus, the idea of making a “part” for each plug-in shape to establish a group of pads and an an outline, The problem I am having is to understand how to make a part footprint define an entire board outline AND a location on a main board.

I know that I can make a template for the main board and a template for each of the plug in boards. The issue is still making certain that the the board outlines and the connector patterns match between the main board(s) and each of the plug-in boards.

Thanks for asking for a clarification
Jim

Hi @j_wagner

What about draw your daughter board shapes and connector strip pads then “Box Selection” and “copy /paste”, move, rotate etc. those onto the Mother Board.
You can copy / paste footprints, tracks, etc. between different projects now.
Copy / Paste is in Edit.

Hmmm, I really did not want to move to the next major version quite yet. But, if I can do that, maybe it will be worth it!

Thanks
Jim

I never tried copy / paste in 5.x.x Have you tried it in 5?

I tried on 5.1.x but could not figure out the magic words. Stronger words did not work, either!

With copy/paste, how would you change cut lines on the source into simple, lets say Silk, on the target?

Thanks for your help!
Jim

You already have the Daughter boards finished?

No, Just starting to deal with this batch of layouts. That generated the current question. Main boards are likewise just being started.

All ideas are appreciated!

Thanks
Jim

Properties of line will allow you to change layers. Double click on the line will bring up the properties.
There also may be a hot key.

I didn’t know if 5 would cut and paste… I guess not from your reply.

If you decide to try 6, what is your OS?

MacOS. Have Win10 available but on a small screen laptop.

Thanks
Jim

One thing to consider is that if you make one footprint for several connectors, you have to have one symbol for them all. For example, if you have two pin header rows in two locations on the motherboard and they have clearly separate functions, those two separate functions are reflected in the symbol, too.

Copy/paste is vastly enhanced in v6. Not only can you easily copy and paste between designs; you can also copy items from a board and paste them to the footprint editor.

Unfortunately there’s no way to do that for a bunch of items at once, if you mean changing the layer of graphic items. You have to select and change the layer from the properties of the line, one by one. For KiCad v5 there’s an action plugin for that, but it probably won’t work in v6.

I asked about your OS because I know with Windows you can install 6 alongside 5 so you could try it out.
Unfortunately I know nothing about Mac. Maybe someone else may comment.

Ah, so it doesn’t work in 5.

I’m not sure about board to board. Maybe it worked with two projects open at the same time, or a project and a standalone pcbnew. With eeschema it didn’t work at all. Nor from the board to a footprint.

You can install KiCad 5 and 6 on macOS at the same time - just change the name of the install directory. I usually put the main version in /Applications and any versions I am experimenting with in ~/Applications - if you do this you need to rename anything.

The “concentration bug” is hitting me again, so I did not read all posts carefully.

If you have a bunch of 0.1" headers and you want to match them among several PCB’s, then put them all on a 0.1" grid. I have a strong tendency to use (127mm, 127mm) as some kind of reference, because it is a grid point that is shared between metric and those “other units” without changing the (0,0) grid reference. Piotr as a different approach. He designs his PCB’s around (0, 0) but removes the layout of the paper. The paper sheet itself can not be completely empty, because then KiCad inserts a default sheet.

If you stick to this, then all your connectors will either fit exactly, or they are a multiple of 2.54mm off, which is easy to spot. If you see that any of the pads is off that 0.1" grid, then you know the footprint location is not correct.


KiCad V6 (KiCad V5 probably too) has a Module library with footprints for common PCB’s.
I think what you want to make is very similar to these modules.
You can make similar footprints of your daughter boards, and then re-use those footprints on the main PCB.

These modules have no graphics on Edge.Cuts.
Once a Footprint is placed on the PCB, you can’t change individual parts of it.
So indeed, making two versions of a footprint for such a module is a viable option.

Another method is (with the above module as example)

  1. Set the layer to F.Courtyard.
  2. Draw lines over the F.Courtyard of your footprint.
  3. In the Appearance manager, temporarily hide the footprint.
  4. Move your drawn graphics to Edge.Cuts.

But just making two versions of a Footprint is also viable and simple.
In the Footprint editor it’s easy to move any graphical line to another layer.


Yet another method is to work with templates.
A Template in KiCad is just a project, saved in a special location, and some small things added, such as a picture as an Icon to recognize it and a description in HTML format to describe what it does.
If you create a template of your biggest PCB, then you can use the template to start one of the smaller PCB’s and then just delete any parts you do not want.
Replacing footprints on a PCB while retaining the location is easy if you:

  1. Draw a track to a pad of that footprint.
  2. Delete the Footprint.
  3. Snap a pad of another footprint to the track end in 1).

1 Like

First - I’m in Lake Oswego, Oregon

Regarding mating of the Boards and facilitating an Edge-Card style hookup… A short Pig-Tail with connectors might be better…?

I’ve posted a How-To-Do Edge-Card video here on YouTube and have other PCB related vid’s there…

Making Mother/Daughter boards is easy but, the steps to getting a pretty 3D graphic, while easy enough for some, isn’t easy enough for everyone… And, it requires using CAD to generate/etc the solid models…

A few crude demo screenshots

Screen Shot 2020-04-09 at 2.20.25 PM

Tangent, here, close to Corvallis and Albany.

Thanks, everyone, for the great suggestions. I had not spotted the Module library and was struggling for a good place to put things; that will do, nicely. I now have a workflow that will do it for me. A summary of the workflow is described in the next paragraph. The Adafruit Feather is a great example, by-the-way, as you have almost the same problems as what I have been dealing with.

In my case, I will have two different parts, one representing the daughter board, outlined with a cutline and with pads appropriate for the daughter board’s version of the mating connector. The other will represent the board as a part on the main board; the footprint is duplicated from the daughter board, with the outline changed to f.Silk and, if necessary, the pads changed to reflect the connector pin sizes actually used on the main boards. There will be a symbol for each, drawn with an approximation of that board’s shape (for easy recognition in the schematic editor) and with pins or receptacles as appropriate. One trick is that the footprint of the module BECOMES the module in the PCB layout view; its outline is the board outline. This DOES raise some “issues” with the BOM as there will be multiple connector strip components associated with this one part; I suspect that some of those will have to be added to the BOM by hand.

Best wishes to all of you!
Jim Wagner
Oregon Research Electronics

1 Like

Uggh, have just run into a problem: the V5.1 footprint editor will NOT allow placing an edge cut line in a footprint. Does V6.x?

Thanks
Jim