MachGroup Documentation
Complete manual · generated 11/6/2026 · 5 sections
CMS-authored sample page proving the Keystatic local editing workflow writes real MDX to the repo.
This page documents the Keystatic browser editor. Open
/keystatic while the dev server is running, edit a page under
Documentation, change the text or metadata, and save. In local mode,
Keystatic writes MDX and uploaded images into the working copy.
In an image block, upload a file or search the saved-image library to reuse an
existing image. New images are stored below
public/images/uploads/<document-path>/ with a lowercase kebab-case name. Save,
reopen the document, and use Search saved images to find and insert it again.
On the production CMS the saved-image list is read live from the branch you have
selected, so an image added to that branch appears after Refresh library
without waiting for a deployment; a different branch shows its own images. If
GitHub cannot be reached or you are not signed in, the block says so and keeps
the image you already chose; it never falls back to the older deployed list.
If a name already exists for that document, the next upload receives a suffix;
it will not silently replace the existing asset.
Files in public/ are publicly accessible. Do not upload private or restricted
material. The CMS does not upload attachments or video: use Cloudflare R2 and a
Download link for installers, archives, large PDFs, and video. In the Download
block, enter the complete https:// URL of the file. A bare R2 object key is not
accepted (no R2 download base is configured, and a key would become a broken link
on this site): the editor refuses to save it and the build fails on it. Private files
need a protected delivery route; a private page does not make a public asset
private.
Use the Diagram (editable SVG) block to create or edit a drawing in diagrams.net. The CMS saves a visible SVG with the editable draw.io model embedded. Save the document after the diagram so the block stores its generated path. Keep the SVG and its embedded model together; do not replace it with a flattened image.
The editor provides forms for the common technical components, but component implementation, release registries, content schemas, and platform configuration remain code-owned. Add a new component to both the Keystatic editor schema and the MDX auto-import map before authors use it.
A page is editable in the CMS tree when its body uses only components the editor
knows. A block of plain import lines at the top of the page is fine: the editor
shows it as “Page imports (kept as written)” and saves it unchanged. A page stays
code-owned (no edit link; hover the label to see why) if it uses a component
the editor does not support, has an export or other code at the top, or has an
import anywhere after the first line of content.
The Release registry collection in Keystatic edits the version data that drives the version selector and applicability — structured fields, no Markdown, the CMS’s strongest use case.
Add and configure external operator panels (physical devices, Software Operator Panel, IO Operator Panel) via the Mach4 User Interface tab. Migrated from BookStack.
Mach provides multiple methods of linking external operator panels to a CNC control. Use the User Interface tab to add devices and modify their defaults.
Open Mach4 and select Service (A) → Maintenance (B) → Interface Config (C). In the MachMotion Interface Config window, open the User Interface tab (D), select the device (E), click Add (F), then Save (G). The device loads with its default configuration.
Open the Settings tab and click Configure, or use Configure → Plugins → MachMotion → User Interface.
For testing or a mobile operator panel, add a Software Operator Panel. Toggle it enabled/disabled with Ctrl + P.
For jogging from an input or output, use the IO Operator Panel.
Mach4 is a distinct software generation with named release families (Bangladesh through Unimate).
Mach4 is its own software generation (mach4) with named release families:
Bangladesh → Odessa → Vesta → Galileo → Unimate
Release numbers are branchBase.buildRev from SVN (e.g. Galileo 20039.25427). The
Pro/Elite edition selector does not apply here.
Configure a Mach4 axis to seek and set machine home, including versioned differences and machine-type-specific steps.
Motor homing establishes a known machine-coordinate reference so soft limits and work offsets are meaningful. Set your Machine Profile (bottom-right) to a Mach4 release to see the version-correct procedure.
The numbered callouts below are data layered over a clean screenshot — the text is searchable, translatable, and readable by bots even though it never appears in the image pixels.
For Galileo and earlier, home each axis individually from the Diagnostics tab, then confirm the machine-coordinate readout resets to zero at the home switch.
Unimate and newer add a one-touch Home All sequence that orders the axes automatically using the configured homing priorities.
275 Homing Speed (%) Percentage of maximum axis velocity used while seeking the home switch.
Machine types: mill, router, lathe, grinder
On grinders, home the wheel-dress axis before the work axes so the dresser cannot collide during the reference move.
On routers with a floating Z reference, verify the tool-length touch-off plate is clear before homing Z.
Machine-readable Mach4 parameter reference; each parameter is release- and machine-type-aware.
These parameters come from structured data (src/data/parameters/mach4.yaml), not
prose. The same data answers bot questions like “what does parameter 19681 do on a
5-axis mill?” and each entry respects your Machine Profile (release + machine
type).
4001 Soft Limit Enable Enables software travel limits so motion is clamped to the configured work envelope.
Machine types: mill, router, lathe, plasma, grinder
275 Homing Speed (%) Percentage of maximum axis velocity used while seeking the home switch.
Machine types: mill, router, lathe, grinder
19681 TCPC Rotary Axis Mode Selects the tool-center-point compensation rotary mode. Only meaningful on machines configured with rotary axes (typically 5-axis mills).
Machine types: mill
Set your profile machine type to something other than mill to see parameter
19681 (rotary/5-axis) filter out.