Special 3D footprint with I2C MUX placed on it


I would like to make a “special” 3D footprint model where the components themselves are on a PCB which then has 2 rows of headers. That should be a footprint on itself.

The PCB is a I2C MUX adapter with the TCA/PCA9548 as MUX and a few SMD components next to it. The PCB itself is shown below, the headers are missing in the picture.

Intention is to make the PCB including the headers (2 rows of 12 1-pin headers) and use it as footprint for this component.

I also just read that FreeCAD is the way to go now to create 3D models in KiCAD and there’s a FreeCAD plugin called StepUp (or something like that) that helps to create 3D models.

Is what I’m thinking of making, possible with FreeCAD + StepUp?



Not sure if your question is about the footprint or the 3D model.

The footprint is basically just two pin headers with a common outline.

You could export the board above (including the headers) to STEP, load into StepUp for alignment and your 3D model is done.

1 Like

The simplest is probably to draw your PCB in KiCad, and then directly export the step file with:
Pcbnew / File / Export / Step /…
This is under the assumption that there are 3D models available for the footprints on the PCB you want to use as a module.

You can also do it with the Step Up workbench in FreeCAD probably. I’ve seen it mentioned a lot of times, but have not much experience with it myself.
Installing it is done with:
FreeCAD / Tools / AddOn Manager / Workbenches / kicadStepUpMod

Normally 3D models in KiCad are written twice to disk. Once in .step format, and once in .wrl. I think the .wrl is normally used in KiCad’s 3D viewer for better looks and colors, while the .step is used for more dimensionally accurate exports and standardized file format.

With the stepup workbench you can directly open a KiCad PCB in FreeCAD and manipulate it. So even if you want to use the StepUp workbench. First making the PCB in KiCad seems a logical first step.

Note: Normally the copper tracks are not loaded with the StepUp Workbench in FreeCAD. I believe that is a separate step.

1 Like


Yes, the question is solely about the 3D model. The footprint itself is no issue.


Hi Paul,

This is a good suggestion! I can make this small PCB as if it were a “final” PCB (I don’t care about the tracks, that’s not important).

Used PcbNew already a lot but never played with its export facilities, simply because I never needed them. But now I can… :wink:

Very good input indeed!


After you’re worn-out from the usual Footprint confusion, Consider this:

Sounds like you want to End-Up with a ’Thing’ that has PinHeaders, MUX chip/etc and the circuit. And, you want to be able to place it/re-use it (like a Footprint) on any other PCB you design.

If that’s the case, then you don’t want a Step, or, for that matter a Footprint. Why? The Step will not export without a PCB shape and all components are no longer individual circuit elements.

To accomplish what I think you want, do this:

  1. Draw a PCB shape on Edge-Cuts layer. This will be only a Temporary place-holder so, shape/size doesn’t really matter. It could also be the Shape you want to use or tweak for other projects.

  2. Add Two Pin-Headers with desired Pitch and Row Spacing

  3. Add a SMD footprint for the MUX, add the other components.

  4. Draw your Circuit and other items, such as Silk, Text, Courtyard…etc.

Save it with a Name that indicates it’s reusable part (for convenience).

Now, Usage Options:

  1. Open the File and Save a Copy with new Project Name and use it as needed.

  2. Open the File and Copy all the stuff and Paste it onto a PCB in another project.

  3. Open the File and Save a Copy as a Template. Then, you can select it as the Basis for a new project (and, can Move/Edit it and re-shape the PCB).

Look for my Tutorial Post on Making Templates…

Images below show Result of Quickly placed PinHeaders, an SMD Chip and Two Traces (not real circuit - just some traces for example)

A few hours ago I started to write a similar post.

Then I realized that putting the parts on a schematic, do normal footprint assignment, and then put them all in Pcbnew with [F8] is probably easier and quicker then adding footprints one by one to the PCB directly in Pcbnew, and I deleted my half written post.

Think I’ve not been clear enough about my expectations. Silly me, I should’ve added immediately a real example of another component which is more or less what I want, except with my components (see my initial post).

Here’s a real example of an ESP32 model you can use to put “onto” your real PCB if you assign this 3D model to the footprint you create on the real PCB (note: mine is by far not that complex…):

And this is the result of a quick PCB I made a few minutes ago with (yet a few other) 3D models of the ESP32:


I’ve changed the angle of the view in such a way that you can clearly see the 3D models are “on top of” the real PCB.

Pardon me, but I think the example you gave puts everything back “onto” the final PCB while the above ESP32 example is something you put “on top of” your PCB.

The example PCB with the two ESP32’s on it is exactly what I would like to achieve with my I2C MUX PCB. And that’s, to my humble opinion, also what @paulvdh was suggesting with his workflow.

I’m sorry if I wasn’t clear enough in my initial post, hope I’m now…


Ahh… Yes, I didn’t understand what you wanted.


This is the result following the way @paulvdh suggested (not 100%, but 98%). Result is not that bad…


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