Program a Shapeoko CNC Machine: 5 Step Workflow
This walkthrough is for engineers and shop owners using a benchtop router like the Shapeoko. It covers the full chain from CAD geometry to a verified G-code file, with the parameters and mistakes that matter on a light machine.

In this article
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
Key takeaways
What programming a Shapeoko CNC machine actually involves
On a benchtop router, programming is not writing G-code by hand. It is the chain that runs from a 2D drawing or 3D model, through CAM software, into a posted file the controller can execute. Each link has its own failure modes, and a mistake at any stage shows up at the spindle.
The Shapeoko is a belt-driven, moving-gantry machine. Its rigidity is far below an industrial VMC. That single fact shapes every programming decision: shallow depth of cut, smaller stepover, and generous retract heights. If you program it like a 10 kW mill, you will break cutters or stall the steppers.
The workflow is fixed: geometry, stock and zero, toolpath strategy, feeds and speeds, simulation, then post-processing. Skipping simulation is the most common habit that ends in a scrap part. The controller has no idea a clamp is sitting in the path.
- 1GeometryA clean vector or solid model with correct units.
- 2CAMTool selection, toolpaths, and cutting parameters.
- 3PostOutput that matches the Shapeoko controller dialect.
CAD preparation and stock setup
Start with the geometry. For 2.5D parts, a clean DXF or SVG with closed contours is enough. For 3D reliefs and contoured pockets, use a solid model. Keep the model in millimeters if your stock is metric, since mixing units is a silent source of scale errors in CAM.
Define the stock as the actual blank you will clamp, not the finished part envelope. If your blank is 150 × 100 × 18 mm and you cut to 16 mm, the CAM must know all 18 mm are there so the top face operation removes the right amount. Add 2-3 mm of extra stock on the top face for surfacing.
Set the work zero deliberately. Most Shapeoko users zero X and Y at the lower-left corner of the stock and Z at the top surface. Whichever convention you pick, the CAM origin must match the physical zero exactly. A 5 mm mismatch is a broken cutter.
Check clearances before you go further. The Shapeoko's usable travel is roughly 400-800 mm depending on the model. If the part plus clamps exceeds the travel, split the operation into two setups or reposition the stock.
- 1Closed contours onlyOpen vectors produce unpredictable lead-ins.
- 2Top stock allowance2-3 mm for facing, then re-zero Z on the finished top.
- 3Match unitsMillimeters in CAD and CAM, or inches in both.
Choosing toolpaths for wood, plastic, and aluminum
For wood and MDF, use a 6 mm two-flute upcut end mill for roughing and a 3 mm or 1.5 mm tool for detail. Adaptive or trochoidal clearing keeps radial engagement low, which the Shapeoko handles far better than a full-width slot. A 0.8-1.2 mm stepover on a 6 mm cutter is a reasonable starting point.
For plastics such as ABS, POM, and acrylic, use single-flute or O-flute cutters. They eject chips efficiently and reduce melting. Keep the spindle speed high and feed aggressive enough that the cutter shears rather than rubs. A rubbing tool melts the edge and leaves a poor finish.
For aluminum 6061, use a single-flute or two-flute cutter with a polished or ZrN coating. Limit depth of cut to 0.5-1.0 mm per pass on a 6 mm cutter and use a light mist or air blast for chip evacuation. Without chip clearing, aluminum welds to the flute within seconds.
Pocket and contour strategies behave differently on a light machine. Use ramp or helical entry instead of plunging straight down. Set lead-in radius to at least 25 percent of tool diameter. These small choices reduce tool load at the point where the Shapeoko is weakest.
- 1Wood6 mm two-flute roughing, 3 mm detail, 0.8-1.2 mm stepover.
- 2PlasticSingle-flute or O-flute, high RPM, no rubbing.
- 3Aluminum0.5-1.0 mm depth of cut, mist coolant, ramp entry.
Feeds, speeds, and depth of cut for a light router
Feeds and speeds on a Shapeoko are governed by rigidity, not by the tool's maximum rating. A 6 mm carbide cutter rated for 15,000 RPM and 3,000 mm/min on a VMC will chatter on a belt-driven router. Reduce depth of cut first, then feed rate, then spindle speed. Never increase all three at once.
A practical starting point for 6061 aluminum with a 6 mm single-flute cutter is 12,000-16,000 RPM, 800-1,200 mm/min feed, and 0.5 mm depth of cut. For hardwood with a 6 mm two-flute, 16,000-18,000 RPM and 1,500-2,000 mm/min with 2-3 mm depth of cut works well.
Listen to the cut. A healthy cut sounds steady and granular. Chatter sounds like a low-frequency howl, and a dull tool produces a high-pitched squeal. Stop and adjust before the tool breaks. On a router, tool breakage often damages the workpiece and the collet.
Chip load matters more than spindle speed alone. For a two-flute cutter at 16,000 RPM and 1,600 mm/min, chip load is 0.05 mm per tooth. That is a reasonable target for aluminum on this class of machine. If chip load drops below 0.02 mm, the tool rubs and generates heat.
- 1Reduce DOC firstThen feed, then RPM. One variable at a time.
- 2Target chip load0.03-0.06 mm per tooth for aluminum on a Shapeoko.
- 3Listen, don't guessChatter and squeal are early warning signs.
Simulation, post-processing, and machine setup
Run the simulation in your CAM software before exporting. Check three things: the toolpath stays inside the stock, the retract height clears every clamp, and there are no rapid moves through the workpiece. A two-minute preview saves hours of recovery.
Post-process with the correct post for your controller. Shapeoko machines typically run GRBL-based firmware, which uses a specific G-code dialect. Using a generic Fanuc post may output arcs or canned cycles the controller does not understand. Select the GRBL or Shapeoko post if available.
At the machine, verify the work zero physically. Jog to the corner, touch off, and confirm the DRO reads the same value as your CAM origin. Then run the file with the spindle off and the Z raised by 10 mm to dry-run the XY path. This catches clamp collisions without cutting.
Finally, check the tool length offset. If you change tools mid-job, re-zero Z on the new tool or use a touch plate. A 0.5 mm tool length error will ruin the depth of every pocket in that operation.
- 1Simulate firstToolpath, retract, and rapid moves.
- 2Match the postGRBL dialect for Shapeoko controllers.
- 3Dry runSpindle off, Z +10 mm, watch the XY path.
5 steps to program a Shapeoko CNC machine
Follow the order. Each step depends on the one before it.
- 1Prepare the CAD model and stockDraw the part with closed contours. Set stock to the real blank plus 2-3 mm top allowance. Keep units consistent. Export DXF or STEP, then import into CAM and confirm the model measures correctly.
- 2Set the CAM origin and work zeroChoose lower-left corner for X and Y, top surface for Z. Match the CAM origin to the physical zero. Check that part plus clamps fit inside the machine travel; if not, split into two setups.
- 3Select tools and build toolpathsRough with a 6 mm two-flute or single-flute cutter. Use adaptive clearing with 0.8-1.2 mm stepover. Add a finishing pass with 0.2-0.3 mm radial stock. Use ramp or helical entry, never a straight plunge.
- 4Set feeds, speeds, and depth of cutAluminum 6061: 12,000-16,000 RPM, 800-1,200 mm/min, 0.5 mm DOC. Hardwood: 16,000-18,000 RPM, 1,500-2,000 mm/min, 2-3 mm DOC. Target 0.03-0.06 mm chip load per tooth on aluminum.
- 5Simulate and post-processRun the full simulation. Check retract height clears all clamps. Post with the GRBL or Shapeoko post. Save the file with a clear name that includes the part number and operation.
- 6Dry-run and cutAt the machine, verify X, Y, and Z zero. Raise Z by 10 mm, run the file with the spindle off, and watch for collisions. If the path is clear, set the correct RPM, turn on dust collection or mist, and run the job.
Starting parameters by material
Values are starting points for a rigid benchtop router. Adjust after the first cut.
| Material | Tool | Spindle speed | Feed and depth |
|---|---|---|---|
| Hardwood | 6 mm two-flute | 16,000-18,000 RPM | 1,500-2,000 mm/min, 2-3 mm DOC |
| MDF | 6 mm two-flute | 16,000-18,000 RPM | 2,000-2,500 mm/min, 3-4 mm DOC |
| Acrylic | 6 mm single-flute | 14,000-16,000 RPM | 1,200-1,800 mm/min, 1-2 mm DOC |
| ABS or POM | 6 mm single-flute | 12,000-16,000 RPM | 1,000-1,500 mm/min, 1-2 mm DOC |
| Aluminum 6061 | 6 mm single-flute | 12,000-16,000 RPM | 800-1,200 mm/min, 0.5 mm DOC |
| Aluminum 6061 finish | 3 mm two-flute | 14,000-16,000 RPM | 600-900 mm/min, 0.3 mm DOC |
| Brass | 4 mm two-flute | 10,000-14,000 RPM | 500-800 mm/min, 0.4 mm DOC |
Program in the right order and the machine does the rest
Geometry, zero, toolpath, feeds, simulation, post. Follow that sequence and a Shapeoko will cut wood, plastic, and aluminum reliably. Skip simulation or clamp clearance and you will scrap parts.
Common questions
Do I need to write G-code by hand?
No. CAM software generates the G-code from your geometry and toolpaths. You may edit a few lines for feed override or a safe start block, but hand-writing an entire program is unnecessary and error-prone.
What you do need to understand is what the code does: G0 rapid, G1 feed, G2 and G3 arcs, and M3 spindle on. Reading a posted file helps you spot problems before the cutter touches material.
Can a Shapeoko cut steel or titanium?
Not practically. The machine lacks the rigidity and spindle torque for steel, stainless, or titanium. Attempting it produces chatter, broken cutters, and poor surface finish.
For those materials, use a machine with a rigid frame and higher spindle power. A Shapeoko is suited to wood, plastics, aluminum, and brass.
Why does my cutter break on the first pass?
The most common causes are too much depth of cut, a straight plunge entry, and poor chip evacuation on aluminum. Check that your entry is a ramp or helix, and reduce DOC to 0.5 mm for aluminum.
Also verify the tool is tight in the collet and that the Z zero is correct. A 1 mm zero error can double the effective depth of cut.
How do I stop chatter on aluminum?
Reduce the depth of cut first, then the feed rate. Increase spindle speed only if the chip load is still reasonable. Add a mist or air blast to clear chips.
Check workholding too. A part that vibrates in the clamps will chatter no matter what feeds you use. Add support under the workpiece and reduce overhang.
Which post-processor should I select?
Use the GRBL or Shapeoko post if your CAM software provides one. These output the dialect the controller expects, including the correct arc handling and no unsupported canned cycles.
If only a generic post is available, test it on a simple pocket in scrap material before running a real part.
When should I move the job to a machine shop?
When the part needs tolerances tighter than about ±0.05 mm, when the material is steel or titanium, or when the geometry requires 4 or 5 axes. A benchtop router cannot hold those tolerances repeatably.
For production runs, an industrial shop with proper metrology and process control is the better route. Send the model and drawing for a DFM review before committing.
Need the part machined instead of programmed?
Upload your CAD file for a free DFM analysis and a quotation within 12 hours. From one prototype to 10,000+ part runs.
12-hour quote100% inspectionNo minimum order