Skip to content

Board Layout

MorrisYLin edited this page Sep 25, 2025 · 5 revisions

Footprint Assignment

In the schematic, you placed "symbols", which represent the different components you chose to place. These abstract away the physical details and retain only the pins and their names/functionality. However, when moving onto layout, you will need the components "footprint", which details the conductive pads, drill holes, etc. that specify how the component sits on the PCB and all the mechanical requirements to mount that component. Sometimes if you search for specific components, they will have their footprints already assigned with the symbols, but many basic symbols like capacitors, resistors, etc. won't have preassigned footprints.

In the schematic editor hit the image icon to open the footprint assignment dialog. You can also edit footprint assignments for specific symbols by opening their properties dialogs.

image

The above shows the dialog and what the assignments should be. Your reference numbers will be different than mine, so you should match the footprints by looking at the component values. I've provided most of the footprints here for you, but as practice you'll find and import the footprint files yourself.

Looking for a Component

First, in order to find freely available CAD files for components, you'll need an account for componentsearchengine.com, make an account now.

We use the vendor mouser to source all of our components, since they're based in Dallas and can ship quickly to us. You will find an inductor that matches our requirements, which will just be the inductance value for this project. On Mouser, hit Inductors, Chokes & Coils, then filter the inductors by value. For the purposes of onboarding, I won't require you to find an inductor that is exactly 170uH, any inductor in the 160 to 180 uH range should be fine. In other projects, however, there may be more specifications or tighter specifications for components.

image

After you've found a component that also has ECAD files available, hit the green "ECAD Model" button and download the files, using the login you made earlier.

image

Extract the zip file (outside of your project directory) and look for the KiCad folder in the extracted files. The .kicad_mod and .kicad_sym files are the footprint and symbol files respectively, which will be the only file types we'll care about when importing components. The rest are for legacy versions of KiCad.

image

In your project directory, create a directory Example_Library and copy in the .kicad_mod file for the component. Then, in KiCad hit Preferences > Manage Footprint Libraries, and the dialog below should show.

Make sure you are looking at project specific libraries! We will never add global libraries.

Add a row to the bottom of the table, name the new footprint library RM_Example and assign the library path to Example_Library.

image

This creates the footprint library Example_Library that contains just the footprint for the inductor that you found. All imported libraries in KiCad for both symbols and footprints follow this structure. However, for actual projects in Stampede, you'll add these files to the KiCad_Library repository and commit them in for use across every project.

Board Layout

If you haven't already, look at these slides for context of the whole design process.

Layout is where the "art" of PCB design really starts to show, for one schematic there's thousands of ways to create a valid layout. I highly recommend you take a look at my layout with a separate copy of the repo looking at my branch Morris_Lin. Additionally, reference the Kicad PCB docs for guidance and details on how the editor works, you don't need to read the whole thing but the table of contents can point you in the right direction for whatever questions you have.

To get started, hit the image "Update PCB from Schematic" button in the PCB editor window on the top toolbar. You HAVE to do this every time you change your schematic, KiCad will not automatically sync changes in. This will import components from the schematic, based on your footprint assignments, and will warn you if there are issues with your footprint assignments. Place them down and you can begin on layout.

Arranging components

Generally, I start layout by arranging components while looking at the rat's nest, the mess of bright blue lines on the layout. These are the nets governing the connections on the PCB. On the right there is a "Nets" tab, these are all the different connections that are defined by the schematic. All the ones named Net-(something-something) are auto-generated names that come from wires drawn in your schematic, while some the others with actual names come from manually created labels or power symbols. You can hit the eyeballs to toggle the visibility of the nets, or right click to group hide/show nets.

Normally you should hide GND and power nets, as with 4 layers or more you can reserve entire layers for GND or power pours. The onboarding project will be 2-layer boards only, so the only copper layers you may use are F.Cu and B.Cu. A good stackup for 2-layer would be a GND pour for the back, power and other traces on the front, and another GND pour on the front to fill in the remaining space. Therefore, I would just hide the GND net, since routing the power nets will be a little more involved.

image

Notice how the blue net lines generally never cross. Mess around with your component placement until you can get most of the net lines to avoid crossing, as they will dictate the paths for your actual traces and pours for the board.

Zones and Pours/Fills

Sometimes you have a net with tons of components connecting to it (Which is almost always power or GND), or a net that needs to carry a lot of current. \ It's annoying to try to route everything with traces, but it's also suboptimal as they will both limit current capacity and potentially force current into larger loops, which can affect signal integrity and noise. For these reasons, pours are often better.

image

Above you can see the various zones in my design. Zones define the areas where you want KiCad to automatically fill with pours. The ones for the inductor (the footprint with two giant pads) as well as the input +12V and output VCC are pours for the purpose of current capacity. They don't necessarily have to be pours (they could be thicker traces), but using pours rather than traces prevents issues with capacity. The large, surrounding zone is for GND, and I have configured it to exist on both the layers.

image

The above shows a config for a zone. This one is for my GND pours, and it's configured for both the front and back copper layers, as well as a priority of 0. This means that any other zones drawn crossing or within this GND zone with a priority greater than 0 will take priority and cut through this GND zone (given they are on the same layer). You'll need to configure these if you choose to do additional pours for the power and high-current nets.

Controls for zones:

  • Ctrl + Shift + Z: Shortcut to start drawing a polygon for a zone
  • Backspace: Delete the previously placed point of that polygon, useful if you messed up a corner
  • B: Activate KiCad's zone filling. This will fill the zones with actual copper pours
  • Ctrl + B: Unfill all zones. This will remove the copper pours so you can click through them and see the design more easily

Differential Pairs

Differential pairs have special characteristics to give signal connections high EMI resistance, the CAN communication standard is a differential pair. You can read about their details [here](https://jlcpcb.com/blog/pcb-basics-differential-pair-in-pcb-design.

For the onboarding project, the two CAN connectors should be routed as a differential pair. On the top menu, hit "Route" > Route differential pair or hit 6 to route a pair of pins as a differential pair.

image

This will keep the traces close together for correct differential pair routing, and should mostly work the same as routing a trace. You'll likely need to fiddle with the corner placement and the component placement to orient the pins correctly.

Running DRC

image

The PCB editor's DRC works the same as the schematic editor's ERC. Again, fix errors that you see, and if needed adjust your schematic to make changes easier. You MUST hit the "Update PCB from schematic" button to sync your PCB editor with those schematic changes.

Next Steps

See Fabrication Output & Submission

Clone this wiki locally