How to learn to make Circuit Boards

This is a real rough basic run through of what tools you’d need to make a PCB. It’s not meant to be a tutorial, there are tons of those elsewhere online, simply introduce you to some terms and give you a starting place to begin your googles. If people would like to post more resources like tutorials or their own suggestions, please do so below.

First step is to get some software to create the files you need.

I designed the Arduboy using EagleCAD which has a trial version, it’s what Adafruit and Sparkfun published their designs in, so it was easy for me to get started. But they have since switched to a subscription model after they sold to Autodesk, which pisses me off because I had previously bought the license, and it’s feature set is really falling behind others now.

KiCad is free and open source and is used by folks over at CERN, and now it’s got features that let it punch way above it’s class. It’s what I’m currently learning now because I’m so pissed at Eagle.

You can do some pretty basic stuff in fritzing, although I can’t really recommend it’s use beyond a basic learning tool.

And then there is Altium which is a highly professional software that can do really amazing features, but is super expensive.

Second step is to actually design the board using the software.

I won’t dive deeply into this, but you basically add parts from a library to a blank canvas and connect the dots to form an electrical schematic. Then you have to layout everything on a physical pcb. This is the hard part because there are a ton of things that you need to be aware of when laying things out. These are known as “design rules”, and are as simple as “don’t overlap signal lines” to “matching signal impedance on traces of paired differential signals”.

Creating a PCB is just as much art as it is science. You can give the same electrical schematic to two different board engineers and end up with two totally different but completely suitable designs. There are a ton of trade offs and you are always balancing performance versus complexity for any given application.

I suggest you look elsewhere for specific tutorials.

Third step is to send the files to a “board house”.

This is an entirely different can of worms and I’m really not going to get into any of them, but the concept is there is a ton of ways to screw this up. Every board house does things a little differently, and depending on the service, they may be able to help you and let you know there is a problem with your design, or other places will just ship you boards that are totally screwed up and it’s your own problem.

I’ll recommend 3 places I’ve used to make PCB. I’m not going to go into the advantages or disadvantages from using any of these services, or compare quality. But I’ve had good experiences with all of them so I can recommend all of them.

OSHpark is the purple pcb fab. I can’t say enough about these guys, this place is awesome. Really there would be no Arduboy without OSHpark. I made the first Arduboy prototype with their boards. Without their service it would have been almost an insurmountable challange to track down a circuit board factory that would be willing to only make a few boards, and actually impossible to create them at an affordable price. That’s rapidly changing as other services are coming up to compete with OSHpark, but they were the pioneers that democratized the ability for makers to have their own pcb.

Seeed Studio now makes our boards, but I also used them for a large batch of boards I used for an unrelated project. If you want to build a lot of boards and don’t need them too quickly, this is a great option. Additionally, they can even build the boards for you if you want, and thats even more complicated so good luck!

Also my friends over at DirtyPCBs are very useful! I wouldn’t recommend their service to you if you don’t have a sense of humor. They created this page for their own uses and as kind of a joke and it really took off. They aren’t bashful that they skimp on customer service to offer a real low price. If you aren’t particular about your boards, and just need cheap PCBs, these guys are great.

So there you go, don’t blame me if you’re boards don’t work! Please improve this guide with your input!


CircuitMaker software is awesome :slight_smile:

I have no training in any software, so I considered Fritzing as my only option but CircuitMaker is in another league. It is free without limitations, based on Altium. The only thing is that since is cloud based, then it is fairly slow to load stuff and you can only have 2 private projects. But it is enough.

I can recommend it to anyone, in a day you will be creating a PCB ready to be sent to production. Watch an introduction to the program to get used to the workflow and start playing with it.

This is better than the “you design it and pay some company to print it for you” explanation I was considering commenting.

Also I was expecting VHDL or Verliog to get mentioned.
(I guess that pretty much confirms I’m more of a language person than a hardware person :P)