Bird
Raised Fist0
CNC Programmingscripting~10 mins

Machine home and reference point in CNC Programming - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Machine home and reference point
Power On Machine
↓
Machine Starts
↓
Move to Home Position
↓
Set Reference Point
↓
Machine Ready for Operation
The machine powers on, moves to its home position, sets the reference point, and then is ready for work.
Execution Sample
CNC Programming
G28 ; Move to machine home
G92 X0 Y0 Z0 ; Set current position as reference point
Moves the machine to its home position and sets that position as the reference point.
Execution Table
StepCommandActionMachine PositionReference Point Set
1G28Move to home positionX0 Y0 Z0No
2G92 X0 Y0 Z0Set current position as reference pointX0 Y0 Z0Yes
3Ready for operationMachine is at home and reference point setX0 Y0 Z0Yes
💡 Machine is at home position and reference point is set, ready for operation.
Variable Tracker
VariableStartAfter Step 1After Step 2Final
Machine PositionUnknownX0 Y0 Z0X0 Y0 Z0X0 Y0 Z0
Reference PointNot SetNot SetX0 Y0 Z0X0 Y0 Z0
Key Moments - 2 Insights
Why do we need to move the machine to the home position before setting the reference point?
Moving to home ensures the machine is in a known, fixed position. Setting the reference point there gives a reliable starting point for all operations, as shown in execution_table step 1 and 2.
What happens if we skip setting the reference point after homing?
Without setting the reference point (G92), the machine won't know where zero is for the job. This can cause incorrect movements. Execution_table shows reference point is not set until step 2.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the machine position after executing G28?
AX10 Y10 Z10
BX0 Y0 Z0
CUnknown
DNot Set
💡 Hint
Check execution_table row 1 under 'Machine Position'
At which step is the reference point set?
AStep 1
BStep 3
CStep 2
DNever
💡 Hint
Look at 'Reference Point Set' column in execution_table
If we skip the G92 command, what will be the reference point status after step 2?
ANot Set
BSet to X0 Y0 Z0
CSet to last position
DMachine error
💡 Hint
Refer to variable_tracker for 'Reference Point' changes
Concept Snapshot
Machine home and reference point:
- G28 moves machine to home (fixed known position)
- G92 sets current position as reference point (zero)
- Always home before setting reference
- Reference point guides all future moves
- Skipping steps causes wrong positioning
Full Transcript
When you power on a CNC machine, it doesn't know where its parts are. The first step is to move it to the home position using the G28 command. This moves the machine to a fixed, known spot. Next, you set the reference point with G92, telling the machine 'this is zero' for all axes. This way, the machine knows where to start cutting or moving. If you skip homing or setting the reference, the machine can move incorrectly. The execution table shows these steps clearly: first move home, then set reference, then ready to work.

Practice

(1/5)
1. What is the primary purpose of the machine home position in CNC programming?
easy
A. To define a fixed safe position for the machine to return to
B. To set the tool speed during machining
C. To change the spindle direction
D. To pause the machine operation

Solution

  1. Step 1: Understand machine home position

    The machine home position is a fixed location the CNC machine uses as a safe reference point.
  2. Step 2: Identify its purpose

    This position ensures the machine can return safely without crashing or losing track of its location.
  3. Final Answer:

    To define a fixed safe position for the machine to return to -> Option A
  4. Quick Check:

    Machine home = safe fixed position [OK]
Hint: Home position is always a safe fixed spot to return [OK]
Common Mistakes:
  • Confusing home position with tool speed settings
  • Thinking home position controls spindle direction
  • Assuming home position pauses the machine
2. Which G-code command moves the CNC machine to its programmed home position?
easy
A. G28
B. G53
C. G00
D. G90

Solution

  1. Step 1: Recall G-code functions

    G28 is the command used to move the machine to its home position automatically.
  2. Step 2: Differentiate from other codes

    G53 moves to the machine reference point, G00 is rapid move, and G90 sets absolute positioning.
  3. Final Answer:

    G28 -> Option A
  4. Quick Check:

    G28 = move to home position [OK]
Hint: G28 always returns machine to home position [OK]
Common Mistakes:
  • Mixing G28 with G53 which is reference point
  • Confusing G00 rapid move with home move
  • Thinking G90 moves machine to home
3. What will happen if the CNC program contains the command G53 X0 Y0 Z0?
medium
A. The machine pauses and waits for user input
B. The machine moves to the programmed home position
C. The machine sets the current position as zero
D. The machine moves to the machine reference point at coordinates 0,0,0

Solution

  1. Step 1: Understand G53 command

    G53 moves the machine to the machine reference point using machine coordinates.
  2. Step 2: Analyze the coordinates

    X0 Y0 Z0 means move to the reference point at zero on all axes.
  3. Final Answer:

    The machine moves to the machine reference point at coordinates 0,0,0 -> Option D
  4. Quick Check:

    G53 X0 Y0 Z0 = move to reference point [OK]
Hint: G53 moves to machine reference point, not home [OK]
Common Mistakes:
  • Confusing G53 with G28 home move
  • Thinking it sets current position zero
  • Assuming it pauses machine
4. A CNC program uses G28 X0 Y0 but the machine does not move to home. What is the likely cause?
medium
A. The program forgot to enable the spindle
B. The machine home position is not set or defined
C. G28 command is only for spindle control
D. G28 requires Z axis to be specified

Solution

  1. Step 1: Understand G28 behavior

    G28 moves the machine to the programmed home position, but this position must be set first.
  2. Step 2: Identify problem cause

    If the home position is not defined, the machine cannot move there, so no movement occurs.
  3. Final Answer:

    The machine home position is not set or defined -> Option B
  4. Quick Check:

    Undefined home position stops G28 move [OK]
Hint: Set home position before using G28 to move [OK]
Common Mistakes:
  • Thinking G28 controls spindle
  • Believing spindle must be on for G28
  • Assuming Z axis is mandatory for G28
5. You want to safely move the CNC machine to the home position but only after moving the tool up 50mm in Z to avoid collision. Which sequence of commands is correct?
hard
A. G00 X0 Y0 G28 Z50
B. G28 X0 Y0 Z0 G00 Z50
C. G00 Z50 G28 X0 Y0 Z0
D. G53 Z50 G28 X0 Y0

Solution

  1. Step 1: Move tool up first

    Use G00 Z50 to quickly raise the tool 50mm to avoid collision.
  2. Step 2: Move to home position safely

    Then use G28 X0 Y0 Z0 to move the machine to home position after clearance.
  3. Final Answer:

    G00 Z50 G28 X0 Y0 Z0 -> Option C
  4. Quick Check:

    Raise tool then home move = G00 Z50 G28 X0 Y0 Z0 [OK]
Hint: Always clear Z axis before moving home [OK]
Common Mistakes:
  • Moving home before raising tool causes collision
  • Using G53 incorrectly for clearance
  • Moving X,Y before raising Z
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard