G04 G-Code: Pause / Dwell for Precise CNC Timing

Is Manual Machining Faster than CNC for Simple Parts?

G04 G-Code: Pause / Dwell for Precise CNC Timing

G04 is called the Dwell command because it makes the machine stop what it’s doing or dwell for a specified length of time. It’s helpful to be able to dwell during a cutting operation, and also to facilitate various non-cutting operations of the machine.

For lathe operations, the chief application of a G04 Dwell is to break chips, especially when drilling, counterboring, grooving, or parting-off. You may also find them useful in general turning or boring operations to eliminate the tooling marks left on the part by end thrust of the cutting tool.

On mills, the most common use is to force the machine to catch up. For example, you might put a G04 Dwell at the end of a long straight run that ends with a corner to make sure the machine accurately follows the path. This is sometimes necessary on older machines, though usually not on recent VMC’s. If the machine can accurately follow the path without dwells, it’s better not to use them as any dwell will leave visible marks on the part.

Non-cutting operations are even more common as dwells are used to wait for some operation to complete before going on. In a pinch, you might use a dwell to wait for your coolant to come up to pressure right after it’s turned on, for example, though it is better for cycle times if your coolant system can get to pressure without dwells. Another example is some older machines may require a dwell to give the spindle time to get up to the commanded speed.

The argument for dwell is typically the “P” word (think “Pause”), although “X” and “U” is also commonly used. You’ll have to check which format your machine uses. The address specified with the appropriate dwell word specifies the delay is either milliseconds (1000 milliseconds = 1 second) or seconds. Some controls also allow the Dwell to be programmed in spindle revolutions instead of a time, which is handy, especially for chip breaking applications. We don’t need more than a revolution or two pause to break chips so it’s easy to tell how long that is without trying to calculate an appropriate pause.

For clarity, and particularly if your machine uses “X” or “U” for dwell, put the dwell command on its own line. Here is a 500 millisecond (1/2 second) dwell between two moves:

G01 X0Y1

G04 P500

G01 X1

Remember that Dwells are always unproductive time. They’re time when the machine isn’t doing anything but is waiting for something to catch up. Try to keep dwell times as short as possible and always look for other ways to achieve your result with a dwell.

Lastly, some controls like Fanuc allow G04 without an associated word. This tells the Dwell command simply to wait until the machine is caught up with everything it is doing.


1. Look up or determine what the time units and word/address formats are for your machine’s G04 command.

Next Article: G61, G64, G60 G-Code: Exact Stop & Anti-Backlash for Precise Position

G04 G-Code: Pause / Dwell for Precise CNC Timing
5 (100%) 1 vote


Software that will make anyone a better CNC'er

Get Better Tool Life, Surface Finish, and Material Removal Rates Fast.

It's that easy. You can install and get results in a matter of minutes.


Start Now, It's Free!



  GW Calculator

  GW Editor



  Deals and Steals

CNC Blog








     Feeds and Speeds

     G-Code Tutorial

     CNC Machining & Manufacturing

     DIY CNC Cookbook

     CNC Dictionary

CNC Projects


     Machinist's Search


     Online Groups


     Reference Data


     CNC Dictionary


     Tool Brands


     Hall of Fame

     Organization: Soon!





     Our History

     Privacy Policy

All material © 2017, CNCCookbook, Inc.

Pin It on Pinterest

Share This