Topics

How do I know where my machine will start milling / drilling?

spinnaker
 

I have been away from the electronics hobby for a while.    I had just been getting into using a CNC for fabricating PCBs.

I pretty much decided to use my machine just for drilling. And then do conventional etching.

One area I don't recall ever resolving and that is to know where on the board my machine will start drilling.   I pretty much took a best guess and adjusted the board through dry run trail and error.    Is there a better and more accurate way to do this?

Maybe a related question.   Where should my board be as it relates to the origin in Eagle?   I usually place the board lower right of the origin.

Actually I use DipTrace then import to Eagle to be able to use PCB-Gcode.   It is called the origin in Diptrace.   Pretty sure Eagle has one too.


Paul Kiedrowski
 

Hey there,
The specific order of the hole drilling or trace milling doesn't matter, since it all gets done eventually.
What matters is that you measure out (roughly, say with a ruler) where on the PCB stock (as it sits mounted on the machine) the XY origin should be.
So say your board is rectangular. You draw a rectangle on your board with a marker about where you want it to end up, and make an X where the origin corresponds to.
By drawing it like this you are ensuring that when you start drilling/milling it won't go over the edge of the material.
Now when you start up the CNC software you jog the tool over to where you marked the origin on the material.
Then drop the tip of the tool down until it just touches the top of the board.
Now on the PC software you reset the X/Y/Z coordinate readout to zero. This sets the machine origin.
Now when you start running the gcode file, everything should be within the board boundary you marked, more or less.

I highly recommend putting a small (say 20mil diameter) reference drill hole in each of the 4 corners of the PCB design (and the origin too if its not the lower left corner).
That way if you ever have to re-align the board on the machine, or flip it for bottom milling, you have precise points to line up with the machine.
Plus if you use a shears to cut the PCB out you just cut between those 4 holes.

Hope that helps.
-Paul


--------------------------------------------

On Thu, 12/22/16, me@... [pcb-gcode] <pcb-gcode@...> wrote:

Subject: [pcb-gcode] How do I know where my machine will start milling / drilling?
To: pcb-gcode@...
Date: Thursday, December 22, 2016, 8:58 PM


 









I have been away from the electronics hobby for a
while.    I had just been getting into using a CNC for
fabricating PCBs.

I pretty
much decided to use my machine just for drilling. And then
do conventional etching.

One area I don't recall ever resolving and
that is to know where on the board my machine will start
drilling.   I pretty much took a best guess and adjusted
the board through dry run trail and error.    Is there a
better and more accurate way to do this?

Maybe a related question.   Where should my
board be as it relates to the origin in Eagle?   I usually
place the board lower right of the origin.

Actually I use DipTrace then
import to Eagle to be able to use PCB-Gcode.   It is
called the origin in Diptrace.   Pretty sure Eagle has one
too.












#yiv8115708526 #yiv8115708526 --
#yiv8115708526ygrp-mkp {
border:1px solid #d8d8d8;font-family:Arial;margin:10px
0;padding:0 10px;}

#yiv8115708526 #yiv8115708526ygrp-mkp hr {
border:1px solid #d8d8d8;}

#yiv8115708526 #yiv8115708526ygrp-mkp #yiv8115708526hd {
color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px
0;}

#yiv8115708526 #yiv8115708526ygrp-mkp #yiv8115708526ads {
margin-bottom:10px;}

#yiv8115708526 #yiv8115708526ygrp-mkp .yiv8115708526ad {
padding:0 0;}

#yiv8115708526 #yiv8115708526ygrp-mkp .yiv8115708526ad p {
margin:0;}

#yiv8115708526 #yiv8115708526ygrp-mkp .yiv8115708526ad a {
color:#0000ff;text-decoration:none;}
#yiv8115708526 #yiv8115708526ygrp-sponsor
#yiv8115708526ygrp-lc {
font-family:Arial;}

#yiv8115708526 #yiv8115708526ygrp-sponsor
#yiv8115708526ygrp-lc #yiv8115708526hd {
margin:10px
0px;font-weight:700;font-size:78%;line-height:122%;}

#yiv8115708526 #yiv8115708526ygrp-sponsor
#yiv8115708526ygrp-lc .yiv8115708526ad {
margin-bottom:10px;padding:0 0;}

#yiv8115708526 #yiv8115708526actions {
font-family:Verdana;font-size:11px;padding:10px 0;}

#yiv8115708526 #yiv8115708526activity {
background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}

#yiv8115708526 #yiv8115708526activity span {
font-weight:700;}

#yiv8115708526 #yiv8115708526activity span:first-child {
text-transform:uppercase;}

#yiv8115708526 #yiv8115708526activity span a {
color:#5085b6;text-decoration:none;}

#yiv8115708526 #yiv8115708526activity span span {
color:#ff7900;}

#yiv8115708526 #yiv8115708526activity span
.yiv8115708526underline {
text-decoration:underline;}

#yiv8115708526 .yiv8115708526attach {
clear:both;display:table;font-family:Arial;font-size:12px;padding:10px
0;width:400px;}

#yiv8115708526 .yiv8115708526attach div a {
text-decoration:none;}

#yiv8115708526 .yiv8115708526attach img {
border:none;padding-right:5px;}

#yiv8115708526 .yiv8115708526attach label {
display:block;margin-bottom:5px;}

#yiv8115708526 .yiv8115708526attach label a {
text-decoration:none;}

#yiv8115708526 blockquote {
margin:0 0 0 4px;}

#yiv8115708526 .yiv8115708526bold {
font-family:Arial;font-size:13px;font-weight:700;}

#yiv8115708526 .yiv8115708526bold a {
text-decoration:none;}

#yiv8115708526 dd.yiv8115708526last p a {
font-family:Verdana;font-weight:700;}

#yiv8115708526 dd.yiv8115708526last p span {
margin-right:10px;font-family:Verdana;font-weight:700;}

#yiv8115708526 dd.yiv8115708526last p
span.yiv8115708526yshortcuts {
margin-right:0;}

#yiv8115708526 div.yiv8115708526attach-table div div a {
text-decoration:none;}

#yiv8115708526 div.yiv8115708526attach-table {
width:400px;}

#yiv8115708526 div.yiv8115708526file-title a, #yiv8115708526
div.yiv8115708526file-title a:active, #yiv8115708526
div.yiv8115708526file-title a:hover, #yiv8115708526
div.yiv8115708526file-title a:visited {
text-decoration:none;}

#yiv8115708526 div.yiv8115708526photo-title a,
#yiv8115708526 div.yiv8115708526photo-title a:active,
#yiv8115708526 div.yiv8115708526photo-title a:hover,
#yiv8115708526 div.yiv8115708526photo-title a:visited {
text-decoration:none;}

#yiv8115708526 div#yiv8115708526ygrp-mlmsg
#yiv8115708526ygrp-msg p a span.yiv8115708526yshortcuts {
font-family:Verdana;font-size:10px;font-weight:normal;}

#yiv8115708526 .yiv8115708526green {
color:#628c2a;}

#yiv8115708526 .yiv8115708526MsoNormal {
margin:0 0 0 0;}

#yiv8115708526 o {
font-size:0;}

#yiv8115708526 #yiv8115708526photos div {
float:left;width:72px;}

#yiv8115708526 #yiv8115708526photos div div {
border:1px solid
#666666;height:62px;overflow:hidden;width:62px;}

#yiv8115708526 #yiv8115708526photos div label {
color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}

#yiv8115708526 #yiv8115708526reco-category {
font-size:77%;}

#yiv8115708526 #yiv8115708526reco-desc {
font-size:77%;}

#yiv8115708526 .yiv8115708526replbq {
margin:4px;}

#yiv8115708526 #yiv8115708526ygrp-actbar div a:first-child {
margin-right:2px;padding-right:5px;}

#yiv8115708526 #yiv8115708526ygrp-mlmsg {
font-size:13px;font-family:Arial, helvetica, clean,
sans-serif;}

#yiv8115708526 #yiv8115708526ygrp-mlmsg table {
font-size:inherit;font:100%;}

#yiv8115708526 #yiv8115708526ygrp-mlmsg select,
#yiv8115708526 input, #yiv8115708526 textarea {
font:99% Arial, Helvetica, clean, sans-serif;}

#yiv8115708526 #yiv8115708526ygrp-mlmsg pre, #yiv8115708526
code {
font:115% monospace;}

#yiv8115708526 #yiv8115708526ygrp-mlmsg * {
line-height:1.22em;}

#yiv8115708526 #yiv8115708526ygrp-mlmsg #yiv8115708526logo {
padding-bottom:10px;}


#yiv8115708526 #yiv8115708526ygrp-msg p a {
font-family:Verdana;}

#yiv8115708526 #yiv8115708526ygrp-msg
p#yiv8115708526attach-count span {
color:#1E66AE;font-weight:700;}

#yiv8115708526 #yiv8115708526ygrp-reco
#yiv8115708526reco-head {
color:#ff7900;font-weight:700;}

#yiv8115708526 #yiv8115708526ygrp-reco {
margin-bottom:20px;padding:0px;}

#yiv8115708526 #yiv8115708526ygrp-sponsor #yiv8115708526ov
li a {
font-size:130%;text-decoration:none;}

#yiv8115708526 #yiv8115708526ygrp-sponsor #yiv8115708526ov
li {
font-size:77%;list-style-type:square;padding:6px 0;}

#yiv8115708526 #yiv8115708526ygrp-sponsor #yiv8115708526ov
ul {
margin:0;padding:0 0 0 8px;}

#yiv8115708526 #yiv8115708526ygrp-text {
font-family:Georgia;}

#yiv8115708526 #yiv8115708526ygrp-text p {
margin:0 0 1em 0;}

#yiv8115708526 #yiv8115708526ygrp-text tt {
font-size:120%;}

#yiv8115708526 #yiv8115708526ygrp-vital ul li:last-child {
border-right:none !important;
}
#yiv8115708526

keith3125
 

When I need to drill (or even specialize mill a small area on a board that's already cut), I make a pocket in spoil board and let's say your left lower corner of the board is 'zero X,Y'. Then I copy the coordinates in question (where I need to drill or mill) by 'info' in Eagle and I'm 'right on'.



From: "me@... [pcb-gcode]"
To: pcb-gcode@...
Sent: Thursday, December 22, 2016 9:58 PM
Subject: [pcb-gcode] How do I know where my machine will start milling / drilling?

 
I have been away from the electronics hobby for a while.    I had just been getting into using a CNC for fabricating PCBs.

I pretty much decided to use my machine just for drilling. And then do conventional etching.

One area I don't recall ever resolving and that is to know where on the board my machine will start drilling.   I pretty much took a best guess and adjusted the board through dry run trail and error.    Is there a better and more accurate way to do this?

Maybe a related question.   Where should my board be as it relates to the origin in Eagle?   I usually place the board lower right of the origin.

Actually I use DipTrace then import to Eagle to be able to use PCB-Gcode.   It is called the origin in Diptrace.   Pretty sure Eagle has one too.




spinnaker
 

Wow thanks for the fast response.   So what you are telling me, is  the "touch off" point should be at X=0, Y=0, Z=0?   Thinking WAYYYYY back in my memory, I seem to remember touching off way far off where the actual drilling begins.   I will try to verify that tomorrow,

What I still do not understand is how do I know where 0,0 is on my drawing?   I need to somehow match the coordinates of my drawing to the machine right?  You did mention add a hole for reference, which is a great idea.  But don't I need to somehow tell Eagle / pcb-gcode that point is going to be 0,0?    Or is that what the origin in Eagle do for me?  If so, where should that origin be set?   Lower left corner as you mentioned? If not how do I set 0,0 on my drawing?

And remember I don't use Eagle  for  drawing (use DipTrace then import), so forgive my ignorance.

keith3125
 

You can use the 'mark tool' oin Eagle to make any spot 'zero X,Y'. Then you can info tool any hole in Eagle, move your cursor to that info mark and then look at the window next to the regular coordinates window and you see the offset.



From: "me@... [pcb-gcode]"
To: pcb-gcode@...
Sent: Thursday, December 22, 2016 11:02 PM
Subject: Re: [pcb-gcode] How do I know where my machine will start milling / drilling?

 
Wow thanks for the fast response.   So what you are telling me, is  the "touch off" point should be at X=0, Y=0, Z=0?   Thinking WAYYYYY back in my memory, I seem to remember touching off way far off where the actual drilling begins.   I will try to verify that tomorrow,

What I still do not understand is how do I know where 0,0 is on my drawing?   I need to somehow match the coordinates of my drawing to the machine right?  You did mention add a hole for reference, which is a great idea.  But don't I need to somehow tell Eagle / pcb-gcode that point is going to be 0,0?    Or is that what the origin in Eagle do for me?  If so, where should that origin be set?   Lower left corner as you mentioned? If not how do I set 0,0 on my drawing?

And remember I don't use Eagle  for  drawing (use DipTrace then import), so forgive my ignorance.


spinnaker
 

Thanks but you lost me after 'mark tool'.    I was able to find that and have a mark in the lower left corner of the
board.

I looked for "info tool"   but did not find it.

And I still don't understand how knowing the offset between those two points is where my machine's home position is going to be.    Or does the "mark tool"  set that position?   If so then knowing the offset makes sense as to where the first hole will be.

TonyZPP
 

I think you're making this "registration" process more difficult than it actually is.

Here's what I do:

1 - Clamp a piece of copper clad PCB material to your mill table using a sacrificial backer board
(I use medium density fiberboard, "MDF" for this). Use a piece of copper that is approx. 1" larger in X/Y than your final PCB.

2 - Jog the CNC machine so that the tip of the cutting tool is 1/2 inch in from the left, and 1/2 inch up from the bottom
of the copper clad board, and so that the tool tip is just touching the copper.

3 - Go into Eagle and determine the coordinates of the lower left point of the board outline. This may or may not be 0,0. It doesn't matter.
You can right click on one of the outline segments and select "Properties" to get this information. Let's say this point turns out to be X = .350, Y = .725.

4 - Now, go to your CNC program and select "Touch off", and enter X = .350, Y = .725, and Z = 0.0. Done!

This will place your final PCB approximately in the center of the piece of copper clad.

Hope this helps! Good luck.

Tony

On 12/22/2016 9:58 PM, me@... [pcb-gcode] wrote:
 

I have been away from the electronics hobby for a while.    I had just been getting into using a CNC for fabricating PCBs.

I pretty much decided to use my machine just for drilling. And then do conventional etching.

One area I don't recall ever resolving and that is to know where on the board my machine will start drilling.   I pretty much took a best guess and adjusted the board through dry run trail and error.    Is there a better and more accurate way to do this?

Maybe a related question.   Where should my board be as it relates to the origin in Eagle?   I usually place the board lower right of the origin.

Actually I use DipTrace then import to Eagle to be able to use PCB-Gcode.   It is called the origin in Diptrace.   Pretty sure Eagle has one too.


keith3125
 

This all revolves around my first comment on pocketing firstly.
If you make a pocket in some spoiler board, let's say you make a pocket for a board that is 1"X1". Let's also say that you made the pocket with it's lower left corner being 'zero'. (Note: when I make a pocket the exact size of the board, at each corner of the pocket I use the mill end that I pocketed with to make a hole that is a little deeper than the pocket. I make the pocket only half the depth of the board. This makes a very snug fit and easy removal).

Then 'Group' board. Then click 'Move'. Then right click on the lower left edge of board (exactly) and then choose 'Move Group'. Place 'group' at 0,0.

Your mill knows where zero is because you milled a pocket with it's lower left called 'zero'.

This give a very exact locating. I drill .011" and sometimes less, holes this way, dead center on a pad that is .029" in diameter.


From: "me@... [pcb-gcode]"
To: pcb-gcode@...
Sent: Friday, December 23, 2016 9:32 AM
Subject: Re: [pcb-gcode] How do I know where my machine will start milling / drilling?

 
Thanks but you lost me after 'mark tool'.    I was able to find that and have a mark in the lower left corner of the
board.

I looked for "info tool"   but did not find it.

And I still don't understand how knowing the offset between those two points is where my machine's home position is going to be.    Or does the "mark tool"  set that position?   If so then knowing the offset makes sense as to where the first hole will be.


keith3125
 

FYI: 'info' a really important tool is the circled 'i' in the tool bar



From: "me@... [pcb-gcode]"
To: pcb-gcode@...
Sent: Friday, December 23, 2016 9:32 AM
Subject: Re: [pcb-gcode] How do I know where my machine will start milling / drilling?

 
Thanks but you lost me after 'mark tool'.    I was able to find that and have a mark in the lower left corner of the
board.

I looked for "info tool"   but did not find it.

And I still don't understand how knowing the offset between those two points is where my machine's home position is going to be.    Or does the "mark tool"  set that position?   If so then knowing the offset makes sense as to where the first hole will be.


John Johnson
 

Eagle's origin (the white cross hairs in the board editor) should be at the lower-left of the board.That means everything on the board will be in +X and +Y directions.

As mentioned previously, locating holes are the way to go, in my opinion. They are great for squaring the board with the machine, and great for recovering from system failures.

Regards,
JJ


On Fri, Dec 23, 2016 at 10:48 AM, KC kc1of36@... [pcb-gcode] <pcb-gcode@...> wrote:
 

FYI: 'info' a really important tool is the circled 'i' in the tool bar



F rom: "me@... [pcb-gcode]" <pcb-gcode@...>
To: pcb-gcode@...
Sent: Friday, December 23, 2016 9:32 AM
Subject: Re: [pcb-gcode] How do I know where my machine will start milling / drilling?

 
Thanks but you lost me after 'mark tool'.    I was able to find that and have a mark in the lower left corner of the
board.

I looked for "info tool"   but did not find it.

And I still don't understand how knowing the offset between those two points is where my machine's home position is going to be.    Or does the "mark tool"  set that position?   If so then knowing the offset makes sense as to where the first hole will be.





--
Sent from a MacBook Pro