Bed levelling & probing
Isolation cuts 0.15 mm into copper that is 0.035 mm thick, and a clamped sheet of FR-4 bows by about as much. Measure the surface once, and every cut follows it. The drawings are live: press the buttons and drag the sliders.
This page is the Level the bed step, in Pro. In Novice, Mill a board levels by itself; its height map opens from What the run made.
Before you probe
- One clip, spindle off Clip the red alligator clip onto the copper. That is the only wire: the bit is already wired to the probe inside the machine, so when it touches the copper the circuit closes. Spindle off. The Arduino's serial monitor must be closed, because only one program can hold the port.
- Z on G54, and only Z VPanel lists Machine, User and G54. The files are NC code and obey G54, so that is where Z is set. X and Y stay at the machine origin, which the files assume. With the bit on the copper, machine Z must stay above −50 mm (−55 is the end of the travel); lower than that, refit the bit so it sticks out further. The same lessons are in the app under .
- A couple of millimetres up Leave the tool a couple of millimetres above the copper when you start. That is the height it lifts back to between points: too low and it drags, too high and it's slow.
Build the grid
Select on the rail (under When you need it). In , set across × up — 3 × 3 to start, up to 21 a side — and press Build the grid over the board. The points are laid over the board, 2 mm in from its edge so each one lands on copper, and only over the part of the job the machine can reach and that is on the copper; if part of it is past either, it says so, and so do the checks.
The points are numbered row by row, from the bottom left. Point 1 is the datum: every height in the map is measured from it. Jog the bit over point 1 and set your final Z zero there, on the copper, on G54.
Probe over the link
Press Probe over the link. The grid is measured from wherever the tool is standing, so you can start anywhere; the readout only has to be live. SRM-CAM drives the head to each point in order and touches down twice — a coarse touch, then a lift and a fine re-descend — and the table fills as it goes. STOP or Esc stops it at the next point.
A run that stopped part-way, or that left a few points unread, is resumed rather than started over: Only the missing N probes just those, and re-touches point 1 as well so the new numbers share the old datum.
| In the table | What happened | What to do |
|---|---|---|
| no touch | The bit went down its whole approach without contact. | It started too high, or the point is not over copper, or the clip is off. |
| unstable | The two touches at that point disagreed. | Usually a dirty contact or electrical noise: clean the copper there, reseat the clip, probe again. |
| failed | The firmware refused the point. | Check the point is on the bed; build the grid again. |
The drift check
In Pro, re-touches point 1 before the first point, every so many points (6 by default) and at the end, and corrects every height for how far the reference moved in between: a warming spindle and a board settling in its clamps move it by tens of microns over a long grid. It needs the second Arduino firmware; with the first one the run turns it off and says so.
Is the measurement good enough?
Under the table, the page states the range the surface covers and the shallowest trace depth this map supports, and points at Check the mesh… when something is off. The check answers three questions:
- Is any point wrong? Each point is compared with a smooth surface fitted through all the others; one more than 0.10 mm off is flagged, usually a flaky touch.
- Is the grid fine enough? Where two neighbouring probe lines differ by more than 80 µm, the map can't follow the surface between them. Add the missing lines inserts whole rows or columns and keeps every point already measured; probe again and choose Only the missing.
- How deep must the traces go? Deep enough to survive what the map can't see between points; if the traces are set shallower, it says what to raise them to.
Use it
A finished probe switches on Warp the exported cut to this surface by itself. Every cutting Z in the files then follows the map, with a point at least every millimetre along each cut so the depth ramps with the surface. The dry run is left alone: it is in the air. A complete grid is followed point to point; an incomplete one (at least three points) is fitted with a flat, tilted plane instead.
- Draw the measured surface on the board shades the board amber where it's high and blue where it's low. See the surface in 3D… shows its shape: a bow, a dish and a tipped corner look alike from above and want different fixtures. A real board is smooth; a lone spike is a flaky touch.
- Save… and Load… keep the map as a CSV that records which face it was probed on. Clear discards this face's heights; the grid and the other face stay.
- A board held at points gets a little extra depth worked out from the map: see Holding the copper.
No Arduino? Probe by hand
writes <name>_probe_01.nc and onwards, one per point, plus a checklist. Queue them in VPanel. Each file goes to its point with the spindle off and stops 2 mm above Z 0. Zero Z on the copper at point 1, then at each point lower Z until the bit just touches, read Z off VPanel, and write it down. Typed into the table, the heights give the same map a probe run does.
Two faces
On a double-sided job the page has a Bottom / Top switch, and each face keeps its own measurement. The map on show follows the step you are on, and probing writes into whichever face is selected. After the flip, switch to Top, build and probe again (the board sits on new terrain), and the top files use the top's map, never the bottom's. On a dowel job, Write the top traces to this surface… re-writes the top traces file to the top's map; the first export's top traces are flat, because that face did not exist yet.
The maps of both faces are saved in the setup file. Save it right after probing: a map is minutes of machine time.