Hacker News new | ask | show | jobs
by cmsimike 2710 days ago
I've been looking for a home PCB machine and would appreciate any recommendations on what to look at or what to avoid.

I've been told multiple times that it's easier to just have a service print your board which is probably true, but that would take a lot of fun out of the entire process for me.

4 comments

I've been using a 3018 CNC with pretty good results. They're fairly inexpensive machines (about $300 I believe) and are decently accurate.

I still order boards from China, but for a quick breakout board it's incredibly handy!

I also decided to get a 5W laser which is also pretty fun to engrave with.

I'm planning on writing a series of blog posts about it if you're interested!

As a last note, if you like tinkering, these little machines are money and time sinks.. So far, I've added limit switches, a pi, more bits, 3D printed a tool holder etc etc

I'm definitely interested. I got into 3D printers and CNC machines at about the same time last year. I figured out the 3D printer right away and quickly went from printing out things on thingiverse to doing my own designs and outgrowing my printer and getting a fancier one.

While I've done about 250 print jobs in just under a year on my 3D printers after 8 months with the CNC I've cut two things. I got an entry level CNC (Millright M3) that runs the same GRBL on Arduino software stack and I've just been stumped after setting it up and cutting a couple rectangles out. The amount of time you have to put into setting up a CNC job is exponentially more and the amount of reference material out there is way less and way more specific to particular work flows / machines / pieces being cut.

There's a big difference between an additive process vs subtractive process. To me, additive is much easier as it starts at the bottom and build up. Nothing is ever in the way of the next step. Subtractive is much more difficult as you have to figure out how to get to places that needs tooling, how to hold the piece to do the work on it (especially as the piece changes shape in the process). Most projects I work on requires more work in setup than actual milling/cutting/etc. It's one of those things that most people just don't realize until they actually attempt it.
I've found the work holding on the CNC to be somewhat analogous to bed adhesion on the 3D printer. When milling you have to figure out how to hold this block down and printing you're using glue sticks and tape to try to get the first layer to stick. Both of these require the same trial and error shade tree mechanic skills that I enjoy developing.

My sticking point is more in the CAM side of things.

First I'll design something in Fusion 360. If I want to 3D print it the next steps are to export the stl (shape file) and open it in a slicer program. Then there are about ten parameters that may need some tweaking especially for a new printer and dozens more that you rarely change from the default before sending gcode to the printer. The slicer program can get you pretty close out of the box and the more I've done it the less time I spend slicing - my go-to settings print perfect 90% of the time. There are lots of resources (blog posts, youtube videos etc) explaining the different slicer settings and their effects on the print.

For CNC Milling after I've designed the part in F360 you switch over to CAM mode and it's like an entire different project that you have to design. With the slicer you say "lay it down on this side and print in PLA" the CNC CAM process makes 0 decisions for you. You can't just say "here's my stock, here's my end mill, put this side up and cut" and then tweak settings from there. Instead there are myriad permutations on feed rates, orders to cut things, multiple passes. Someone's feeds and speeds posted on the internet aren't going to work for your machine/material/design so there can't be something like a slicer program that can automatically route your CAM based on a few parameters and you can't reuse many settings between jobs.

I still like both printing and milling but milling is such a more difficult task with less mature software available (especially open source and hobby level software). That's why a fairly simple task warrants a pretty lengthy tutorial that's worthy of the HN front page.

I might be a dreadful old fogey, but I think that everyone should learn manual machining before getting into CAD/CAM. There's a level of mechanical sympathy that can only be learned by turning the handwheels and making chips. CAM is complex because machining is complex - removing the software from the equation makes it far easier to learn the fundamental principles, IMO.
I've started adding some posts about the CNC upgrades here: https://nadav.ca/2019/01/18/list-of-3018-cnc-upgrades/

It's still a little bare, but I'm hoping to add more detail as I can. Feedback is also very much appreciated!

Thanks! I would def love to read your posts about this.

I have a 3d printer at home that i picked up a couple years ago, so I know how much of a time sink these things could be. Regardless, every time I print something, it makes up for all the lost time/money.

Absolutely! I recently got a 3D printer as well and the feeling of being able to create something "out of thin air" is amazing.

Hopefully I'll have something initial up this weekend, i'll post the link here when I do.

I have the same CNC including the laser and decided to upgrade it with a 3D printer head. I attached an Arduino to the wire normally connected to the spindle motor and translated the signal into a PWM signal for the extruder. Temperature was controlled using the same Arduino. Yes, it worked and yes, it took the better part of a month of work. But definitely fun and educational.
Thank you. I too have been looking at one of these for PCB milling. Do you mind sharing the kinds of boards you have created with it? Are any of them KiCad projects on GitHub?
They're not, I wasn't focused on documenting when I created them. I'll be sure to add that to the list of things to share :) But here is an image of an SOIC-20 I milled. https://pasteboard.co/HX2z3EN.jpg

The short version of the workflow is: FlatCAM to convert gerbers to gcode then CNCjs on an orange pi zero to stream the gcode to the CNC.

It's not just that it's easier, but you can get much finer detail, you don't have to deal with vias, and you can do more than two layers. And (big plus in my book), you don't have to deal with the inevitability of breaking those insanely small end mills.

The only benefit over having a board shop do it is the turnaround time, and even that's essentially a tradeoff of time vs money.

I just sent a board off to OSHPark. 3.5"x2.3" two-layer board for essentially $15 each.

This is all true. The biggest deal breaker for any kind of serious work is being constrained to two layers, routing is so much harder that way!

Milled PCBs also have lousy surface quality which is incompatible with fine pitch parts.

Surface quality on milled PCBs can be pretty good but you have to get a bit spendy. Also, the copper FR4 likes to delaminate under stress and deforms easily if you use the wrong cutting parameters so you typically want to go for a higher quality board material. It's pretty common for high end RF boards to be milled.
Being able to have prototypes in hand in like 30 minutes is the best thing about PCB milling. You can make boards for fine pitch parts as well - the board has to be probed and leveling applied to the GCode. We're using 3040Z CNC which is not the best for this job but manageable.

Check out my tutorial (gallery on the bottom) https://wiki.base48.cz/PCBMilling

I've yet to see anyone make a test board on CNC that wouldn't have been made quicker and with better quality by using photoresist boards and etching them. And I have a pretty decent CNC mill.
Anything with non-trivial edge cuts are advantageous to do on a CNC mill. Of course one can also combine, as long as one has the registration skills.