How to machine your first workpiece

In tutorial How to setup CNC machine using PlanetCNC Software and controller was described how to use limit switches and software settings, so that our machine will be properly calibrated and set, therefore ready for everyday use, giving us correct and satisfying results.

Please read this tutorial before continuing: How to setup CNC machine using PlanetCNC Software and controller

Important lessons from that tutorial:

Homing procedure gives machine absolute coordinates. Only now machine becomes “self aware” and therefore is capable of knowing where its position is at any given moment. (video, step 1)

– We defined machine Table size i.e. workspace in all three coordinates. Visualization in software helps us with better sense of orientation. It helps us locate current machine tool position and imported program (g-code) position.

Soft Limits are used to decelerate machine when certain axis is coming close to its limit, and prevents it from crashing.

Tool Offset is measured by using Fixed Tool sensor.
Proper installment of Fixed Tool Sensor and its software settings configuration is necessary.  When we measure Tool Offset tip of our tool activates Fixed Tool Sensor. This sends exact information about height at which tool tip is located in machine absolute coordinates.  (video, step 2)


This tutorial will help you getting started with the use of your CNC machine using PlanetCNC software and PlanetCNC controllers. Tutorial will focus on main points when setting Offset features.
Certain steps are also described in video below.

Importing program

We usually design our program in CAD software and define machine operations in CAM software. Programs can be saved in many different file formats. PlanetCNC software is capable of importing most of the popular file formats.

To import your program click File/Import or File/Open.

For tutorial purposes we imported program (file) in G-code format, which was generated with popular CAM software.

Apart from actual toolpath, G-code also contains all feed rates (speed) parameters, spindle commands (if spindle is controlled with controller) and other things. G-code used in this tutorial, assumes material top position is at Z zero. ‘Safe Height’ is 10mm above the material.

Setting Offset – Current XY

We set our Working Offset to zero before importing our program. This can be done by clicking Offset-Zero button in Offset Toolbar or through Machine/Offset/Zero menu.

Offset-Zero button 1

Imported programs origin is at machines zero position (in our case this is Home position).


Since our actual work piece is at other, more suitable location on machines table, we simply jog our machine to location where our piece is attached and where we want to machine it.(video, step 3)


When we find location on the table that suits us the most, we use Offset – Current XY feature, which allows us to set XY coordinates for starting point of machining.(video, step 4) You can set Current XY Offset anywhere on the table (as long as dimensions of program are within borders of the table size). We apply offset by clicking Offset – Current XY button. This can also be done through Machine menu.

Button is located in Offset Toolbar:


Machine Menu: Machine/Offset/Current XY


When we applied Offset-Current XY, our programs (G-code) origin aligned with machine.


XY coordinates of starting point are now set.

You can observe and switch between absolute and relative coordinates with the help of W checkbox
at Position panel.

XY Offset position in absolute coordinates


XY Offset position in relative coordinates



Setting Offset-Current Z

With XY offset coordinates of starting point already set, we must now define Z offset coordinate of starting point.
Top surface of working piece material is usually Z zero.

Setting Offset – Current Z can be done in many different ways. In our example we will do this most basic way (without movable sensor) by jogging machine over work piece, and then by step jogging of Z axis, slowly descending our tool onto the material surface.


We can help ourselves by adding a piece of paper between tool and the surface of material. When we are not able to move paper anymore, that indicates that tool is almost completely touching the
surface of material and we can apply Offset-Current Z. (video, step 5)


We apply offset by clicking Offset – Current Z button, or through Machine menu.

Button is located in Offset Toolbar:


Machine menu: Machine/Offset/Current Z


Z coordinate of starting point is now also set. We provided all three coordinates of starting point.  With the help of Position panel we can see that all three relative offset coordinates are now set to zero:


If we now jog our machine at any position on the table, and we click Go To – Zero XY button 14 ,
then machine will move back to position that was set as Current XY offset.