I’ve been struggling for years to come up with a good process to make quality prototype PCBs at home before sending them off for professional manufacture. It seems like I’ve always run into one problem or another. Recently I decided to just work on it until I got a process that works and I think I’ve done that. Or at least I’m pretty close.
I’m documenting this so that I have a reference, and hopefully it helps you too.
Make your schematic and board in Eagle.
Put a vRestrict rect around all components. This keeps you from having to solder vias and then put components above it. If you use a plating method you can skip this. I use bits of wire.
Put a tRestrict around all through hole components that will be placed on the top of the board and a bRestrict around ones that will be on the bottom. This keep you from having to solder the top and bottom sides of components. You can skip this for easy things like resistors and capacitors. I recommend it for things like ICs and any component whose body is close to the board.
Set up your DRC for minimum clearances of 12 mil and minimum trace size of 16 mil. The larger you can go here the better. I like to start very high and go down until the board is routable. The larger values you use here the more likely your board will come out correct.
Pour ground planes on top and bottom. Choose the POLY tool, select the top layer, set width to 16, isolate to 40, and spacing to 50 if you are using hatching. I prefer solid. Draw the poly around your entire board. Choose the NAME tool and set the name of the poly to GND (or whatever your ground signal is) and then hit RATSNEST. This will pour the ground plane and connect it where appropriate. Do the same for the bottom layer. The ground serves two purposes: One, it’s good design and decreases noise and two it’s less copper you have to etch off which makes your etching go faster and saves your etchant.
Probably need to use RESTRING here to increase size of vias. They were too small.
Draw your board outline on the dimension layer. It’s important that you draw it in one operation, or at least keep in mind the direction you draw the individual lines. You should choose a starting point and then draw your outline clockwise, never reversing direction or crossing the board. The is important for milling out the outline later.
Save your board, show all layers, select the entire board and CUT.
Create a new board separate from your schema. This will be the board we use to actually etch and mill.
Place three registration marks on the new board. I’m using the 1/8″ marks in the JVN library. Place the marks at:
These marks are used to zero everything for the rest of the process. You’ll use them to line up artwork, drills, milling, etc.
Use the PASTE tool to paste in your board and place it at about 0.50″, 0.50″.
Use the CHANGE tool to change the layer for the outline of your board from Dimension to Milling.
Open LAYERS and select None, then Top, Pads, Vias, Milling.
Print to transparency using Mirror, Black and Caption options.
Open LAYERS, unselect Top and select Bottom.
Print to transparency using Black and Caption options.
RUN pcb-gcode to generate top drills and top milling.
Go to the garage…
Measure the dimensions of the board artwork including the registration marks and cut out a chunk of board using these dimensions.
Drill a 1/8″ pilot hole in the bottom left corner of the board. This will become the bottom left pinning hole for the registration marks.
Pin the board to the mill using this hole and a clamp trying to make it line up reasonably square with the table.
Using the location of the center of the pin as 0,0 use the mill to drill two more 1/8″ holes at 1,0 and 0,1. The board can now be pinned down in two axes and we know it will be straight when we bring it back.
Take the board to etching station and align the top artwork with the registration marks toner side down.
Expose for 12 minutes.
Flip the board and align the bottom artwork with the registration marks toner side down.
Expose for 12 minutes.
Develop and etch the board.
Pin the board back to the milling machine and run the pcb-gcode top drill file.
Run the pcb-gcode top milling file.