All of the buildings, all of those cars
were once just a dream
in somebody's head
Mercy Street - Peter Gabriel


6 minutes read

Pic 0

A bit of history - A small series about my CNC adventure.

Once I decided to pick up my electronics hobby again (around 2017) I had to think on how to make printed circuit boards (PCB). Breadboards are nice for experimenting but at a certain time it would be nice to have something more permanent on a PCB to build in a nice case.

In my youth this was done by either:

  • drawing/taping the pcb traces on transparant/chalk paper and then use a UV light (or the sun…) and photo sensitive PCB’s to transfer the design to the PCB. Then developing the PCB (just like a photograph) and etching it with ferro-chloride.
  • directly drawing the design on a blank copper PCB with tape and water resistent ink. Once that was done, etch the PCB with ferro-chloride.

Both ways of working involve, not so innocent, chemicals that I’d like to avoid. Looking around, I found some other ways to make PCB’s. One interesting one was using the laser and rotating mirror of a laser printer to draw the PCB design on a photo sensitive PCB. That looked promising but this would still involve chemicals that I’d prefer not to use anymore.

Then I found some videos of people making their PCB’s with a CNC mill. That looked quite interesting (no more chemicals) and researching a bit more I decided to invest in one of the cheap Chinese CNC mills, a CNC 3040. That CNC mill offers a working area, as you can expect, of roughly 30 by 40 cm. More than big enough for my needs (I thought).

There are quite a few versions of the CNC 3040. I opted for the more expensive version with ball screws which should be more precise.

For the controller, I opted for a USB capable one since I have no old PC’s around anymore with a parallel printer port which is the other very popular way of driving a CNC mill but, of which I have big doubts if this can work 100% all the time. The CNC software is controlling the data pins of such a parallel printer port directly at very high speed (over 100 kHz) and not much is needed in a non realtime OS like Windows to get a hickup in the data stream with an imperfect piece as a result.

I could order my CNC 3040 from the German Amazon webshop. Looks like some enterprising individual had already imported those CNC mills into Germany. That saved a lot of shipping time (it landed on my desk in only a few days) and best of all no hidden extra costs like import duties and other taxes.

30 kilo's worth of machinery

To my surprise, the CNC mill came largely assemblied already and only required installing the stepper motors and wire everything up.

After unpacking.
Nema 23(!) stepper motors

USB controller

Here things are turning a bit ugly. The included software was obviously a copy of commercial software from PlanetCNC and included a handwritten license key that supposedly should unlock the USB controller hardware. It didn’t match and left the software crippled to execute a maximum of 25 [gcode] steps.

Searching a bit around I think I know how the Chinese were able to provide all of this for cheap. A long time ago, PlanetCNC had a open hardware design] for their very first USB controller. The code for the PIC micro controller they used is not free however. Neither is the software that runs on your PC to control the USB controller.

So what you end up with is a CNC mill with illegal software. PlanetCNC is obviously not happy with that (googling around will give you various forum posts and will not give you a usable license key that works together with the hacked software for free. What they are willing to do was provide a license key for a modest fee.

In the end I decided to buy a completely new USB controller since the Chinese USB controller was really poor but that’s for the next installment of this series.

FYI: PlanetCNC has also an interesting blogpost “Replacing Chinese JP-382C board with genuine PlanetCNC MK3DRV controller” showing how you could easily replace the Chinese provided controller (either USB or using a parallel port) with one of their own controllers (which includes the required license for the PC control software).

A peak inside the controller box.
Close up of the USB controller card.

Another problem

Another problem was that the spindle didn’t run. The problem was easily found in a poorly crimped connector…

300 Watt spindle motor - max 12.000 rpm
So that's why it didn't make any sound...

Finishing assembly

The last thing you have to add yourself is a spoilboard. From the CNCCookBook:

A spoilboard is a disposable work surface mounted atop the router’s permanent table. The spoilboard is typically MDF and protects the router table from damage as well as being an expendable surface that can participate in workholding.

I bought a big sheet of 18 mm MDF in the local hardware store and made a spoilboard that nicely fit the CNC mill.

Fully assembled CNC 3040 with a MDF spoilboard board in place.

First experiment

With the limitation of only 25 gcode steps that can be executed in one go, options were a bit limited to what I could do. But with splitting a more complex design in many small pieces, needing less than 25 gcode steps, it was possible to make something nice anyway…

A long time ago (2008…), I read about a small DIY ‘high-end’ PC loudspeaker in Elektor Audio Special 3 using a small (2.5”) full range driver from MarkAudio.

I used the free version of QCAD to make the drawings and save them in dxf format and then used EstlCam to generate the gcode files from those dxf files.

With enough wood, spare mills and plenty of gcode files I was now ready to start:

Cutout for the driver done.
Milling a pocket so that the driver is nicely flush with the front.
First frontplate done.
Not bad for a first try.
Assembling the first parts.
Dasmping material inside and now sealing the box.
Finished. Looks not bad at all I have to say.

In case you’re wondering, yes they sound good. Exceptionally good even (I had to make extra pairs for friends), although they sounded not that promising at the beginning. But as MarkAudio indicated, they really needed at least 100 hours of play time at soft volumes to open up. But now they’re actually too good to sit next to your PC monitor. When they’re playing it’s sometimes hard to get any work done :-) It’s incredibly good in portraying a 3D image. Even better than my electrostatic speakers of my main HiFi system I have to admit.

In case you’re interested in building this small speaker for yourself, I could find a link to the plans here from this (Dutch) forum post. Be aware that the original MarkAudio Alpair 5 driver is no longer in production. I had to use revision 2 which is now out of production as well and has been replaced with version 3 which promises a slightly more natural and warmer sounding treble (which had to be combatted with a notch filter for the earlier revisions).

Recent posts

See more