CNC Milling Guide
G-code generation for PCB isolation routing
Safety & Material Warning
Please read this before machining your first board.
PCB Substrate Selection (FR4 vs FR1)
Avoid FR4 for home milling: Standard FR4 PCB stock is made of epoxy reinforced with fiberglass. Milling FR4 creates fine glass dust which is hazardous to health (silicosis risk) and highly abrasive to machines and tooling.
FR1 (Phenolic Paper): is strongly recommended as it contains no fiberglass, making it safer to machine and extends tool life significantly.
Dust Extraction
Always use a vacuum system or enclosure. Even FR1 dust should not be inhaled. Good feeds and speeds also help make dust less fine and easier to contain.
Interface Overview
EasyTrace5000's interface is organized around a central canvas with sidebars for navigation and configuration. Understanding this layout will help you work efficiently.
Top Toolbar
The toolbar spans the top of the window. On the left, the Actions menu provides access to file loading, toolpath management, and SVG export. The center displaysthe workspace title. On the right, you'll find zoom controls (fit, in, out) and the theme toggle.
Left Sidebar: Operations Tree
The left sidebar organizes your loaded files into four operation categories:
- Isolation Routing
- Copper layer files (Gerber) for trace isolation
- Drilling
- Drill files (Excellon) for through-holes and vias
- Copper Clearing
- Gerber files for ground plane or keepout removal
- Board Cutout
- Outline files for the final board shape
Each category can be expanded or collapsed by clicking its header. Use the + button next to each category to add files specifically for that operation type. When you click on a loaded file, it becomes selected (highlighted), and its properties appear in the right sidebar.
Center Canvas
The main canvas displays your geometry. This is where you'll see source files, generated offsets, and toolpath previews.
Navigation
Pan: Click and drag anywhere on the canvas to move the view.
Zoom: Use the mouse scroll wheel, or the toolbar buttons (+, -, fit).
Fit to View: Press F or click the fit button to automatically zoom and center on all loaded geometry.
Coordinate Display
The bottom-left corner shows real-time cursor coordinates (X, Y) in millimeters, plus the current zoom level. This helps you verify positions and measure distances visually.
Right Sidebar: Properties & Settings
The right sidebar contains three collapsible sections:
Origin & Rotation
Controls where the machine's coordinate origin sits relative to your geometry, plus board rotation. The "Board Size" display shows the dimensions of all loaded geometry.
Machine Settings
Global parameters that affect G-code output: post-processor selection, start/end G-code blocks, units, PCB thickness, safe heights, and rapid feed rate.
Properties
Context-sensitive panel that shows parameters for the currently selected operation. Parameters are organized into three stages: Geometry (2D offsets), Strategy (depth/entry), and Machine (feeds/speeds). Action buttons trigger generation for each stage.
Footer: Status & Visualization
The footer bar at the bottom serves two purposes:
Visualization Panel
Click the eye icon to expand the visualization settings. Here you can toggle display elements (grid, rulers, wireframe), control layer visibility (traces, pads, drills, offsets, previews), and enable advanced debug features. See the Visualization Options section for details.
Status Bar
Shows status messages and progress for operations like file loading, offset generation, and export. Click the status bar to expand a log history showing recent messages—useful for troubleshooting.
The Workflow
EasyTrace5000 follows a non-destructive, staged workflow. Each stage builds on the previous one, and you can always go back to adjust parameters and regenerate. The stages are:
- Load your source files (Gerber, Excellon, SVG)
- Position your geometry (origin, rotation)
- Configure machine settings (heights, speeds, post-processor)
- Generate Offsets for each operation (2D geometry only)
- Generate Previews with depth and strategy settings
- Export G-code with feeds and speeds
Stage 1: Loading Files
There are several ways to load files into EasyTrace5000:
Using the Welcome Modal
When you first open the application (and haven't checked "Don't show this again"), you'll see the Welcome modal. From here you can load a built-in example project, click "Open Files" to access the file upload modal, or click "Start Empty" to begin with a blank workspace.
Using the File Upload Modal
Access this via Actions → Add Files, or the "Open Files" button in the Welcome modal. The modal shows four drop zones, one for each operation type. Drop files onto the appropriate zone, or click a zone to browse.
Drag and Drop
You can drag files directly onto the main application window. EasyTrace5000 will auto-detect the file type by extension and assign it to the appropriate operation category.
Category Add Buttons
In the left sidebar, each operation category has a small + button. Click it to open a file browser filtered for that operation's accepted file types.
Stage 2: Setting Up Coordinates
Verify that your coordinate origin is positioned correctly for your CNC setup.
Origin Offset
The Origin & Rotation panel in the right sidebar shows "Origin Offset" X and Y fields. These values shift where (0,0) sits relative to your geometry. By default, the origin is at the geometry's lower-left corner.
Two shortcut buttons are provided: Center places the origin at the geometry's center point, and Bottom-Left resets it to the lower-left corner.
Board Rotation
If your PCB needs to be rotated (perhaps to fit your stock material orientation), enter a rotation angle in degrees. Click Apply Rotation to rotate all geometry around its center. Reset Rotation returns to 0°.
Why Origin Matters
The origin you set here becomes (0,0) in your G-code output. Most CNC workflows involve homing the machine, then jogging to a known position on your stock and setting the work coordinate system origin there. Your origin setting in EasyTrace5000 should match that physical position—typically a corner or the center of the board.
Stage 3: Machine Settings
The Machine Settings panel contains global parameters that affect all G-code output.
Post-Processor
Select the G-code syntax your machine expects. GRBL is the default and most common for hobbyist CNC routers. Other options (GrblHAL, Marlin, LinuxCNC, Mach3, Roland RML) are experimental so they should be tested with caution.
Start/End G-code
These text areas contain commands that run at the very beginning and end of your program. Use these spaces if you for example you have commands to turn on/off dust collection, etc.
Heights
Safe Z: The height the tool moves to at program start/end and typicallyspindle is turned on/off.
Travel Z: The height for rapid moves between cutting operations. This can be lower than Safe Z for faster operation, but must still clear any clamps and high points.
Stage 4: Generating Offsets
With files loaded and coordinates set, you're ready to generate the toolpath geometry. This stage focuses purely on 2D offset paths—no depth or Z-axis settings yet.
Selecting an Operation
Click on a source file in the Operations Tree (left sidebar). The Properties panel (right sidebar) will collapse the origin and machine sections and show that operation's parameters.
Setting Parameters
The Properties panel shows parameters appropriate for the operation type:
- Tool
- Select from the tool library dropdown. The tool diameter auto-fills based on your selection.
- Tool Diameter
- The cutting diameter in mm. Determines the offset distance from source geometry.
- Passes
- Number of offset passes to generate. More passes = wider isolation zone.
- Step Over
- Percentage of tool diameter for spacing between passes. 50% = 50% overlap.
- Combine Passes
- When enabled, merges all passes into a single geometry group.
Operation-Specific Parameters
- Mill Holes (Drilling only)
- When enabled, undersized holes are milled with helical paths. When disabled, simple peck drilling is used.
- Cut Side (Cutout only)
- Determines offset direction: Outside (board matches outline), Inside (pocket), or On Line (centered on outline).
Generate Offsets
Click Generate Offsets (or Generate Drill Strategy for drill operations). The geometry engine processes your source geometry and creates 2D offset paths
When complete, new items appear under the file in the Operations Tree: "Pass 1", "Pass 2", etc. The canvas updates to show the offset geometry as thin colored lines representing tool centerlines.
Note
At this stage, you've only defined where the tool will travel in X/Y. Depth settings (how deep to cut) are configured in the next stage.
Stage 5: Generating Preview
After generating offsets, you configure cutting strategy and depth settings, then create a preview that simulates what your tool will actually cut.
Depth & Strategy Parameters
When you select an offset pass in the tree, the Properties panel shows depth and strategy settings:
- Cut Depth
- Target Z depth below the surface. Enter as negative (e.g., -0.1mm) or positive—the system handles both.
- Depth per Pass
- When Multi-Depth is enabled, how much to cut per Z-level. Multiple passes reach the final depth incrementally.
- Multi-Depth
- Enable for materials requiring multiple passes to reach full depth. Disable for single-pass cuts.
- Entry Type
- How the tool enters the material: Plunge (straight down), Ramp (angled entry), or Helix (spiral entry).
Operation-Specific Strategy
- Drilling: Canned Cycle
- For peck drilling: None (G0+G1), G81 (simple), G82 (dwell), G83 (peck), G73 (stepped peck).
- Drilling: Peck Depth / Dwell Time
- Depth of each peck before retract, and pause time at hole bottom.
- Cutout: Tabs
- Number of holding tabs, plus tab width and height settings.
Preview vs. Offset
Offsets show the centerline path the tool will follow—where the spindle axis travels.
Previews show the full width of the tool's cutting envelope—what material will be removed.
Generating the Preview
After configuring depth settings, click Generate Toolpath Preview. A new "Preview" item appears under the file in the tree, and the canvas shows thick strokes representing the tool's cutting area. Offset layers are automatically hidden when preview exists.
Note
The preview is a visual simulation only. Feed rates and spindle speed are configured in the final stage before G-code export.
Stage 6: Exporting G-code
With previews generated, configure machine parameters and export G-code.
Machine Parameters
When viewing a preview, the Properties panel shows feeds and speeds:
- Feed Rate
- XY cutting speed in mm/min. Lower = cleaner cuts but slower.
- Plunge Rate
- Z-axis speed for downward moves. Usually 25-50% of feed rate.
- Spindle Speed
- RPM for the tool. PCB routing typically uses 10,000-24,000 RPM.
Opening the Operations Manager
Click Operations & G-Code in the Properties panel, or go to Actions menu → Manage Toolpaths.
Selecting and Ordering Operations
Each operation with a generated preview appears as a checkbox item. Check the operations you want to include. Drag items to reorder them. Typical order: Isolation → Drilling → Clearing → Cutout (cutout last so the board stays attached).
Output Options
- Export as single file
- Combines all selected operations into one G-code file.
- Include operation comments
- Adds descriptive comments identifying each operation.
- Optimize toolpaths (Experimental)
- Applies path optimization to reduce travel moves and group nearby cuts.
- Output Filename
- The filename for the downloaded G-code file.
Calculate and Export
Click Calculate Toolpaths to process. The preview area shows generated G-code with statistics: line count, operation count, estimated time, and total travel distance. Click Export G-code to download.
Operation Types
Each operation type has specific parameters organized across three stages: Geometry (2D offsets), Strategy (depth/entry), and Machine (feeds/speeds).
Isolation Routing
Isolation routing cuts trenches around your PCB traces, electrically separating them from the surrounding copper. The tool follows paths offset outward from the trace edges.
Geometry Stage Parameters
- Tool / Tool Diameter
- Smaller tools (0.1-0.2mm) allow tighter trace spacing but are fragile.
- Passes
- Number of concentric offset paths. More passes = wider isolation zone.
- Step Over (%)
- Distance between passes as percentage of tool diameter. 50% gives good overlap.
Strategy Stage Parameters
- Cut Depth
- For standard 35µm (1oz) copper on FR4, 0.1-0.15mm is typical.
- Multi-Depth / Depth per Pass
- Enable for deeper cuts requiring multiple Z passes.
- Entry Type
- Plunge (default), Ramp, or Helix entry into material.
Machine Stage Parameters
- Feed Rate
- XY cutting speed. 100-400 mm/min typical for PCB isolation.
- Plunge Rate
- Z-axis cutting speed. Usually 25-50% of feed rate.
- Spindle Speed
- 10,000-24,000 RPM typical for PCB work.
Drilling
Drilling operations process Excellon files containing hole and slot definitions. EasyTrace5000 analyzes each feature against your tool diameter and selects an appropriate strategy.
Strategy Selection
The system compares each hole/slot diameter to your tool diameter:
- Exact Fit (green)
- Hole diameter equals tool diameter. Uses peck/plunge drilling.
- Undersized Tool (yellow)
- Tool is smaller than hole. If "Mill Holes" is enabled, uses helical milling.
- Oversized Tool (red)
- Tool is larger than hole. Will peck at center (hole will be oversize).
Geometry Stage Parameters
- Tool / Tool Diameter
- Select a drill bit or end mill matching your hole sizes.
- Mill Holes
- Enable to use helical milling for undersized holes instead of simple drilling.
Strategy Stage Parameters
- Cut Depth
- Total drilling depth (typically PCB thickness + clearance).
- Entry Type
- Plunge (standard drilling) or Helix (spiral entry for milled holes).
- Canned Cycle
- For peck drilling: None, G81, G82 (dwell), G83 (peck), G73 (stepped).
- Peck Depth
- Depth of each peck before retracting. 0 = single plunge.
- Dwell Time
- Pause at hole bottom (seconds). Helps clear chips.
Copper Clearing
Copper clearing removes large areas of unwanted copper. Unlike isolation (outward offsets), clearing offsets inward to pocket out the interior.
Geometry Stage Parameters
- Tool / Tool Diameter
- Larger tools clear faster.
- Number of inward offset passes.
- Step Over (%)
- 50% provides good material removal and tool engagement.
Strategy Stage Parameters
- Cut Depth / Multi-Depth
- Same as isolation—configure depth per pass for thick copper.
- Entry Type
- Ramp or Helix recommended for pocket entry.
Board Cutout
Cutout operations generate the path to separate your finished PCB from stock material.
Geometry Stage Parameters
- Tool / Tool Diameter
- Wider, stronger cutting tools can be used for faster cutting and a lower risk of breaking.
- It's common to try and re-use the same tool as used for drilling.
- Cut Side
- Outside: Physical board will match outline file.
Inside: If geometry is oversized.
On: Tool center follows the polygon perimeter line.
Strategy Stage Parameters
- Cut Depth / Multi-Depth
- Full PCB thickness. Multi-depth required for thick material.
- Number of Tabs
- Holding tabs around perimeter. 4-6 typical for small boards.
- Tab Width
- Width of each tab in mm. 2-3mm usually sufficient.
- Tab Height
- Material left in tab. 0.3-0.5mm—enough to hold but easy to remove.
Machine Settings Reference
This section provides detailed information about each machine setting and typical values.
Post-Processor
| Processor | Status | Notes |
|---|---|---|
| GRBL | Stable | Standard G-code for GRBL-based controllers. Most compatible option. |
| GrblHAL | Exp | Extended GRBL dialect with additional features. |
| Marlin | Exp | For Marlin-based CNC/3D printer conversions. |
| LinuxCNC | Exp | For LinuxCNC-controlled machines. |
| Mach3 | Exp | For Mach3-controlled machines. |
| Roland RML | Exp | Roland Modela command language (not standard G-code). |
Warning
Experimental post-processors should be tested with caution, on air (tool removed, maybe spindle off) before running actual cuts.
Height Settings
- Safe Z (typical: 5-15mm)
- Maximum clearance height. Used at program start/end. Should clear all clamps, fixtures, and the highest point of your workpiece.
- Travel Z (typical: 2-5mm)
- Height for rapid moves between cutting operations. Lower than Safe Z for faster operation, but must still clear the workpiece surface and any chips/debris.
Speed Settings
- Rapid Feed (typical: 1000-3000 mm/min)
- Speed for G0 positioning moves. Some controllers ignore this (moving at max speed), while others respect it.
- Feed Rate (per-operation, typical: 100-400 mm/min for PCB work)
- Cutting speed during milling. Lower = cleaner cuts but slower. Higher = faster but risks tool breakage or poor cut quality.
- Plunge Rate (per-operation, typical: 30-100 mm/min)
- Speed for downward (Z-axis) cutting moves. Usually much slower than XY feed rate because plunging loads the tool differently.
- Spindle Speed (per-operation, typical: 10000-24000 RPM)
- Rotation speed of the spindle/tool. PCB routing typically uses high speeds with low feed rates.
Visualization Options
The Visualization panel (footer, left side—click the eye icon) controls what appears on the canvas. Most are development leftovers but fun to use.
Display Options
- Grid
- Shows a reference grid on the canvas. Grid spacing adapts to zoom level.
- Wireframe
- Renders all geometry as paths only (no fill). Useful for debugging file geometry.
- Board Bounds
- Shows a rectangle indicating the overall bounds of all loaded geometry.
- Rulers
- Displays measurement rulers along the canvas edges with tick marks in mm.
Layer Visibility
- Regions
- Filled areas (copper pours, pads) from source geometry.
- Traces
- Line/stroke elements (traces, routes) from source geometry.
- Pads
- Individual pad flashes from source geometry.
- Drills
- Drill holes and slots from source geometry.
- Cutouts
- Board outline geometry.
- Offsets
- Generated offset geometry (thin lines showing toolpath centerlines).
- Previews
- Generated preview geometry (thick strokes showing tool cutting area).
Advanced Options
- Fusion Mode
- Enables boolean fusion of overlapping geometry. When multiple shapes overlap, they're merged into unified polygons.
- Preprocessed
- Show source geometry already polygonized, pre-boolean.
- Arc Reconstruction
- Attempts to recover true circular arcs from polygonized geometry post boolean operations. Allows arc commands instead of many small line segments.
- Debug Points / Debug Arcs
- Shows diagnostic overlays for geometry debugging. (Can highlight previous visualization options.)
- B&W Mode
- Renders geometry in black and white only.
Verbose Debug
At the bottom of the Visualization panel is a "Verbose Debug" toggle. When enabled, detailed logging information appears in the browser's developer console and in the status log history. Useful for troubleshooting issues.
Tips & Troubleshooting
Best Practices
Start with an Example
Before processing your own files, load the built-in example and walk through the complete workflow. This helps you understand what to expect at each stage.
Verify Origin Before Export
Always double-check your origin setting before generating final G-code. The origin in EasyTrace5000 must match where you'll set your work coordinate origin on the machine.
Process Operations in Order
When exporting G-code, consider the logical order of operations:
- Isolation routing (creates the trace boundaries)
- Copper clearing (removes unwanted copper)
- Drilling (a lot of times can use the cutout tool, or vice versa)
- Cutout (last, so the board stays attached during other operations)
Common Issues
Always Blank/black canvas
Cause: Browsers can be weird, especially laptops with multiple GPUs.
Solution: Closing and restarting the browser should load the canvas viewport correctly.
Files Won't Load
Cause: Unlikely silent parsing error
Solution: Try reviewing file contents or testing in another operation/extension.
Geometry Appears Rotated or Mirrored
Cause: Your EDA software may use different coordinate conventions.
Solution: Use the Rotation setting to correct orientation. For mirroring, flip the design in your EDA before export.
Drill Holes Wrong Size
Cause: Tool doesn't match hole diameter and milling is disabled.
Solution: Enable "Mill Holes" for undersized tools, or use a drill bit matching your hole sizes.
Offset Generation Takes Long
Boolean operations on complex geometry are computationally intensive. More passes takes longer to calculate.