Designing a PCB in KiCad in 20 minutes

Originally published at: https://contextualelectronics.com/lessons/designing-a-pcb-in-kicad-in-20-minutes/

Download KiCad here (we highly recommend using the “stable” builds) Having issues with KiCad? Check out the KiCad User Forums Want to skip this step and order the board directly? Here’s Chris’s board from OSHpark  

1 Like

Chris,
I am following along with your tutorial “Shine On You Crazy KiCad - Designing a PCB in KiCad in 20 minutes”
Everything was going great until I got to 10:26 of the video.
In the Cvpcb control panel, when I click on “Pin Headers” and select “J1 - Conn_02x05_Top_Bottom” , the footprint listing does not come up in the right window pane.
It looks like that footprint library is missing from my installation of Kicad.
How can I get the missing “Pin Headers” footprints?

Alan Jones

Hi Alan!

I moved your post over to the thread associated with that video. Could you share a screenshot of what you’re seeing? At the top of the CvPCB window there are 3 “chip” icons. These indicate which footprints will show up in the rightmost window. Those buttons are actually a filtering mechanism so you’re not looking at the entirety of the KiCad footprint library. The other possible issue is you might not have the KiCad libraries installed, sometimes there is weirdness with libraries. Are you seeing any options on the right side at any point?

A screenshot will surely help diagnose. Thanks!

Hi Chris!
You are a genius!
The left “chip” icon was highlighted.
I clicked on the right “chip” icon filtered by library like you had in the video and now I can see the footprints!
Thank you for your quick response and help.
Now I can get back to your tutorial and learn more about Kicad.
I hope you have a great day.

Take care…
Alan

Nice beginning for me. I looked up Raspberry Pi and see there are several versions available at DigiKey and will order the latest. From the video, I think I’ve figured out what a resistor does…it must limit the current so the pins don’t burn out. And I think if the resistors were on the other side of the LEDs, the LEDs would not get the current they need to shine. I also think there has to be some sort of match between the LED and resistor so the LED will shine properly. I would guess an Ohm rating <200 on the LED would burn it out and >200 would probably keep it from shining. Since I can get several boards, I think I will experiment with this. I did look ahead at the remaining topics in the lesson and am seeing this learning experience might be rather enjoyable.

Hi @markevanson I have moved your post the thread associated with the video. You are close with your understanding but not quite. You are right that the current will determine how bright the LED will be, but It does not matter which side the resistor will be placed as the current flow will be the same. Try out a small exercise with a spreadsheet and Ohm’s Law and you will start to see the trend. For a fixed voltage, say 5V and vary the resistance, the current will change. The data sheets of a LED will say what values it should not exceed.

Where I is Current in Amperes
V is Volts
and R is Resistance in Ohms.

Checkout the Falstad simulator and you can experiment with the circuits.

Thank you! I appreciate the info. I see now that the resistor value determines the amount of current that flows through a circuit (in this case) and the current driven component has to be able to utilize the available current. I did find it interesting that the resistors can be placed either way, but the LEDs are directional. I caught on to them being a sort of diode, which I will study further.

Hello and I just started this tutorial.
BTW, I am liking your approach to this training and want to see how far I can take it.
I have an extensive background in writing code but 000 in what makes the electronics do their thing. This seems like a good place to start.
Re the tutorial, I am good so far but got lost after you connected the components, then when you split the screen and showed the PI header.
How to split the screen and display the header ?

Split screen in Windows is the Windows Key + Left (or right) Arrow.

Oops, I am running Linux. Sorry that I forgot to mention it.

Well in trying to figure out how to start using the special keys, it seems like my PC is continually freezing.
Not good, might be a memory issue.
Adios for now.

Hi Chris,
Great tutorial, you really taught me a lot, but I almost wished you had clarified a couple of things at the time. For instance, using KiCad 4.0.7 on Windows, if you’re NOT in the Default canvas, the damn menu in Footprint mode does NOT have the “Global Spread and Place” option. This is really annoying when you’re not expecting it and new to KiCad. Why the menus are modal like this is really a good question.

Second, thanks for showing how to use the layers! I think I’ve got a handle on it now for when I try to design my own board to neaten up some hacky perfboard I did to prove the design out. It would be great if you could do a sequel video where you take the board, add some more LEDs (inside the same foot print!) and then do a double-sided board as an example. That would be neat. I think I’ve actually managed to do it myself… but I see errors when I view it in 3-d mode:

IO_ERROR: Unable to find the next boundary segment with an endpoint of (180.594 mm, 116.967 mm).
Edit Edge.Cuts permiter graphics, making them contiguous polygons each.
from spec ctra.cpp: ThowIOError(): line 144
Unable to calculate the board outlines.
Therefore use the board boundary box.

This implies to me that I screwed up on my layouts. But zooming in, I don’t see any gaps. Could it be that I’ve got labels hanging over the edge of the cut line causing problems?

And how did you get the wires to work so well? Whenever I’m in wire mode, it’s a total pain to get those 45 deg angles, and or keeping them away from other pads, etc. I guess you just need to zoom way in to make it work.

It would also be nice if you slowed down just a bit at some of the trickier parts, maybe talk about your technique while you wait for people to catch up a little. grin Yes, this is hard when we’re not there in front of you.

Thanks again for your video, it’s a huge help,
John

Hi @ChrisGammell - I’m doing the Shine On project on a Mac, with KiCad Version: (5.0.1-3-g963ef8bb5), release build. First - great tutorial!

Second, I’m guessing that KiCad 5 has changed some default libraries/footprints, which is confusing me. Around 10:10 into the video, you say to choose the 1206 LED. My newly installed KiCad shows me 4 different 1206 LEDs:

Which is the right one to choose? Thanks!

The default option is usually the best. The others are modified pads to be bigger for things like “hand soldering”. The part will still fit on there if you’re using machine placement like a pick and place though.

Kicad 5 doesn’t have a default selection, so I assume you mean the first on the list, which I manually selected/clicked in that screenshot - right?

Correct, I should have said, “the one without any suffixes”

Great, thanks Chris!

I just found these tutorials and started following along. I’m a principal software engineer writing mostly C++ on a day to day basis but I’m an electronics newbie. I noticed in the video that you did not choose a socket for the PCB layout and instead picked a pin header. Was this just not available in the version of KiCAD used to create the videos, or was it done to avoid having to flip the component in the PCB layout. I chose the socket version and eventually figured out how to get it on the back side and have ordered my PCBs from OshPark. Thanks for the excellent resource!

1 Like

Hi all - had a flick through the posts here and seems people are having some similar issues with the changes in KiCAD flows, options, GUI etc between KiCAD versions.

For @ChrisGammell it’d be a pain to re-record the videos when something (minor) changes - but I also see these videos (especially as they are free) as an awesome resource for people just starting out, and I’d hate to see people leave because they got stuck somewhere because KiCAD changed.

I am working through this course and have noted some errata, and am happy to share - but not sure the best way to do so -

  1. would this be a useful thing to keep around, and hopefully someone in the future will extend for anything else that might change
  2. if so, whats the best way to log - here is the Forum posts? or a specific topic for Erata?

I’m dove into this video using KiCad version 6. The tool bar along the top looks like this:
image

I feel like I am asking a stupid questions.

How do you access CVPCB and Netlist with the KiCad version 6?

Does anyone know if CVPCB and Netlist are in KiCad version 5.1 before I downgrade to that version?