Crystal Clear action run.png
G-Code workshop


Description G-Code workshop
Session 2h
Tot. Hours 12h
Cost 5€/h
Teacher Salvatore Balestrino
External Link none
GCode programming


  • a notebook with Linux (or Windows)
  • some sheets to sketch into
  • basic understanding on what a milling machine is


GCode programming is a large subject and is related to machining. We cannot learn GCode without knowing some bits of machining and mathematics behind the technology.

In this workshop you will not learn only GCode commands but how to plan real machining operations, simulate them and how to use a CNC machine operator panel.

We use LinuxCNC as a simulator. Please install and then and then download the image

  • Download link here: [1]

Please also have a look and download for reference the Tormach PCNC1100 Pathpilot CNC Operator panel

Course participants

Why learn G-Code? i got a CAM!

  • Avoid having run back to your CAM when a simple changes in G-Code would do the trick!
  • Very fast on particular jobs (drilling, facing)
  • Custom probing macro
  • Tweak your post-processor!
  • You got the control of the control machine.

What's the Best Way to Learn G-Code?

Following this workshop. But also using and studying the examples, with a smart reference table!


There are some basic concepts you should know before we dive into what individual g-codes do and how to use them. Most importantly, you must understand what a computer language is and how to think about it. G-Code is a computer language aimed at telling your machine what to do. The trouble with computer languages like g-code is that unlike people, machines are very literal. They assume you know exactly what you want, they don't question you about it, and they immediately try to comply, even if that means hurting themselves!

For that reason, you need to adopt an approach of being protective of your machine, perhaps even over protective bordering on paranoid.

There's no need to be afraid of g-code, but it is important to understand it and to respect it in order to be successful.