For the most part, the printed circuit board that forms the core of the project was manufactured using the standard Fab Academy technique: Export as SVG from KiCAD, tweak layers and export to PNG from Illustrator, create NC files using MIT MODS. See my Electronics Production assignment for details. This page discusses unique processes and problems for manufacturing this particular board.

2-layer PCB Manufacturing

As I was designing the circuit board, it quickly became clear that I would need to use a double-sided board. There are just too many wires that need to cross over each other, if I used 0-ohm "jumper" resistors instead I'd need like 50-100 of them. I've been wanting to learn how to make a 2-layer board for a while, so I developed techniques for doing that in my final project. I'll explain my approach in detail here, since it might be useful to other people:

"Vias" are small holes filled with conductive metal that carry the signals from one side of the board to the other. Commercial boards usually plate the inside of these holes with gold. For prototyping, you can get PCB via rivets.. Instead, I hand-soldered little pieces of wire through the holes.

Design

A close-up of part of my board design. Red traces are on the top layer, blue is on the bottom, and the white dots are vias.

In designing the board, I made sure my vias were large enough to be drilled using a 0.8 mm endmill, and soldered by hand. This means they must be much larger than the KiCAD default size. I made the holes 0.9 mm in diameter, with a 2 mm diameter solder pad around that. In KiCAD, you can hit the page up / page down keys while drawing traces to switch from the top to the bottom layer, adding a via automatically.

As part of the design, I included four 3-mm screw holes. These will help to hold the project together once it's built, but they're crucial when making a 2-layer board since they act as alignment holes. You've got to make sure the bottom layers is exactly lined up with the top! In manufacturing, these alignment holes will fit over matching pegs fitted into the spoilboard of the CNC. Yes you will be making holes in your CNC table to do this.

As I designed my board, I put all components, and as many traces as possible, on the top layer. That way, if the two-layer PCB process didn't work, I could replace the traces on the bottom with hand-soldered wires.

CAM preparation

I prepared the design for manufacturing using KiCAD, Adobe Illustrator, and MODS. I exported the top, bottom, and edge_cuts layers from KiCAD as SVG files. In Illustrator, I stacked these files as separate layers. I then reorganized the components into the new layers below and exported as PNG. The layers were then brought into MODS, and milled using the following settings for each:
1. Alignment holes only: 1.5 mm endmill, 9 mm depth of cut. This will cut through the PCB and into the spoilboard below.
2. Front traces: 0.4 mm endmill, 0.1 mm depth of cut
3. Back traces: 0.4 mm endmill, 0.1 mm depth of cut. MIRROR IMAGE! This image has been flipped top-to-bottom.
4. Vias and through holes only: 0.8 mm endmill, 1.8 mm depth of cut.
5. Copper clearing: 0.8 mm endmill, 0.1 mm depth of cut. My microcontroller module has some electrical contacts on the bottom. I removed copper from these areas to avoid a short circuit.
6. Board outline: 0.8 mm endmill, 1.8 mm depth of cut. Doing this step separately from the through holes makes sure that the board is still securely clamped when the holes are cut.
It's crucial that the traces layer for the back side of the PCB be mirror-imaged, since I'll be flipping the board over to machine the back side. Double-check these images to make sure they're all exactly the same size, and the vias line up perfectly.

Milling

It is absolutely vital that the milling machine's X,Y zero position stay the same for all of these steps!

Milling steps proceeded in the order listed above. First, I cut the alignment holes using a 1.5 mm endmill. I had to use a big mill to make a 9 mm deep cut into the spoilboard. I inserted alignment pegs through the PCB and into the spoilboard. Since 3mm screws are slightly smaller than 3 mm, I 3-d printed plastic alignment pegs. These can be made exactly the right size to get a nice snug fit, and since they're made of plastic they're less likely to break the endmills if there's an unexpected crash.

Milling the front side of the board

Machining the rest of the front of the board proceeded as normal. Then I removed the board and flipped it over, realigning it with the pegs. I made sure to flip the board the same way I mirrored the image in the preparation step! (Top-to-bottom rather than left-to-right, in my case.) Next I milled the back-side traces.

Milling the back side of the board

Finally, the through holes, vias, and board outline need to be cut. A clever person might flip these in Illustrator so they can be machined from the back of the board, but I didn't do that, so I flipped the board back to the front side again to finish the milling process.

Candle CNC controller

Board finished milling

You'll know it worked if the via through holes line up perfectly with the pads on the back side. In my case, the deviation was just barely visible. Detail of via hole aslignment

Soldering

To make the connection from the front of the board to the back, small pieces of wire need to be soldered into the holes. Here's my process for doing that:
After soldering all the vias, I did a continuity test of the entire board to make sure there were no problems.

Avoiding Mistakes

Since replacing this board would be a lot of work, I used extreme caution when assembling it. I took the following precautions:

Fixing Mistakes and Problems

I made at least three errors while building this, despite my precautions.