Open-source CNC controller powered by Raspberry Pi RP2350B + grblHAL firmware. Optically isolated inputs, Ethernet, integrated 0-10V VFD interface, and 5-axis stepper control — in a single 150 × 100 mm board.
First batch of 5 boards assembled & bench-tested · Open hardware
RectaBot v1.0 — a 150 × 100 mm, 4-layer PCB with ENIG finish. Everything the controller needs is integrated on a single board: 5-axis motion, the spindle interface, optically isolated inputs, Ethernet, USB-C and microSD. No stacked driver boards, no breakout modules, no level-shifter add-ons to wire up. Stepper drivers stay external — this board commands DM556-class drivers, it does not replace them.
Dual-core ARM Cortex-M33 at 150 MHz orchestrates motion, spindle, and I/O, with all 10 field inputs behind a 1 kV isolation barrier (input side only).
v1 isolates the input side only.
PIO-based step generation reaches 300 kHz per axis with deterministic timing. 5V CMOS outputs through Schmitt-trigger buffer for clean transitions to DM556-class drivers.
25 kHz PWM filtered through dual-stage RC + LM358 op-amp produces linear 0-10V analog. Trim pot calibration, 12V Zener overvoltage clamp.
10 field inputs (limits, ESTOP, probe, controls) cross a 2mm copper void via LTV-217 optocouplers on a separate 24V_ISO rail. Outputs share MCU ground in v1.
Every design decision optimized for noisy industrial environments where reliability beats specs on paper.
X, Y, Z, A, B axes with hardware-accelerated PIO step generation. Up to 300 kHz per axis. Y-axis auto-squaring via tandem B-axis.
All 10 field inputs (limits, ESTOP, probe, controls) routed through LTV-217 optocouplers on a dedicated 24V_ISO rail — 1kV input-side isolation.
Two ways to drive a spindle: 0-10V analog speed + open-drain EN/DIR, or digital control over RS-485 Modbus (RTU). Compatible with Huanyang, Lapond, Delta, Hitachi VFDs.
On-board 10/100 Ethernet built around a discrete W5500 — laid out to WIZnet's own reference design and their engineers' recommendations, not a plug-on module. J1B1211CCD magnetics, Bob Smith termination, hardware TCP/IP stack (zero CPU overhead). USB-C 2.0 for programming and debug.
Store G-code files, configuration and macros on the card, and run them from it. A PC running RectaControl streams the job over Ethernet or USB; the board also carries an RS-422 pendant header (CN41) for handheld control.
grblHAL firmware fork (GPL-3.0) and the RectaControl sender (GPL-3.0). Hardware design files under CERN-OHL-S v2, docs and configurator under MIT. No vendor lock-in, no obsolescence anxiety.
There are seven builds, one per motor layout, and the file names do not explain themselves. Answer two questions about your machine and the configurator names the build and hands you the exact .uf2.
Worth getting right: grblHAL lays its settings out by axis and motor count, so an image built for a different layout resets the board to defaults — and a build without ganging never steps the second Y motor.
Try Configurator →Pendant-ready: The board carries an RS-422 pendant header (CN41) for handheld control without a computer.
A controller is only as good as the thing you drive it with. RectaControl is our own sender, built alongside the board and tested on the same machine — it knows this hardware, so setting the machine up is answering questions, not looking up $-numbers and bitmasks. It talks grblHAL, so it also runs other grblHAL boards.
Click a connector on the board diagram and it tells you what goes on each pin. An input test lights up the connector a switch is actually wired to — the fastest way to find the one that is dead, with hard limits suspended while you press.
A guided editor with real controls, a steps/mm calculator and a raw $ browser with search. Settings are backed up automatically, exported to a file, and compared against it later.
Tool Z, edge and corner zeroing, and skew — which measures how far the workpiece is turned and rotates the program to match, so a part that is not square to the table still cuts right. Each cycle is drawn as its numbered touches.
Toolpath in 3D with a live tool marker and the cut path recoloured as it goes. Pause a job, jog the head away to clear a chip or change a tool, then return to the exact line it stopped on and continue.
Every grblHAL alarm and error with its cause, what to do about it, and one-click recovery. If a board loses its settings, a guided recovery walks it back: erase, reflash, restore.
GPL-3.0, source on GitHub, no account and no licence key. Flash firmware from inside the app, manage the SD card over the network, and keep a g-code library on the PC.
Windows 10/11 · installer or portable · macOS and Linux build from the same source
The numbers that matter.
| MCU | Raspberry Pi RP2350B (QFN-80), dual ARM Cortex-M33 @ 150 MHz |
| Firmware | grblHAL fork for RP2350B (GPL-3.0) |
| Axes | 5 (X, Y, Z, A, B), up to 300 kHz step rate |
| Stepper Drive Topology | Common Anode (compatible with DM556 / TB6600 / DM860) |
| Spindle Output | 0-10V analog (LM358 op-amp), open-drain EN/DIR (2N7002 60V tolerant) |
| Isolated Inputs | 10× LTV-217-B-G optocouplers, 24V_ISO domain |
| SSR Outputs | 3× (Mist M7, Flood M8, Vacuum M62/M63) |
| Ethernet | 10/100 Mbps via W5500 + RJ45 with integrated magnetics |
| Serial Buses | RS-485 Modbus, RS-422 Pendant (full duplex) |
| Storage | microSD (up to 32 GB FAT32) |
| Power Input | 24V DC, 2A max — observe polarity (no reverse-polarity protection in v1) |
| Input Isolation | 10× field inputs via LTV-217 optocouplers, 24V_ISO domain (B2424S DC/DC) — input side only in v1 |
| PCB | 150 × 100 mm, 4-layer, 1.6 mm, ENIG finish |
| Operating Temperature | -10°C to +60°C |
Universal 0-10V interface works out-of-the-box with most VFD families.
Sinking (NPN) inputs are supported natively by the integrated 2N7002 open-drain MOSFETs. Sourcing (PNP) inputs on industrial VFDs require a small external relay module (~$3 on AliExpress). Detailed wiring instructions are in the documentation.
Honest comparison against established CNC controllers.
| Feature | RectaBot v1.0 | Closed all-in-one controller | PC + parallel-port breakout | PC + FPGA motion card |
|---|---|---|---|---|
| Axes | 5 | 4 | 4 | 9+ |
| Optically Isolated Inputs | ✓ 10× opto | ✓ Partial | ⚠ Limited | ✓ 7i76e |
| Ethernet | ✓ | ✓ | ✗ | ✓ |
| VFD 0-10V (built-in) | ✓ | ⚠ Add-on | ⚠ Add-on | ⚠ Add-on |
| Open Hardware | ✓ Yes | ✗ Proprietary | ⚠ Varies | ✓ Yes |
| Open Firmware | ✓ grblHAL | ✗ Proprietary | ✗ Licensed | ✓ Open-source |
| Control Software | ✓ RectaControl, free & open | ⚠ Bundled, proprietary | ⚠ Paid licence | ✓ LinuxCNC |
| PC Required to Run | Yes · sender included | Yes (Windows) | Yes (Windows) | Yes (Linux) |
| Target Price | from $149 | ~$300 | ~$100 + license | ~$400 |
* Category comparison for orientation; specifics vary by product and configuration.
Schematics, Gerbers, BOM, firmware, the configurator and the RectaControl sender are all open. Explore the design, build your own, or make it yours.
Prefer a board that's built, flashed and bench-tested?
Assembled RectaBot v1.0 — from $149. The first batch is limited and hand-assembled; join the list to be notified when boards are available.
The button opens your mail app. If nothing happens, it means this computer has no mail app set up — copy the address instead and write from wherever you read your mail. Tell me your country and whether you need 3, 4 or 5 axes.