This is pretty exciting for me. It's always seemed to me that I had two choices when it came to making custom printed circuit boards (PCBs). Option one was to go to buy a bunch of chemicals and copper boards and after hours and hours and wasting a bunch a material you'd have 1 super crappy board that will likely not survive soldering in your first component. Option two was to spend an insane amount of money with a company that can turn your schematic into PCBs with minimum quantities in the 100's or 1000's. Neither of these options seemed attractive to me. This all changed after listening to a pod cast called "The Amp Hour" where the conversation almost always includes PCBs in one way or another, I was convinced that I needed to look at the ways they have been successful with making quality PCBs in small quantities. The specific episode of The Amp Hour that put me over the edge was this one where they interviewed the owner of a company called OSHPark that originally started out to service the Open Hardware community by making small quantities of quality boards economical. Using OSH Park as the fab, and some free CAD tools, I was surprisingly successful at taking a schematic and turning it into a good quality working module for a project I'm working on.
I was shocked at how well this worked, and while I'm not going to be a jerk and say it was super simple, but if I can do it I'm pretty sure most of the people who would read a web page like this would be able to do it, and probably better than I did.
My board is basically a breakout board for an LM34 temperature sensor. I haven't ventured into SMT stuff yet, so my LM34 is the TO-92 package version. I added a green LED (and the accompanying resistor) as an indicator light that shows if the board is powered up. I don't want to focus on the schematic too much, because it wasn't really the point of making the boards. The point was to see if I could make a functioning board using free CAD tools and OSHPark as the fab. So, if any EE's are reading this and want to pick apart my design, save it for V2.0 of this board when I'll actually care. The pin block on the end feeds into an Arduino that I have configured to display the results of the sensor reading on a webpage. It's also storing the data in a MySQL database, but that's for another discussion. On to the process!
I used a free EAD/CAD application called KiCAD. I'm not sure what the correct pronunciation is, some people say Key-CAD, and I've heard Kai-CAD, whatever. It's not important. You can download it for free here. I've never used any CAD software before, and the only EAD software I've used is Electronics Workbench and that was over a decade ago. So, consider my experience level to be ZERO. I used some Youtube tutorials from this guy . He sounds like Andre the Giant, but his tutorials are really good, short and direct to the point. I'm sure he skips a ton of features and whatnot, but I created a schematic right along with the tutorials and then knocked out my boards right after that. Also, one of the guys from "The Amp Hour" is starting some KiCAD classes on his website as well. So those might be available by the time you read this. I get the feeling his lessons will be WAY WAY more detailed and cover more of the design theory and whatnot. I signed up for the course, and I'm sure I'll review it here when I'm done with it.
Draw the schematic in KiCAD. It's pretty straight forward, but I HIGHLY recommend watching the YouTube tutorial I mentioned above. Just to start, just draw a LED/Resistor Circuit or something, just to get the feel for it. Don't start with your 14-layer, FPGA based Wifi hacking tool. Start with an LED....and a power plug. Seriously. You'll learn fast, but start simple.
Pretty straight forward right? LM34, Resistor, LED, 3 pin connector and some wires.
KiCAD has a built-in PCB layout module that "knows about" your schematic. So, when you start up the layout program it pulls the information from your schematic (not directly though, watch the tutorial) then it makes some intelligent decisions to help with your layout. You can drag all the parts and pads around to fit the form-factor you are looking for. I wanted something small, but long enough that the LM34 can be out away from the components for as accurate a reading as I can get without getting crazy.
Kinda sloppy, but whatever. It's my first one and I don't exactly have tight design constraints. V2.0 will look better, I promise. From this layout part, you can generate a 3D rendering of your board, so you can see how your components will look in the board. You can also see how the silk screen will look. Pretty slick, This is my 3d rendering.
You can see the LED, the resistor and the 3-pin connector. The LM34 didn't show up with the pad I was using. With a little more putzing around I'm sure I could have gotten it to show up, but meh.. first project right?
Creating the gerber file. KiCAD has a built-in gerber file generator also. Again, watch the tutorial on this. It's not intuitive, but it's not hard either. OSH Park, as well as other fabs generally require gerber files to make your boards. gerber files are basically a text representation of your board. KiCAD re-assembles that text and will display what your gerber files "look like". Mine looked like this.
So, it looks pretty much like the the layout, right?
Uploading to OSHPark. OSHPark will take a variety of formats it looks like, but I'd never heard of them. So I stuck with gerber files. This part is pretty easy, you just zip-up all the gerber files that pertain to your project and upload them to OSHPark's website. It does a little verification on the files, displays any errors, then shows you what your boards will look like. Mine looked like this.
There you have it. Cheap. Fast custom circuit boards. If I can do it, pretty much anyone with an interest in electronics can. Watch the Youtube tutorials, and with a little patience you can make your own boards. The board I made in this write up is part of a larger project which I will explain more when I write that whole thing up as well. Happy board making!