Key Takeaway: SolidWorks CAM does not include a native GRBL post processor, but you can create one using CAMWorks Universal Post Generator. This guide provides a tested GRBL post processor for 3-axis mills with downloadable files, saving you weeks of trial-and-error development.
📖 Table of Contents
The GRBL Post Processor Problem
Unlike Fusion 360 which includes GRBL support out of the box, SolidWorks CAM requires a custom post processor. While generic post processors exist online, most have bugs — incorrect arc center modes, missing coolant commands, or wrong G-code formatting for GRBL’s specific parser expectations.
After extensive testing and debugging, this post processor handles all standard GRBL 1.1 commands correctly.
Specifications
- Controller: GRBL 1.1 and later (Arduino + CNC Shield)
- Axes: 3-axis (X, Y, Z) milling
- Coordinate system: G54 (user-configurable to G55-G59)
- Arc format: Incremental IJ with full quadrant support
- Tool change: M6 with pause (M0) for manual tool change
- Coolant: M7/M8/M9 supported, disabled by default for dry routers
- Feed rates: G94 (units per minute) mode
- Units: G21 (metric) only
Installation
For SolidWorks CAM (CAMWorks-based): Download the .zip file, extract, and copy to CAMWorks > Define Machine > Post Processor > Browse > Post > Mill. Select the GRBL post from the dropdown menu in your CAM operation.
For standalone SolidWorks CAM without CAMWorks: Import via Tools > Options > CAM > Post Processing and select the downloaded file.
Testing Your G-Code
Before running any program on your CNC machine, always verify the generated G-code. Use the NC Viewer tool at nraynaud.github.io/webgcode — paste your code and visually inspect the toolpath for unexpected moves. This catches arc direction errors, missing Z-retract moves, and feed rate issues before they cause crashes.
Known Limitations
- Does not support rigid tapping (GRBL does not have native rigid tapping support)
- Arc fitting may produce suboptimal paths on complex 3D contours (test on scrap first)
- Laser mode (M4 PWM) requires manual post-editing of spindle speed commands
Frequently Asked Questions
Will this post processor work with GRBL 1.1 on Arduino Uno?
Yes. The post processor outputs standard GRBL 1.1 compatible G-code. Tested on Arduino Uno with CNC Shield v3 running GRBL 1.1f and 1.1h.
Can I use this for CNC lathe operations?
No. This is a milling post processor only. For lathe GRBL, see the LinuxCNC lathe post processor or use a dedicated GRBL lathe build.
Does it support helical interpolation?
Yes, through CAMWorks’ arc output. However, some GRBL versions have arc tolerance limits — if your helical arcs produce unexpected results, try reducing the CAMWorks arc tolerance to 0.01mm and regenerating.
Related Reading
External Resources
Sources: GRBL Documentation, CAMWorks Post Generator Guide, Field Testing

