This is a short post to show off my first attempt at PCB milling. I’m a member of the Chicago Innovation Exchange. Well, I was, but now it’s no longer CIE but the Polsky Center, or maybe the Polsky Echange North, I’m not sure, but that’s what happens when someone invests $35 million in your incubator; you change your name. The center provides me access to a pretty swanky fab lab equipped with (among other things) an X-carve CNC mill. I recently completed my training on the machine and I wanted to put my skills to the test.
What to build?
I’ve been moving my research lab towards instrument design and exploring how open hardware platforms can improve content delivery in the analytical chemistry laboratory. My students have access to the Vernier labquest handheld data acquisition systems, which provides them a great opportunity to engage with scientific instrumentation fairly early on in their academic career. One of the concerns that I have with the Vernier system is that it is still a “black box” and students don’t know how information from a sensor is turned into experimental data. I’ve written before about my Vernier-linked projects, and I was pleased to see that the company does provide a simple breakout board for their analog sensors. I thought it would be worthwhile to create my own breakout board as a good introduction to PCB milling.
The Center provides me with consumables, most of which are from inventables (PCB blanks, endmill bits and drills). I needed some header pins which I grabbed from Adafruit, a BTA connector which I purchased from Sparkfun and a few resistors which I had lying around.
Sparkfun has a fancier BTA interface shield than I’m working on here. It was useful because the company provided a schematic that was a helpful reference and Eagle libraries with their components (including the BTA connector) which seriously simplified board layout.
So I followed any number of Eagle tutorials that can be found on the web and came up with the design below. It’s got 0.75 mm traces which is fairly large for a PCB, but turned out to be a good starting point for my first board.
With the board layout complete, I exported the necessary GERBER and EXCELLON files for processing in FlatCAM. Again, there are tutorials for this process which I won’t rehash. FlatCAM allowed me to create the g-code necessary to fabricate the board.
The Center’s X-carve is run with Easel, which doesn’t appear to be the standard setup for DIY’ers fabricating PCBs with their CNC mills. One challenge I faced was figuring out what type of g-code Easel would accept. It turns out that leading zeros are not liked, and changing commands such as
M3 did the trick.
It doesn’t take long to realize that bed leveling and substrate warping are the primary challenges to producing a quality board using a CNC mill. Since it’s not my machine, there are few (ok, no) adjustments I can make to it (but I get free supplies, so I’m not complaining). In the end, I was able to fabricate a couple boards using tricks like milling out a platform in a spoil board and using copious amounts of double sided tape.
I’m happy with the results of this first attempt at PCB milling. I’ve learned quite a bit about the tool chain, board layout, and machine setup. It’ll be a while before I start making complex boards, but through this process I’ve started to develop a set of parameters that will help me speed up the time from design to prototype; and that’s the point, isn’t it?