{"action":"created","issue":{"url":"https://api.github.com/repos/grbl/grbl/issues/590","labels_url":"https://api.github.com/repos/grbl/grbl/issues/590/labels{/name}","comments_url":"https://api.github.com/repos/grbl/grbl/issues/590/comments","events_url":"https://api.github.com/repos/grbl/grbl/issues/590/events","html_url":"https://github.com/grbl/grbl/issues/590","id":57477470,"number":590,"title":"How to do a tool change?","user":{"login":"109JB","id":10978476,"avatar_url":"https://avatars.githubusercontent.com/u/10978476?v=3","gravatar_id":"","url":"https://api.github.com/users/109JB","html_url":"https://github.com/109JB","followers_url":"https://api.github.com/users/109JB/followers","following_url":"https://api.github.com/users/109JB/following{/other_user}","gists_url":"https://api.github.com/users/109JB/gists{/gist_id}","starred_url":"https://api.github.com/users/109JB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/109JB/subscriptions","organizations_url":"https://api.github.com/users/109JB/orgs","repos_url":"https://api.github.com/users/109JB/repos","events_url":"https://api.github.com/users/109JB/events{/privacy}","received_events_url":"https://api.github.com/users/109JB/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-02-12T15:49:34Z","updated_at":"2015-02-16T14:32:14Z","closed_at":null,"body":"I have been following the development of GRBL for quite some time now. I currently use LinuxCNC on a desktop controlling a 3-axis milling machine via parallel port.  I would like to get away from the desktop and move to something like GRBL. I like the fact that the Arduino is doing nothing more than controlling the machine movements.  On occasion with the desktop setup, I receive real time warnings and rarely errors. Even though this is rare, it has prompted me to keep an eye out for solutions. As a hobbyist, I would like something inexpensive which is exactly why GRBL is appealing.  Having said all of that, there is one thing that has prevented me from making the leap to GRBL. That is tool changes.  Right now I use LinuxCNC's manual tool change routine that uses an M06 T# command that pulls the tool length offset from the tool table.  I see that GRBL does not currently support M06, but it does support program pause, probing, and tool length offset (G43.1). I am thinking that this would allow writing into the NC code a list of commands to perform a tool change. For example, performing these steps:\r\n\r\n1 - Spindle stop\r\n2 - Move to a designated spot for tool change while retracting spindle\r\n3 - Pause\r\n4 - Physically change the tool\r\n5 - Perform a Z-axis probe of tool length using a tool setting plate\r\n6 - Code that enters the offset using G43.1\r\n7 - Retract spindle\r\n8 - resume program\r\n\r\nThe thing I don't know is how to enter the new tool length offset into G43.1.  For those that do this, can you explain, and maybe give example NC code for this?  Or, is there another way to do this?\r\n\r\nI have reached the point where I am going to give it a shot and have ordered the Arduino, and some other items to try this.  Any help is appreciated.\r\n\r\nAlso, another thing that I would like to have is drilling G-codes, but this is not a deal breaker.\r\n\r\nThanks,\r\n\r\nJohn B."},"comment":{"url":"https://api.github.com/repos/grbl/grbl/issues/comments/74516275","html_url":"https://github.com/grbl/grbl/issues/590#issuecomment-74516275","issue_url":"https://api.github.com/repos/grbl/grbl/issues/590","id":74516275,"user":{"login":"alpharesearch","id":317055,"avatar_url":"https://avatars.githubusercontent.com/u/317055?v=3","gravatar_id":"","url":"https://api.github.com/users/alpharesearch","html_url":"https://github.com/alpharesearch","followers_url":"https://api.github.com/users/alpharesearch/followers","following_url":"https://api.github.com/users/alpharesearch/following{/other_user}","gists_url":"https://api.github.com/users/alpharesearch/gists{/gist_id}","starred_url":"https://api.github.com/users/alpharesearch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alpharesearch/subscriptions","organizations_url":"https://api.github.com/users/alpharesearch/orgs","repos_url":"https://api.github.com/users/alpharesearch/repos","events_url":"https://api.github.com/users/alpharesearch/events{/privacy}","received_events_url":"https://api.github.com/users/alpharesearch/received_events","type":"User","site_admin":false},"created_at":"2015-02-16T14:32:14Z","updated_at":"2015-02-16T14:32:14Z","body":"If you start with Java and your create the canned cycles module you could have a look at https://github.com/winder/Universal-G-Code-Sender and it would be nice to have this directly integreted. If you want work with UGS source I would suggest to use NetBeans."}}