We have a 3D view available. The right side shows layers. Start with board setup (the second icon from the left up top).
Board setup comes first (second icon at top left).
Start with layers and turn off layers you don't need.
"F" denotes front side, "B" denotes back side.
Some things are locked. We just want the copper, silkscreen, and mask (I think).
We aren't asking for chips to be placed and soldered.
Board stackup defaults to a 2 layer board with 1.6mm total thickness, which is fine.
Board finish -- default is none, he picks HAL - lead free.
Solder mask is important. He enters 0.1mm for the first 3 clearance values.
Jump to design rules and constraints. We want our PCB to be manufacturable. My advisor Dan mentioned two things:
I see the defaults to be a via minimum of 0.5 and minimum drill of 0.3, which looks good.
I see a minimum track width of 0.2 and I bump this up to 0.3.
Phil uses:
clearance .152 track width .152 connection .152 annular .15 via 0.6 copper to hole .252 copper to edge .50 thru hole 0.3 hole to hole .254
uVias are micro-vias and we won't use them.
He changes min text width from .08 to .10
Now predefined sizes.
Here you seem to be setting up menus that you can select from later.
He uses:
Track widths: .3, .5, .75, 1.0mm Via .7mmm with .3mm hole Diff pairs .3, .3. .5
Net classes are imported from the schematic, if you have been systematic about naming nets, allowing you to specify "styles" for the different classes.
And we are done. Maybe. For some reason (KiCAD bug) many of my board setup changes got discarded. This is true of board layers and the dimensional parameters. I do it over (and over) and check until it "sticks".
Things generally work like the schematic editor, you can select and move with "m". Here moving with "m" maintains connections.
Alt-3 (Option-3 on my keyboard) gives the 3D view showing how KiCAD might fit the current layout onto a PCB. He makes great use of net classes and colors, and it would be worth watching the video again to get all the details (around 18 minutes in).
We will give it a try. I do a Ctrl-S to save, then up near the top right select "switch to schematic editor". It comes up on top of the PCB editor.
I use "L" to label 8 nets (along with using "E" to change some net names). I name them all with prefix "IO_". 4 are "raw" and 4 are "buffered". I save and exit the schematic editor.
There is under "Tools" an "update PCB from Schematic" thing.
Setting up a Net Class can be done from either the schematic or PCB editor. You use a wildcard (in my case I will use IO_*)
I bring up the schematic again. I use File -- Schematic Setup and then select Net Classes. I use + to set up a new net class I call "IO". I give it a bright red color, and select a solid line type Then below I set up a new pattern "/IO*" and assign it to class "IO"
Note that the pattern must begin with "/". It should show you a list of the nets matched when you type in a pattern. I did not see them all, but that was because my window was too small to show them. After experimenting to get this right I save and exit the schematic editor.
Now go to "board setup" and select "net classes".
Click the button "import colors from schematic"
The colors will show up on the right, you will probably need
to scroll over to see it.
That is all for board setup.
Now, on the right, under "Appearance", I select Nets. Expand "net display options" below that and select "All" The colors should appear on the diagram.
Note that you can use whatever units you want, 6mil or 0.3mm and KiCAD will do the proper conversion.
I begin moving things around and discover a mistake. I have a 74LS04 part and I picked a 16 pin footprint when it should have been a 14 pin DIP footprint.
I go back to the schematic editor, and type "E" to get symbol properties. I click on the library thing next to the footprint entry box. I find the 14 pin footprint (easy), select it and save. Exit schematic.
Back at the PCB I "update PCB from schematic", and I am back at it.
There is no cool split screen thing built into KiCAD. But you can have both the schematic and pcb editor up in their own window and then place them as you wish. This can be useful because if you select a component in one, that selection is shown in the other. It is up to you to resize and place these in some way you find convenient.
Take care what you hover over when you press "m" as it may pick a pin rather than the component center to snap to if you aren't watching.
"Inspect" has a handy measure tool (ruler) to get an idea of how big your overall layout is working out to be. Use it to line up the mounting holes and to put them at some sane spacing.
When you use "m" to move, you can use arrow keys to bump up/down left/right.
Rounded corners are easy, but I won't bother. They also may be more expensive (require a router tool, not just a V-cut). Use the "draw arc" thing on the right side, find the center point, find a start and end point, then delete the straight line segments you don't want. Allow at least a 0.05 mm margin to pads and such.
I use "Place" -- grid origin, and put it at the lower left. There is also a drill/place origin that you should put in the same spot.
"Courtyard" is a virtual layer that indicates the area physically occupied by components. It provides warnings when you place two components too close together.
KiCAD does not provide autorouting. There are some plugins that offer autorouting. I intend to stick with the interactive manual routing in KiCAD.
He shows how to set up the entire bottom layer to be a "polygon fill" ground layer. Look for "draw filled zones" on the right hand column. He selects the net "GND". There are a bunch of parameters. One is "thermal relief" that allows soldering thru hole components without having to heat up a giant ground plane. He outlines the board just like when doing the card edge, then types "b" and the defined clearances trim the copper to avoid all things that it should avoid.
Next he places 0.7mm vias near every ground pin. He suggests doing this before doing any routing. He doesn't hook these up yet.
He does power and ground connections after all other routing.
To do our first route. There is a menu at the upper left of trace widths (that we set up earlier). Then we hover over a pad and type "x" to start routing.
He uses 0.3mm track widths as a default for all signals. Wider paths are used for power and ground.
To delete part of a route, hover over it and pres "Del".
To change direction (sort of) press forward slash when routing.
I go to predefined sizes and add 2mm and 3mm tracks that I can use for power and ground.
Trimming and deleting tracks yields an unhappy battle with KiCAD Only experience will teach me an efficient way to deal with this.
Use "d" (for drag) in lieu of "m" (for move) to move parts of routes while maintaining their connections.
Press Shift-W while routing to go to a smaller trace width, press "w" to shift to a bigger trace.
A trace also has properties and you can use E to get the properties menu and change the size later if needed.
When routing power, go to the bypass capacitor first, then the device.
If you have a differential pair, KiCAD has a special command for that. Select it from the "route" menu up top. Useful for USB, especially at higher speeds.
If you have a ground plane and use vias to do runs of signals, KiCAD will do cuts with clearance as per board setup parameters.
He does a polygon pour on the top layer connected to ground. He selects the top layer, goes to polygon pour, selects GND selects the top layer and presses B. Pressing B either fills or refreshes the pour. Ctrl-B unfills all zones.
Do a "design rules check". Find up top towards the right. My check found 3 unconnected grounds on my 40 pin connector. I fix this and run the check again clean.
Add text (board name and label, maybe date) Select the silkscreen layer and use the "T" thing on the right.
We need 3 sets of files:
Go to File -- Fabrication outputs, and select Gerber.
enter a path to save the files (I just entered "manu")
double check the layer list.
Uncheck Gerber Job file (for JLCPCB)
Check use drill/place file origin
I click on "Plot" at the bottom.
It tells me it placed .gbr files in /home/tom/KiCAD/emup/manu
We also need drill files, click the button to generate those.
(Excellon format is OK for JLCPCB).
We have PTH (plated through holes) and NPTH (non-plated through holes).
Now I see:
-rw-r--r-- 1 tom tom 20259 Nov 1 18:41 emup-B_Cu.gbr -rw-r--r-- 1 tom tom 95256 Nov 1 18:41 emup-B_Mask.gbr -rw-r--r-- 1 tom tom 639 Nov 1 18:41 emup-Edge_Cuts.gbr -rw-r--r-- 1 tom tom 18618 Nov 1 18:41 emup-F_Cu.gbr -rw-r--r-- 1 tom tom 95256 Nov 1 18:41 emup-F_Mask.gbr -rw-r--r-- 1 tom tom 19528 Nov 1 18:41 emup-F_Silkscreen.gbr -rw-r--r-- 1 tom tom 278 Nov 1 18:45 emup-NPTH.drl -rw-r--r-- 1 tom tom 2385 Nov 1 18:45 emup-PTH.drlZip these up and you are ready to submit. He goes into details about things you need if they are doing manufacturing.
On linux I do:
cd manu zip ../emup.zip *
Go to JLCPCB and click on "instant quote"
Upload the zip file and it should extract the information
to fill in the rest of the form.
Use their gerber viewer to double check things.
Use FR-4 in 1.6mm thickness, 2 layers.
Green with white silkscreen is cheapest.
5 boards is the minimum order.
HASL is hot air surface leveling. He selects Pb-free HASL.
If you are doing a big order, check the option to "Confirm production file" This adds a $1 fee and he says it is worthwhile.
Save to Cart and that is your price except for tariffs and shipping. Phil (Philip Salmony) must be in the USA if he talks about tariffs. He got his degree at Cambridge, England.
It is interesting to see in the video how the game goes if they will do assembly and manufacturing. Note especially the business of needing to rotate for pin 1 due to different conventions.
He is going to pay $77.37 for five assembled boards, which is pretty amazing.
Tom's Electronics pages / tom@mmto.org