Case Study — CNC Control System Conversion

We improve the machines
that make the things
we make.

When our CNC router's stock controller struggled with complex toolpaths, we replaced it — upgrading to a 600 MHz ARM Cortex-M7 using Phil Barrett's excellent grblHAL breakout board for Teensy 4.x. This is a personal build and case study, shared in the spirit of the open-source community that made it possible.

See the full story

A capable machine, held back by its own electronics.

The Inventables X-Carve Pro is a serious 4×4 CNC router — heavy steel frame, quality linear rails, powerful NEMA23 stepper motors. But its stock control system was built around an ATMega2560: an 8-bit, 16 MHz microcontroller running a modified fork of legacy grbl firmware. The machine's mechanical capability was outpacing its own brain.

Issue 01

Communication Failures

Older firmware versions suffered serial communication errors. Inventables' fix was to cap the baud rate at 56 Kbps — a band-aid that starved the command buffer and introduced a new set of problems downstream.

Issue 02

Lost Steps & Erratic Motion

Complex toolpaths with rapid direction changes — like adaptive clearing operations from Fusion 360 — caused the machine to lose commands entirely, cutting inches away from the programmed path. The controller simply couldn't keep the buffer full.

Issue 03

Vendor Lock-In

Inventables steered users toward Easel, their cloud-only G-code sender, which ignores feed rates set in professional CAM packages and runs the machine far slower than its mechanics are capable of. Using your own sender meant fighting the system.

Issue 04

Dead-End Firmware

Development of the original grbl for 8-bit Atmel controllers has effectively ended. No new features, no performance improvements, no path forward. The platform had reached its ceiling — and taken the machine with it.

The problem, on tape
Cutting a door stop from MDF with a ¼″ endmill. The outer contour completes successfully — then the machine loses commands mid-operation during a stepped pocket-clearing pass and plunges the cutter several inches off target. This is not a mechanical problem. It is a controller problem.

New brain. Same body. Dramatically better results.

We replaced the stock electronics with a grblHAL control system centered on Phil Barrett's Teensy 4.x breakout board — a purpose-built piece of hardware that does the heavy lifting. The mechanical frame, VFD, and stepper motors stayed. Everything else was replaced.

Stock System
Controller ATMega2560
Architecture 8-bit
Clock Speed 16 MHz
Communication 56 Kbps (capped)
Firmware grbl (EOL)
Stepper Drivers On-board (fixed)
Sender Easel (cloud-only)
Extensibility Minimal
PLS Conversion
Controller NXP iMXRT1062
Architecture 32-bit ARM Cortex-M7
Clock Speed 600 MHz
Communication USB / Ethernet
Firmware grblHAL (active)
Stepper Drivers External DM860I (upgradeable)
Sender Any standard grbl sender
Extensibility Plugin architecture

Every wire runs where it should.
Every component earns its place.

We documented the full teardown and rebuild — from what we removed to what we designed, fabricated, and installed. Here is what that actually looks like.

Before

Inside the original control box

The X-Carve Pro ships with a tidy enclosure — a 48V power supply, a VFD for the spindle, and the ATMega-based mainboard with its integrated TI DRV8711 stepper drivers. It's a solid machine. For our particular workload — complex, direction-heavy adaptive toolpaths — the stock controller became the limiting factor.

The original X-Carve Pro ATMega2560 mainboard
The original ATMega2560 mainboard — controller and stepper drivers on one board, with no upgrade path
Variable frequency drive inside the X-Carve Pro enclosure
The VFD that powers the spindle — one of the few components we kept, now under grblHAL control
After

The new installation

Four DM860I external stepper drivers — rated to 7.2A, driving motors that draw 3A peak — wired to Phil Barrett's grblHAL breakout board running a Teensy 4.1. A dedicated Meanwell 12V/5V supply powers the controller. All signal wires run through ferrule-terminated, twisted-pair cable. An AC safety relay tied to the E-stop circuit cuts motor power independently of the controller. Clean, labeled, and built to last.

Labeled DM860I stepper drivers mounted in the enclosure
Four DM860I drivers, individually labeled — X, Y1, Y2, Z
grblHAL breakout board wiring detail
grblHAL breakout board — ferrule-terminated signal wiring, opto-isolated I/O
Completed enclosure installation, top view
The finished enclosure, top view — before the lid goes back on
Fabricate

Custom mounting hardware, designed and cut in-house

Rather than mount components with adhesive tape, we designed custom steel mounting trays in Fusion 360 and cut them from 18-gauge sheet metal on our Langmuir Systems plasma table. The trays bolt directly into the X-Carve Pro's existing case standoffs — no additional holes drilled, no damage to the powder coat. The Fusion 360 models, dimensional drawings, and plasma table G-code are all included in the project repository.

Stepper driver mounting tray — dimensioned drawing
Stepper driver tray — dimensioned drawing for four DM860I drivers. All values in millimeters.
Fabricated stepper driver mounting tray installed in the enclosure
The finished plasma-cut tray installed — secured to existing standoffs, drivers mounted and labeled

Find the root cause.
Fix it properly.
Share the result.

This project is a good example of how we work — and the same three principles show up in every build we take on, whether the material is steel, copper, or code.

01

Understand the System

We try to understand our tools at every level — from the G-code on screen to the current flowing through stepper coils. That depth is what lets you find the root cause instead of moving the problem downstream. On this build, it meant not accepting the obvious explanation. The symptoms looked mechanical — lost steps, cuts inches off target. Careful testing ruled the frame and motors out. The bottleneck was the ATMega2560: it couldn't process complex toolpaths fast enough to keep the command buffer full, and Inventables' own fix — capping serial communication at 56 Kbps — made the underlying problem worse. That diagnosis pointed directly toward the right solution.

02

Improve the Machine

When a tool limits the quality of the work, the goal is to actually remove the constraint — not work around it. Here, that meant replacing the controller entirely with grblHAL on the Teensy 4.1, running on Phil Barrett's purpose-built breakout board. Custom steel mounting trays, cut on our plasma table, bolted directly into the existing standoffs. External DM860I stepper drivers, generously rated for the application, wired with ferrule-terminated twisted-pair cable and individually labeled. Power distribution redesigned from scratch — a dedicated 12V/5V supply for the controller, 48V for the motors, and an AC safety relay in the E-stop circuit that kills all motor power independently of software. We tried to build it the way it deserves to be built.

03

Share the Knowledge

When the work is ours to share, we prefer to share it. We regularly open-source our work and write documentation that assumes intelligence, not experience. We wrote the guide we wished existed when we started — no prior CNC knowledge required, just basic wiring and soldering skills. It covers disassembly, fabrication (with CAD models, dimensional drawings, and plasma table G-code), reassembly, wiring, firmware flashing, configuration, and a full live-system test procedure. A pre-built firmware image and a complete settings file are included. The entire project is on GitHub, in full, for free.

Open Source & Fully Documented

The project repository includes a complete conversion guide, Fusion 360 CAD models, dimensional drawings, plasma table G-code for the mounting hardware, a pre-built firmware image, and a ready-to-flash settings file.

Built on the work of others — thank you

The heart of this build is Phil Barrett's grblHAL breakout board for Teensy 4.x — a thoughtfully designed board available as a kit from his Tindie store. Without it, this conversion would be considerably harder. The grblHAL firmware itself is maintained by Terje Io and a community of contributors. Our contribution is the mounting hardware, wiring approach, and machine-specific documentation for the X-Carve Pro. None of this works without their prior work.

This is a personal build and case study — not a commercial product. If there's enough interest, we may offer a conversion kit in the future, priced fairly to cover what it actually takes to do it right. For now, everything you need is in the documentation.

Working on something
interesting?

This is the kind of work we enjoy. If you have a fabrication or engineering challenge that sounds like a fit, tell us about it.

Get in Touch