Roboteernat's Mill Documentation Page

Thing is, its a messy job, timely and requires alot of equipment, so the next best solution is to get a PCB CNC machine. The cheapest being shy of £1300 in a quick google search (

The google search also brings up a few interesting DIY projects, including this one: by Jonathan Westhues.

His second generation machine caught my eye… looks a bit like the makerbot without its awsome shell! maybe i could put both together and make boards with it?

Hence why I'm writing about my experiments.

Cannot fetch Flickr photo (id: 4151498142). The photo either does not exist, or is private

A few things that i will describe:

  • Software used to generate the gcode for milling the PCB.
  • Cutting tools.
  • cutting bits.
  • PCB base for the makerbot.
  • Running the gcode and making a PCB.

OK, before we start, i have experienced several problems cutting SMT devices. im trying to solve this currently.

  • Software used to generate the gcode for milling the PCB.

A quick search on our friendly web search engine comes up with a nice add-on for Eagle which is free and very good! (Popular too) It is PCB_GCODE [] Its a simple addon which requires a bit of a setup beforew you can use it.
After downloading, follow the instructions to add the files into Eagle, then read through the instructions. This is an important step as there are several things you need to understand when using the Eagle add on.

The image above shows the pcb-code setup page. there are a few notes to make here.

The options to generate the different layer milling patterns for top and bottom, as well as the drill patterns for the top and bottom.

The milling option allows for you to mill out excess copper from the pcb. This is an option which is not used that much as its not necessary and adds extra time to the build.

Currently the settings i am testing with are…
This image i have taken from the net as i had to reinstall windows on my pc.

I have tried different settings and subsequently you can see the differences - shown later.

What you need to create is at least 3 files for a double sided PCB.

Generate Top Outlines
Generate Bottom Outlines
Generate Top Drill

So the settings:
Generate Top/Bottom outlines - this is the setting which generates the gcode which follows the outer lines of the tracks/holes/vias.
Generate Top/Bottom drills - this is the file that creates the holes ewither from the top, or the bottom, depending on the way round your board is, you can use the appropriate side drill file to drill!

The Isoation settings are the settings we need to look at!

This is where you define the number of times the tool goes around the lines, and how far each path moves away from the first. for an instruction on these, please visit: Cute (where the images came from)
Here they describe the settings very well with images!

They alsodescribe the settings for generating the pcb milling depth, speed etc.

The next tab


Please be aware, these settings are not mine and are not dsesigned for makerbot"!

settings i used:
z high - 10mm (clears bolts etc)
z up - 3mm (clears pcb)
zdown ( cant remember (but set to 1mm if unsure - it may actually be the setting for m,illing depth so it would be -0.15 but do +2mm first (plus) then see what happens.
drill depth 2mm (clears depth of pcb cleanly (and remember to add a sacrificial board underneath!)
dwell 1 (seconds held at the bottom (if 0, it may not reach the bottom of the drill hole)
milling depth - -0.15 (milling depth into the copper clad)
spin up time - 1 (dremel will be on always as its not controlled by the makerbot electronics! it may be possible to add a relay andchamnge the 'switch on' gcode to allow the electronics (extruder on) output to switch on the dremel (later revision!)
Etching tool size - the width of the vcutting bit - this is nowrmally about 0.1mm.
This basically describes the machine. As we are using the makerbot we need to modify these settings for the makerbot, otherwise it will try and go to 160mm - obviously the makerbot has only a working space of 100x100mm.

Z_high, - position that clears all fixtures (the bolts that hold down the pcb onto the modified build base)

Z_up - position to move between holes or tracks.

Z_down - the position to move the z axis down to when milling the pcb. as specified in the PCB_Gcode instructions, this should be small, just enough to cut through the PCB copper material.

Drill depth. This is the setting that specifies how deep to cut the PCB when drilling holes, Obviously this needs to be all the way through the PCB. measuree the depth and put 0.1mm more.

Tool change this is the position at which it is possible to change the tool. This is a bit of an iffy command. The reason i say this is that the PCB-Gcode generates a wait command which waits for the user to change the tool and then specify that the tool has been changed. Unfortunatly the makerbot has not got the ability to function these commands and therefore it continues through the program.

however it is good to position the tool change high enough for you to either blow away the dust or to pause the program on Replicator G and change tools.

X - 0
Y - 0
Z - 60

The feed rates are necessary as this specifies the speed of the cutter - the faster the more inaccuracies you have in the shape, the slower,then the longer it takes - current settings are

XY 30 in/min
Z 7 in/min

Once this has been set up, run the pcb-gcode command for your PCB design.

  • Cutting tools.

So, you have the design, but you need something to cut it with. This is where the hand tool comes in. If you look at cnc machines online, most use a router for the large ones, or the handy 'dremel' type tool. The one im using is a black and decker hand tool. the thing is how does it fit on?

Luckily, there is a fitting which is standardised to them. the collar is standardised, and so luckily, by cutting a hole in a piece of plastic and then fitting this to the 2 holes of the 4 which fits the plastruder, you can easily secure a dremel

  • Cutting bits.

Here is a choice. Looking at the web, there are many options. v-cutters, routing bits.


The first bit (left to right) is 10degrees - snap very easily, 20degrees better but still snap easily. 30 degrees, commoon, but 45 degree bits also are common with hobbiests.

  • Y axis.

Something i found was that as the bed moved pusing the pcb material through the cutter, as the y axis and build base are not secured, but only by magnets,m they can flex, causing non straight lines - see large image above.
By removing the magnets and bolting the build base to the y axis, allows for a more stable fixing. Also make sure the belt is tight for both y and x, aswell as being solid in construction - tighten the botls/glue it.

  • Running the gcode and making a PCB.

This is a demo vid of the pen showing where the dremel would cut the pcb board when fitted. it starts by 'cuttoing' a series of via holes.

i will upload a video of the makerbot milling a pcb, when i can install the gcode again!

further reading ;

any questions, post to the youtube vid, tweet me (@Roboteernat) or catch me on the makerbot forums

Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.