Mach3 and Mach4 CNC Controller Software: Setup, Configuration, and G-Code Basics
Our gSender and UGS coverage handles the controller software most GRBL-based desktop routers like the Wolfpawn 4040 Pro ship with. Mach3 and Mach4 are a different lineage entirely — Windows-based CNC control software originally built around the PC parallel port, still widely used on larger hobby and light-industrial routers, plasma tables, and machines converted from manual mills. If you're buying a used machine, building a larger router from a kit, or upgrading a machine that predates GRBL controllers, there's a real chance Mach is what you'll be configuring instead. This guide covers the differences between the two versions, hardware requirements, and getting a machine running.
Mach3 vs. Mach4: What's Different
Mach3Mach4 ArchitectureOlder, 32-bit, parallel-port-native designModern rewrite, plugin-driven architecture Motion controller supportParallel port native; USB/Ethernet controllers via pluginPlugin-based for essentially all motion controllers, including parallel port via plugin LicensingOne-time license, widely deployed on existing machinesOne-time license, current development focus Screen/UI customizationVB-script based screens (Brains), dated but flexibleLua-scripted, more modern but a different learning curve Best fitExisting machines already running it, older parallel-port setupsNew builds, machines using modern USB/Ethernet motion controllersIf you're inheriting or buying a used machine that's already configured and running Mach3, there's rarely a good reason to migrate it to Mach4 — a working configuration is worth more than a version number. For a new build from scratch, Mach4 is the better long-term choice given where active development attention is.
Hardware Requirements
Unlike GRBL controllers, which run entirely on a microcontroller and take G-code over USB serial, Mach3/Mach4 runs as software on a Windows PC and needs a way to turn its step/direction timing into actual motor pulses. That link is the part most people get wrong on a first setup.
Motion InterfaceNotes Native parallel portThe original method — direct, low-latency, but modern PCs rarely have a physical parallel port; a PCIe parallel port card works but timing can be sensitive to motherboard chipset ESS (Ethernet SmoothStepper)External Ethernet-connected motion controller; offloads real-time step generation from the PC, avoiding Windows timing jitter issues entirely PoKeys / UC100 / similar USB motion controllersUSB-connected alternatives to parallel port or ESS, each with their own Mach pluginA breakout board sits between whichever motion interface you choose and your actual stepper drivers, VFD, and limit switches — it isolates the low-voltage control signals from the machine's higher-current wiring and typically provides optically isolated inputs for switches and E-stop.
Installation and Licensing
- Install on a dedicated or lightly-used Windows PC — if you're using the native parallel port method, real-time timing performance matters, so avoid running other demanding software during machining and disable Windows power-saving features that can introduce latency spikes.
- Install your motion controller's specific plugin (ESS, PoKeys, etc.) before first launch if you're not using a bare parallel port.
- License activation ties to your machine's hardware ID; keep your license key somewhere safe, since a motherboard swap or major hardware change can require re-activation.
Motor Tuning
Motor tuning is the step that translates your machine's actual mechanics (leadscrew pitch or belt pulley size, microstepping setting on your drivers) into correct real-world motion. In the motor tuning screen, set:
- Steps per unit — calculated from your driver's microstep setting and your mechanical transmission (e.g., leadscrew pitch, or belt pitch × pulley tooth count). Both Mach3 and Mach4 include a calibration wizard that jogs a known distance and lets you correct steps/unit from measured actual travel, which is more reliable than trusting the math alone on a machine with any backlash or belt stretch.
- Velocity — maximum commanded speed per axis, in units/minute.
- Acceleration — how aggressively the software ramps speed up and down; too high causes stepper motors to lose steps (skip), which shows up as a part that's subtly out of dimension with no obvious cause.
Configuring I/O
Beyond motor tuning, a working machine needs its safety and utility I/O mapped correctly in the Ports and Pins (Mach3) or Configuration > Plugins/Devices (Mach4) settings:
- Limit and home switches — map each axis's switch input and set active-high/active-low correctly; a switch configured backwards will either never trigger or trigger immediately and prevent all motion.
- E-stop — map to a dedicated, normally-closed input where possible, so a broken wire fails safe (triggers E-stop) rather than failing to report an actual emergency stop.
- Spindle/VFD control — spindle on/off and speed are typically wired either through a relay for simple on/off routers, or through Modbus/analog output to a VFD for variable-speed spindle control, similar in concept to the Modbus VFD setups covered in our industrial servo guides.
G-Code Basics in Mach
- Loading and running a file — use the Load G-Code button to bring in a post-processed file from your CAM software (Fusion 360, VCarve, and most other CAM packages have a Mach3/Mach4-specific post-processor — using the correct one avoids G-code commands the controller doesn't expect).
- MDI (Manual Data Input) — a line where you can type and execute individual G-code commands directly, useful for jogging to a specific coordinate or testing a single move without running a full program.
- Work offsets (G54-G59) — set your workpiece zero point independent of machine home, letting you re-fixture a job in a different spot on the table without re-editing the G-code.
- Feed hold and single-block stepping — pause mid-job or step through a program one line at a time, both useful when dialing in a new setup or verifying a job above the material before committing to a full cut.
Troubleshooting Common Issues
SymptomLikely Cause Motors run at the wrong speed or distanceIncorrect steps/unit — re-run the calibration wizard with an accurate measured test move Motion is jerky or motors stall at speedAcceleration set too aggressively for your drive system, or (on native parallel port) Windows timing jitter — consider an ESS or USB motion controller to offload timing Parallel port not detectedCommon on modern PCs with no native port — confirm a genuine LPT-compatible PCIe card, not a generic USB-to-parallel adapter, which doesn't provide real-time signaling Screen resolution or UI scaling issuesBoth versions predate modern high-DPI display scaling conventions — running in a lower resolution or a compatibility mode often resolves distorted screensSafety
- Wire E-stop as a physically separate, normally-closed hardware circuit that cuts power to the drive system directly, not just a software-level stop — a frozen or crashed PC should never be the only thing standing between a runaway machine and a stop.
- Configure spindle/VFD interlocks so the spindle cannot run with an enclosure or guard open, if your machine has one.
- Test limit switches and E-stop function every time before running a new job on a machine you didn't personally configure, especially on a used or inherited setup — don't assume a previous owner's safety wiring is complete or correct.
Mach3 and Mach4 look dated next to a GRBL sender's simpler workflow, but that's largely because they're solving a broader problem — supporting everything from a small router to a full industrial retrofit through the same software. If you're inheriting a machine that already runs one of them, learn its existing configuration before changing anything; if you're building new and have a choice, GRBL-based control remains the simpler path for a typical desktop router, and Mach is worth reaching for when your machine's motion controller or I/O requirements outgrow what GRBL boards handle.
Related Guides
- How to Use EstlCAM for CNC Routing: Toolpaths, G-Code, and GRBL Control
- Fusion 360 CAM for Hobby CNC: Complete Guide
- gSender Complete Workflow: Connect, Zero, Run, and Recover
- gSender Workflow: Setting Zero, Running Jobs, and Recovery
- CNC Router Beginner Guide: CAM Software, Toolpaths, and Your First Cut