The pages written on top of the old README inherited its premise: that after flashing you face a gauntlet -- go/no-go checks, a safety net, a mandatory calibration -- before the machine can be trusted with a model. That is not what happens. The factory numbers import themselves on the first boot, a bed mesh loads at the start of every print, and the mod is built to run the files the stock firmware ran. A printer that printed before the flash prints after it. "Your first print" now says so in its first line, and everything under it is optional, ordered by what you would actually reach for: check the offsets are applied, and calibrate only if that disagrees with the machine. Three audiences now, because owner and contributor was not the real split. "For experienced users" sits between them: How a print runs, and How calibration works. Someone who knows Klipper and wants to change what happens around their file has a place to go that is neither a walkthrough nor the build system. What was cut is most of what changed. Pages that were cryptic to the reader they were aimed at -- Printing, Upgrading -- are out of the nav and kept on disk to be rewritten rather than deleted. Within the pages that stayed: Expected output, Probe sampling, What is being measured, the symptom table, the dark-screen diagnosis, TOOL_Z_ADJUST, PLATE_CHECK, the ff-*.cfg inventory, [ff_legacy] and SAVE_CONFIG in a paragraph about factory calibration. Filenames and internals earn their place on an owner page only when the reader has to type them or look at them; the rest moved to the experienced pages or to Internals, where the audience wants them. Calibration became a section rather than a page, because tool offsets are not the only calibration: bed mesh has its own page now, and its own gotcha written down -- BED_MESH_CALIBRATE writes `default`, a print loads `MESH_DATA`, so a mesh probed by hand is a mesh no print will use. Input shaping is described but has no procedure page yet. Several claims came out because they were not true. "Is this for you" listed calibration and input shaping as things the mod gives you; both are the touchscreen's own sequences, recovered and reimplemented, and the notes say so plainly. What the mod actually gives you is that anything speaking Moonraker can drive the machine -- on stock, FlashForge's Klipper does not toolchange at all, it raises a flag and waits for an application that is not watching a Mainsail print, and the print hangs at the first T2. The page now opens by telling most owners not to flash it. Contributors are still deferred. Their pages are regrouped, not rewritten. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S3XZh4SqPdXAowVndz6tMr
2.3 KiB
Bed mesh
No build plate is perfectly flat. A bed mesh is a map of yours — the printer probes a grid of points across it and remembers how far each one sits above or below the ideal plane, so the first layer can follow the plate instead of digging into one corner and floating over another.
Your printer already has one. FlashForge probed a mesh at the factory and saved it, the mod imports it with the rest of your machine's numbers, and every print loads a mesh before it starts — that is not optional here, and it was not optional on the stock firmware either.
So for most people this page is nothing to do.
When to probe a new one
The factory mesh describes the plate the printer left the factory with. Probe a fresh one when that is no longer the plate you have:
- you have swapped or replaced the build plate
- the printer has been moved any distance, or the bed has been worked on
- first layers are consistently good in one region of the bed and bad in another — the signature of a mesh that no longer matches
A first layer that is uniformly too high or too low across the whole plate is not this. That is nozzle offset, and it belongs to XYZ tool calibration.
Probing one
With the plate on and the bed at the temperature you print at — a hot plate is a different shape from a cold one:
G28
BED_MESH_CALIBRATE
It probes a 10×10 grid with the sensor on the carriage and takes a few minutes. The result is live immediately, and HelixScreen's bed-mesh screen will draw it.
That result is not saved yet, and it is not yet the mesh a print will load. To keep it, and to have prints use it:
BED_MESH_PROFILE SAVE=MESH_DATA
SAVE_CONFIG
MESH_DATA is the name of the mesh a print loads. Saving over it replaces
the factory mesh with yours, permanently — that is the point, but it is also
the reason to be sure the probe ran cleanly before you do it. SAVE_CONFIG
restarts Klipper, so do it between prints.
Checking it
BED_MESH_OUTPUT
prints the probed points, and HelixScreen draws the same data as a surface. What you are looking for is a shape that looks like a plate — a gentle bow or tilt — rather than one point far away from its neighbours, which usually means the probe was disturbed rather than the bed being that shape.