8-Axis CNC Motion Controller
Dual Raspberry Pi Pico 2 · ±25 ns STEP jitter · ≤1ms motion cycle · 8 independently configurable axes.
Overview
The T&C Technology 8-Axis CNC Motion Controller is a high-precision, real-time motion control system for CNC machine tools, multi-axis routers, laser systems, and custom automation equipment. Built on dual Raspberry Pi Pico 2 boards (RP2350), it uses PIO state machines to generate STEP pulses with ±25 nanoseconds timing jitter — tighter than any software-timed solution — and executes its motion planning cycle within 1 millisecond for fluid, coordinated multi-axis motion.
Each of the 8 axes is independently configurable as closed-loop (with quadrature encoder feedback) or open-loop (stepper or servo with STEP/DIR). The closed-loop configuration supports BLDC and brushed DC motors with 1250 CPR encoders (5000 PPR after quadrature decoding), delivering 1-micron theoretical resolution on a 5mm-pitch ball screw.
The firmware is written in pure C — no C++, no dynamic memory allocation — to the Earle Philhower Arduino core, with ISR-safe and reentrant code patterns throughout. The 520 KB SRAM is partitioned for motion buffers, lookahead, and runtime state; 4 MB flash holds tool tables, axis configurations, M-code macros, and a wear-levelled fault log.
Key Features
- 8 fully independent axes — mills, lathes, routers, special machines
- ±25 ns STEP jitter — precision impossible with software timers
- ≤1 ms motion planning cycle — smooth coordinated multi-axis moves
- Mixed closed/open-loop axes in a single system
- 1-micron theoretical resolution with 5mm ball screw + quadrature encoder
- System-wide fault shutdown via ERRin/ERRout daisy-chain
- Pure C firmware — deterministic, no heap, no runtime surprises
- Dual-core watchdog — each core monitors the other
Specifications
| Number of Axes | 8 (independently configurable) |
|---|---|
| Microcontroller | Dual RP2350 (Raspberry Pi Pico 2) |
| STEP Pulse Jitter | ±25 ns (PIO state machine driven) |
| Motion Planning Cycle | ≤1 ms |
| Axis Modes | Closed-loop or Open-loop per axis |
| Encoder Interface | Quadrature A/B/Z, 1250 CPR → 5000 PPR |
| Theoretical Resolution | 1 µm (5mm ball screw, 5000 PPR) |
| Encoder Sampling Rate | ≥50 kHz |
| Command Interface | STEP/DIR per axis, 3.3V TTL |
| Safety Interface | ERRin / ERRout daisy-chain per axis |
| Memory | 520 KB SRAM, 4 MB Flash |
| Firmware Language | Pure C (no C++, no dynamic allocation) |
| Watchdog | Dual-core mutual monitoring, windowed WDT |
| Fault Log | Wear-levelled ring buffer in flash |
Why PIO-Driven STEP Pulses?
Software-Timed (typical)
- Jitter: ±1–10 µs (interrupt latency)
- CPU cycles consumed by every pulse
- Performance degrades at high step rates
- Susceptible to ISR contention
PIO State Machine (PicoPLC)
- Jitter: ±25 ns — hardware clock precision
- Zero CPU overhead during pulse generation
- Consistent at any step rate
- Immune to ISR load and OS scheduling
The RP2350 PIO state machines run on an independent clock domain. Once programmed with the STEP/DIR waveform, they generate pulses entirely in hardware — the CPU cores are free for motion planning, interpolation, and safety monitoring.
Upgrade Your CNC or Build a New Machine
Contact us for pricing, custom axis configurations, or OEM integration.