This page last updated: 24 December 2016.

A month or two ago, in anticipation of future projects, I bought myself a High-Z/S-400T CNC milling machine from While waiting for my next lathe to arrive in order to complete the Stirling Engine, I had a go at my first milling project, which I decided would be a maze cut into brass plate. Saffron Walden is a maze town (it has three and runs a maze festival every few years) so a maze seemed appropriate.  The object created is not meant to be for anything in particular, more an exercise in learning how to use the machine and associated software.

First I went
to and generated myself a maze.  I went for 20 by 20 hexagonal cells (which looks quite pretty) and iterated, changing the E and R values and looking at the solution, until I had something which used most of the maze and had plenty of dead ends (i.e. low E and low R):

Maze generator

Then I saved the result, one with and one without the solution shown, as PNG files.  I did try saving to SVG file first but the SVG file you get is made up of many small vectors which doesn't work readily with a CNC application (which needs closed shapes in order to understand how to mill them):

Maze PNG file Maze with
          solution as PNG file

For the CNC side, I used VCarve Pro from Vectric.  I imported the PNG file and used the trace function to draw a closed vector around the bitmap image.

Maze tracing in VCarve
          Pro Maze vectors generated by
          tracing in VCarve

The effect I would like to achieve is for the maze shape to be milled into a brass plate.  The problem with the closed shape I have achieved above is that the application thinks I want to mill inside the border walls instead of between them.  To fix this I used node editing to split the single closed vector at the entrance and exit to the maze and close just the inner vector on itself, deleting the outer vector entirely.  I also turned the entrance and exit points into pleasing circles, adding an inner circle to each that can be milled to a different depth, potentially providing a "home" position for a small ball-bearing.  Here is the result:

Maze in VCarve with
          corrected vector

Taking these vectors and cutting a 3 mm deep slot with a 2 mm end mill produced the following simulated result inside VCarve Pro:

Maze in preview

I saved the resulting toolpaths to a format which my CNC milling machine understands (the one for a WinPC-USB controller) and milled the pattern onto a piece of MDF to test things out; the extremely fuzzy video is speeded up 64 times to roughly match the simulation speed above:

Maze in MDF

The MDF was only loosely held as I discovered I didn't have some of the clamping pieces required, so some misalignment was to be expected, however what I didn't understand was why some of the areas where the software had chosen to plunge in (before later drawing out the maze proper) were considerably deeper than the areas where it simply cut out the maze (see lower left in the picture below):

Maze plunge problem

There's no sign of this in the simulation.  I did pause somewhere between the plunging and routing phases in order to re-charge the battery in the camera and I think I heard an unusual noise from the machine when I did so, so maybe that was it?  I'll need to try it again to be certain.

My next clever idea was to cut the maze in perspex.  What I hadn't anticipated was that the milling tool would get so hot when digging the furrow that it would melt the perspex, resulting in this horrible mess:

Maze in perspex
Melted plastic

I should have taken several passes at it.

Enough messing around, I need to bite the bullet and cut into brass now.  Taking into account various resource around the internet, I chose a 2 mm two-flute end-mill, a tool speed of 20,000 RPM, a feed rate of 4 mm/second, a plunge rate of 0.3 mm/second and a pass depth of 0.3 mm. This results in an estimated total milling time of four hours (10 passes required) for a 3 mm final depth of cut.  Maybe I should have chosen something a lot simpler to mill on my first attempt, especially as the WinPC-USB software's USB interface has crashed and lost contact with the machine during each of my test runs?

Since I must wait a few weeks for some very cheap ["H62", 343-460 N/mm2 tensile strength] pre-cut brass plate to arrive from China, I milled this toolpath (though with the tool only running at 3500 RPM) into a spare perspex sheet to check the quality of such a long run and the real duration. Nine hours later (i.e. just under an hour per pass) here's the very pleasing result:

Maze in perspex,
          second attempt Maze in perspex, second

No crashes occurred: I had the USB interface plugged directly into the PC rather than through a [powered] USB hub; so maybe that made the difference? And there was no loss of registration over the nine hours of travel; look at the sides of the maze above, those are cut in ten passes with never a return to reference position and yet there is no sign of stepping.  Very impressive.  The only thing I would like to improve is the scuffing on the surface (see Note On Terminology at the bottom of this page).  Asking at I was moved to purchase an end-mill with a radiused corner (0.2 mm) to reduce the scuffing.  It was also suggested that the tool speed in perspex should be more like 8000 RPM and I was pointed towards a very useful web-based calculator for CNC milling parameters FSWizard.

While waiting I ordered a pack of 2 mm stainless steel ball bearings from e-bay; these worked nicely in the perspex maze.

For the final cut in brass I increased the depth of the maze slightly (
final depth of cut 3.8 mm now, 13 passes).  I polished the top and filed down the sides of the brass plate, then began milling.

10 hours into the job the milling bit began making a screeching noise and, on the final pass, it broke off.  You can see from this picture, compared with an unused bit, that half of the tip is missing and it is clogged with brass:

Broken milling bit

Now, since the milling did not finish, unevenness in the base can be expected (in that it had drilled some clean-out areas and not yet milled across that part of the pocket) but, even taking that into account, the damage at the end of the bit has cleary had an effect on the bottom of the cut, which seems somewhat smeared, and on the walls, which have steps in them:

Maze in
                  brass, not quite completed The
                  brass maze, flat view Stepping on the wall of
                  the cut maze

I was driving the bit too hard.  The specified cutting depth for the bit was 3 mm, though measured it looked more like 4 mm so I went with my 3.8 mm final depth of cut but maybe I was over-egging it and the bit overheated rubbing against the walls in the last few passes?  I revisited to ask for more advice, where I learned:
I should try something on the last point but it looks complex, so I tried a HSS tool first and ran it at a lower RPM: a 4 flute HSS, 8% cobalt, end-mill (4 flutes as I couldn't find a 2 mm diameter two flute HSS end-mill, though I later learned that a slot-mill is the same thing*), no shoulder radius this time (as I couldn't find a radiused HSS tool of 2 mm diameter either), 7 mm flute length and with a 6 mm diameter shaft for additional strength.  I ran it at half the feed-rate that HSM Advisor suggests, so just 5 mm/second, and the motor was running at 14000 RPM.  HSM Advisor reckoned I could cut 0.8 mm depths at a time but I reduced to 0.5 mm.  I also kept a final pass of just 0.1 mm depth as a separate CNC file so that I could run it with a fresh tool if the first tool seemed damaged after its exertions.

And, wouldn't you know it, despite a very good looking cut, after not even one lap the bit snapped:

Cutting the
                maze in brass with an HSS tool
The end of the broken milling bit compared with a
                good one
End of broken milling bit
End of broken milling bit

It looks as though the tips of the milling bit have worn rather quickly (circled above) and then it has become clogged with brass.  I returned to a for yet more advice.  Most observers seemed to think that I shouldn't be having so much trouble but, with such a long cut for the maze, cooling and removing chips, so that they don't end up clogging things, are wise moves.

I learned a HUGE lesson while changing tools at this point: do NOT put the movable tool length sensor that comes with your machine underneath your park position.  While that seems logical, if you accidentally leave it there and press "start", depending on how the Z clearance is set up for your job, the tool may come down and slam into the length sensor, destroying 200 of sensor.  Instead, put the length sensor in a location that you would not normally move the machine to.  And, as a matter of procedure, ALWAYS move the sensor out of the way after use.  Thinking about it, it seems odd that the tool should come down first and then move into X/Y position, that's more likely to hit something isn't it?  Ah well.

Next, I made myself an air cooler.  I bought a small Jun-Air compressor off e-bay, a solenoid valve, a pressure adjusting valve, some 1 mm internal diameter copper pipe to form a jet, various adapters/tubing and a sheet of aluminium to make a mount for the milling machine.

Solenoid valve
Pressure adjusting valve
Air jet

I returned to two flutes (which, advice suggests, is better) and thought I'd try a PM60 "Only One" end mill (just for variety) that is definitely capable of a 4 mm deep cut, run at 1400 RPM.  I only turned on the cooling air during the long slot-cutting runs and for occasional bursts to clear out chips as my Jun-Ar compressor (model 6-25) motor likes to have 15 minute breaks between runs; using 2 bar pressure of pressure for a good air jet means more like 2 minutes on to 4 minutes off.  Part of the way through the cutting I noticed that there was a vibration while side-milling at one end of the brass plate; I think the plate was not completely flat and so wouldn't clamp against the surface in all places.  The vibration was sufficient to shove the cutting bit up into the collet by about 1 mm.  Not wanting to unclamp the piece and lose registration I tightened the bit, forced some old feeler gauges that I use for packing into the gaps, re-measured the bit length and continued the cut.  I might consider putting some cushioning beneath the piece in future to absorb any vibration.

Packing under the brass plate

Anyway, hey presto, it is done!  The cut is of good quality (compare it with the perspex above); cooling is the thing.

Close-up of
                finished thing

Oh, and the tool tip was worn but not damaged, no sign of melted brass.  Cooling is definitely the thing.

Milling bit still good

Here are the files as used: the VCarve file, and the main and final NC files.

* A NOTE ON TERMINOLOGY: a "slot" mill, originally called a "slot drill" is good at cutting vertically downwards while an "end" mill is not intended to cut vertically downwards but it is intended to mill across its bottom face.  Both are able to cut on the side. Hence you can use a slot mill/drill to cut vertically downwards and then along but the finish on the bottom of the slot will not be so good while an end mill will create a good finish on the bottom of the slot but you can't cut straight downwards, you have to "climb" or "ramp" into the cut. I only found this out after finishing the above, so ideally what I should have done is made the final cut with an end mill to achieve a good finish on the bottom of the maze (since the files I used always climbed into the cut in any case).

Back to Meades Family Homepage