Now that everything is working properly, armed with a fresh set of blank PCB’s and plenty of CNC mills it’s time to try out if machining a PCB is feasible.
First test - Loudspeaker filter
The PC loudspeakers I build can improved a little with an optional notch LCR filter in case you would find the drivers overly bright sounding.
The schematic is so simple that I didn’t need a PCB layout application to design the PCB layout. This was easily done in a CAD program (I used QCAD at that time).
- Red is the edge of the PCB board (remark the 2 slots that will be used that allows passing through the coil copper band).
- Blue shows the size of the coil and capacitor.
- Green are the traces where copper need to be removed.
- White shows where holes need to be drilled.
QCAD allowed me too export the each layer separately in
dxf format which
EstlCam then converted into gcode. With this gcode program ready, milling can
For milling the traces I used a 30 degrees V shaped CNC mill. Later I did find even sharper V shaped CNC mills of 15 degrees on Aliexpress. Small angles are important since the width of the traces you’re milling away will vary with how deep you mill away the copper (and some of the underlying material). The smaller the angle, how deeper you can mill away material without having the trace getting too wide. In this respect it’s also important to probe the warp of your PCB and adapt your gcode to take this into account (no PCB is perfectly flat and the thickness of the copper layer itself can vary somewhat as well). Luckily for me, the PlanetCNC software could do this automatically for me.
You could also use as normal CNC mill with a very small diameter. I found some as low as 0.3 mm in diameter, which are quite expensive. I tried some of the less expensive 0.4 mm in diameter but I found them extremely fragile and not giving a better end result.
Second test - A breakout board
For this experiment, I found a design for a Single Sided TQFP-44 Breakout Board already converted to gcode. This is very convenient since I avoid any errors I could have made in converting a PCB layout to gcode. If something would go wrong, this means the problem must be in the settings of my USB controller (e.g. wrong micro steps, etc.).
After a few retries, I ended up with something that certainly could be used.
a direct link to the
tqfp44-breakout-gcode.zip download. The zip contains
several gcode files for the PCB layout, drilling the holes and cutting the edges.
Third experiment - A double sided PCB
Increasing the difficulty level again, I now tried a double sided PCB. For this, I choose a Elektor project, a class D amplifier around a 555. I could download the Gerber files of this Elektor Labs project. Those are typically generated by a PCB layout program like KiCAD and which you then send to a PCB manufacturer to get them made for you. Normally you should then convert the gerber files to gcode with tools like FlatCAM. Luckily I didn’t need this step since the PlanetUSB software knows how to read Gerber files.
The extra difficulty here of course is having to turn over the board to mill the other side and having everything lining up correctly.
As you can see, the bottom layer didn’t line up perfectly. At that time, I blamed this to me, not being careful enough. Only much later I found out that the CNC machine was not set up correctly and that the X and Y axis were not perfectly 90 degrees to each other.
Pro TIP Once you received your CNC machine, check if all axis are 90 degrees to each other. Otherwise you will never get good results.
Below you can find an example of what happens when you don’t probe your PCB before milling to compensate for a warped PCB. As you can see, some traces are not milled deep enough causing short circuits. In this case they’re obvious but in other cases, they might be a lot harder to detect.
You could solve this by cutting deeper of course but with V shaped mills this also means you’re cutting more material away limiting how fine your PCB traces can be.