Learn/GcodePilot/Connection & firmware
Machine Connection
Updated v2.4.7At a glance
- GRBL 1.1 and FluidNC (ESP32) over USB serial — same protocol, one driver layer
- Bundled FluidNC fork firmware with a built-in flasher — provision a blank ESP32 from inside the app
- Firmware updates arrive without waiting for a JetCad3 release, and you can always revert
- Machines using a GcodePilot post appear under Motion automatically, no separate setup
- An eye icon in Machine Configuration hides a machine's workspace row when you don't want it listed
- Port, baud, and firmware are per-machine settings with live port enumeration
- Single-owner port arbitration — contention is a clear message, never a cryptic OS error
There is no separate "add a machine" step for machine control: any machine whose post declares
Controller: GcodePilot (the bundled GRBL and FluidNC posts do — for plasma, mill, oxyfuel and,
as of v2.4.7, router) shows up under MOTION as a
GcodePilot workspace, and stays a CAM post target at the same time. If you'd rather a machine
didn't appear there — a starter profile that came with a machine-control post attached, say —
the eye icon on its row in Edit → Machines hides just the workspace entry, leaving the
machine fully usable for posting. The machine's Connection settings
hold the serial Port (enumerated live from what's plugged in), Baud (115200 default), and the
firmware — auto-detected from the selected post, so picking a FluidNC post puts the machine on the
FluidNC driver. Connect from the workspace toolbar.
GRBL and FluidNC
GRBL 1.1 over USB serial is the reference target. FluidNC (ESP32) keeps GRBL's runtime protocol — the
same status reports, acks, jogging, and realtime bytes — so the FluidNC driver inherits the whole GRBL
runtime and adds what's actually different: config.yaml configuration and the plasma AVTHC features.
See Firmware Settings for how configuration reaches each
firmware.
Bundled firmware and the built-in flasher
For FluidNC machines, run JetCad3's own FluidNC fork — it ships inside the app and is required for firmware-native jogging and for plasma use (g-code controlled AVTHC). The No Radio image is the recommended and fully supported build, with the complete GcodePilot feature set. Machine Config → Connection includes a built-in flasher that writes the image to an ESP32 or ESP32-S3 over USB with no external tools — it works on a factory-blank board, verifies the image, and refuses to flash the wrong chip family. It also keeps firmware current on its own: newer builds are offered, downloaded and verified in the dialog without waiting for a JetCad3 release, and you can revert to the shipped firmware at any time. See Firmware Flashing & Updates.
One owner per port
Every part of the app that opens a serial port — the connection, the firmware flasher — goes through a single-owner arbiter, so grabbing a port that's already in use produces a plain-language message naming the holder instead of a cryptic OS access error. Once connected, the connection badge's menu is the hub for the rest: the Serial Monitor on any firmware, plus the FluidNC config push/edit and reboot actions. A job runs in the background, so switching workspaces or setting up the next cut never drops the stream.