Close

Let's talk cost - time, rather

A project log for Sub $200 PCB Mill that doesn't suck!

A PCB mill inspired by open source CNC 3D printers with a custom design to fit standard size copper clad boards (6" x 4" / 160mm x 100mm)

timo-birnscheinTimo Birnschein 01/15/2022 at 15:080 Comments

I want to take a moment and discuss what it means to make boards at home.

At first glance, it seems like a great idea and it certainly was when I started making boards at home. You get the parts quickly, at least that's the thought, and you can find bugs before you make a larger run with a board house if needed.

As far as prototyping goes, that's the end of it. However, the actual process of making a board on a home made or cheap CNC machine is very involved and can cost tens of hours - per board. I'll go into a little more detail why this is such a crazy high number in a bit. Today, you can just go to a company like jlcpcb.com and get your board made in a day and shipped in three if you are willing to pay $15 for shipping for your $2 PCB. But you get it in the color you want within a week, no questions asked. That's amazing and in my experience, these boards come out great! If you are willing to wait for the cheap shipping, it'll take about two to three weeks for your boards to arrive, which - given that I'll talk more about the tens of hours - still doesn't sound too bad.

What it takes...

  1. First of, it takes longer to design a double sided PCB for home manufacturing.
    It does, because vias and traces need to be larger and thicker than they would for a manufactured board. It easily translates one way (to the board house) but rarely the other (to the home cnc mill).
  2. Small vias with tiny holes are difficult to make at home simply because you have to manually solder top and bottom of the via with a snippet of wire or a very tiny rivet. If the hole is too small, that won't work. For that reason, my vias are 2mm in diameter with 0.8-0.9mm holes. That's huge compared to what I would do when designing for manufacturing.
  3. Since the regular home pcb workshop does not have the ability to galvanize boards at home and create the through-hole plating, all vias have to be hand solders or riveted AND none of the connections to pin headers can be connected from both sides! Because there is no through-hole plating! That means, all connection on my boards to any of the pin headers are exclusively connected on the bottom side of the PCB. Often, that means a lot of extra vias just to connect the trace at the bottom even though I have a trace right in front of the pin at the top - and there is usually no space for an additional, large via.
  4. Traces need to be thick to allow for error. I have managed to get my trace size down to 0.3 mm for short sections. Like for example when I need to get a trace in between two pins of 2.54mm pin-header. I go from 0.8mm down to 0.3mm, go through the two pins, and immediately go back to 0.8mm. I do that because I have seen traces break either after the milling was done or cut into pieces due to the last remaining play and backlash in the system. Bigger traces need larger spaces.
  5. The same is true for the space in between traces and vias, called clearance. My clearance in the design rule checks is set to 0.26mm as that's the setting in FlatCAM for my router bit. If I go with a lower clearance, I run into shorts because the traces aren't separated after milling.
  6. Double sided PCBs must be aligned perfectly on the cnc mill. The slightest misalignment has the potential to destroy precious vias and pin-header connections. I had multiple instances where a skew in my machine caused traces to break that use a through-hole of a pin header to go from one side of the pin header to the other, on the same side of the PCB. This happens because I mill the top side first, then flip the PCB over to mill the bottom side and then drill the holes on the bottom side. If the PCB is not aligned perfectly, the drilled holes look great on the bottom side but are offset on the top side -> disaster as this cuts the rest-ring in half cutting the connection.
  7.  My personal machine has a small skew. That's because the machine was lasercut on my cheap laser cutter. It's minor but it's there. Aligning top and bottom side perfectly is therefore impossible without a correction in software. This is a one-time setup but it took me many hours to calibrate all this.
  8. After I had a good alignment, I was still faced with the occasional misalignment because I just didn't get the PCB exactly into the position and orientation it needs to be in to be perfect. It's just a matter of probability whether it works or not and you will only be able to see the result of all your hard labor once the board is already drilled and cut out. At that point, there is no turning back to fix things. It's already done.
  9. PCBs are never flat. I usually spend a few minutes or more to bend my PCBs with my hands to flatten them, fit check the PCB on the mill bed, do it again and again until it doesn't wobble anymore. I also added a vacuum table to suck the board flat to the bed which helped a great deal.
    Still, despite all that work, I have to autolevel the PCB. That means attaching a probe and running a program that measures the deformation of the board in Z across the entire board. Setup and execution takes another 10 minutes and then you can only hope it's setup and measured properly. You will hopefully be able to tell once the first trace is being engraved.
    Once the top side is done, you have to do it again for the bottom side. That also means, order of operation is very important as drilling the through-holes on the top side of the board will make autoleveling the bottom side impossible as the probe will eventually hit a drilled hole and mess things up badly. Drill holes last!
  10. Tool change takes time. I use multiple tools to make one board. At the very minimum, I need a V-shaped engraving bit and the cutout tool which is a 1mm cylindrical mill-bit with a diamond pattern. All my mill bits are carbide coated to last longer and are made for fiber glass PCBs - unlike the Bantam Tools which are specialized to mill FR1 pressed paper boards. They won't last on FR4. Setting up a tool means touching the spindle and applying a force and torque to it. That can potentially change the orientation of the spindle which can lead to top and bottom not being aligned afterwards as the end-mill tool position might change a little bit. Then, the tool needs to be leveled to Z=0mm as an additional step. Each time a tool change is performed, leveling must happen or the board is ruined. There is almost no margin for error here and forgetting a step might ruin the board or the machine - like forgetting to remove the z-axis probe wire from the endmill before starting the cnc milling job.
    Some jobs can require multiple tool changes. Not only for top and bottom milling as well as board cut-outs but also multiple different hole diameters. Each diameter needs a different drill bit which then also needs to be leveled to Z=0. It's not needed to autolevel the entire board each time but Z=0 must be found and ideally always in the same location on the board. If there is a hole now, you have to change the probing location and that might introduce errors due to the autolevel function. But at the drilling stage, that's alright - at the milling stage, not so much.
  11. Last but not least, the workflow is complex and parts of it are easily forgotten when not practiced every day or at least regularly! At the moment, I use my mill every day but that's not normal. I haven't used it in a year and if I hadn't documented all my steps here on my project page, I would never have been able to set this back up again in the amount of time it ended up taking me. I also experience that I discover new issues and new things I want to implement each time I use the machine and the software packages. That means extra time spend just to make one board. The workflow usually involves adding an alignment coordinate system to the board in (KI)CAD, then GERBER export, then DRILL file export, then FlatCAM import for top, bottom, cutout, drill, modifying the cutout to have tabs, generating the gcode for all these and for top and bottom jobs differently due to the skew compensation and then doing all the steps needed to mill the board with cnc-gcode-controller as mentioned above - which has broken more than one endmill due to quirks when connecting to GRBL at random.

Having said all that, I designed four boards in the past four weeks and contemplated having them manufactured to not deal with all this stuff. Then I spend FOUR attempts making the first of the four boards, spending days getting everything up and running, only to end up with a board that works on the bottom half - that was the moment I discovered the skew in my machine.

The next three boards, after all this training, took much less time and I wasn't staring at the machine to check for errors all day long anymore. However, a large double sided PCB (80x100mm) takes about 3-5h start to finish, from GERBER export to the board on the table. Then you still have to do all the vias which is another hour depending on your strategy and workflow. So let's say 6h to get a board on a well oiled machine with a really well practiced workflow. Man, I wish I would have just ordered those boards!

Single sided boards are a whole different question as those are easy. Run the mill, run the cutout, run the drill. Done. No additional work needed since no vias need to be soldered. That's easily done in an hour. Double sided is hard and requires full concentration to get right. Not something I have time for every time and my patience to make these boards at home is shrinking given that ordering these boards (all four of them) in quantity of five EACH including shipping would have set me back only $55....

Discussions