MachGroup Documentation

Mach4

Complete manual · generated 11/6/2026 · 5 sections

Authoring with the CMS

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.

  • Rich prose: headings, bold, lists, links, tables, code blocks, and images.
  • Structured metadata through friendly form fields: title, summary, software generation, machine types, visibility, and publication state.
  • Visibility defaults to private for new pages — publishing is a deliberate choice, never an accident.
  • Insertable rich-editor controls: warnings, images with draggable numbered callouts, diagrams, shared-content includes, settings/API references, applicability sections, hardware revision and machine-type sections, troubleshooting, compatibility matrices, parameters, and download links.

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.

User Interface

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.

2000 Series control

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.

1000 Series control

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.

  • The top two buttons define whether the panel does continuous or incremental jog. Map those to signals so operators can switch on the fly.
  • Select the axis to jog and map a signal to it. For example, jog X positive with Input 1 and Input 2, and jog C from the same inputs.

Mach4

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 Motor Homing

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.

Shared: Disable machine motion

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.

Wireless MPG pendant, homing-relevant controls 123
  1. 1Axis select rotary switch
  2. 2MPG hand wheel
  3. 3Feed-rate / enable buttons
Wireless MPG pendant, homing-relevant controls
Galileo and older

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.

Since Unimate

Unimate and newer add a one-touch Home All sequence that orders the axes automatically using the configured homing priorities.

275 Homing Speed (%) percent · default 20

Percentage of maximum axis velocity used while seeking the home switch.

Machine types: mill, router, lathe, grinder

For grinder

On grinders, home the wheel-dress axis before the work axes so the dresser cannot collide during the reference move.

For router

On routers with a floating Z reference, verify the tool-length touch-off plate is clear before homing Z.

Shared: Restart the controller
  1. Save any open configuration.
  2. Close Mach4.
  3. Power-cycle the motion controller and wait for the status LED to turn solid green.
  4. Reopen Mach4 and confirm the controller reconnects.

Mach4 Parameter Reference

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 bool · default 1

Enables software travel limits so motion is clamped to the configured work envelope.

Machine types: mill, router, lathe, plasma, grinder

275 Homing Speed (%) percent · default 20

Percentage of maximum axis velocity used while seeking the home switch.

Machine types: mill, router, lathe, grinder

19681 TCPC Rotary Axis Mode enum · default 0

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.