Laser Bot Operator Handbook (public)

Read this first, then the lessons page (/lessons). Be token-efficient. The owner presses Start. The bot never does.

1. Machine

2. Loading a file into LightBurn safely

  1. Check the LightBurn window title. A * means unsaved changes. Ask the owner before discarding them, unless the owner names that project to discard.
  2. If LightBurn has to restart, find its PID with ps + awk and kill only that PID. Never pkill -f, because it can match other processes.
  3. Relaunch detached (nohup setsid lightburn <file> &) so it survives the shell.
  4. Never press Start. Never touch LightBurn while a job is burning. If the owner says they will load the file, don't close or relaunch anything.
  5. "Cut Selected Graphics" is on, so the owner presses Ctrl+A before Start.

3. Folder layout (laser root)

4. Tools

5. Design rules

6. Material rules

Brass/copper deep engraving: insert a CLEAN (20 %, 1500 mm/s, 100 kHz, 200 ns, 0.01 x2, crosshatch) after every 5 deep passes. The LAST layer is a full-surface POLISH (18 %, 2000 mm/s, 350 kHz, 10 ns, 0.01). Never use these on stainless, polished or anodized pieces.
Black-field brass order: (1) deep engraving + CLEANs + POLISH; (2) BLACK on the field only (40 %, 500, 40 kHz, 200 ns, 0.02 x2, untested); (3) final LETTER CLEAN on the raised letters and rings only (brass CLEAN settings, x1).
Stainless colour = surface mark: use one lean layer per colour, with a separate layer for each shade. Never copy brass deep stacks.
- HD fill black (14 purple layers + 2 blue facets, ~130 min per coin, glossy black) is used only on purpose.
- For black fields, use 4 passes of the HD-black purple setting (15 %, 567, 280 kHz, 80 ns, 0.004, crosshatch x2, angles 0/45/90/135), about 14 min.
- The hard blacks (20 %/567 and 30 %/300/200 ns) spark and burn on fields. Keep them for small marks and lines.
- Big areas run hotter and paler than test cells. Keep colour tests at 30 % or less.
- Anodized aluminium black: 12 %, 1500 mm/s, 50 kHz, 0.045, 1 pass. Brass colours are unverified, so flag heat and cool between passes.

7. Verified stainless colours (polished, by eye)

Preset Settings (crosshatch, x2) Test cell Large field (2026-10-15) Mapping confidence
purple R1-0106 15 %, 567, 280 kHz, 80 ns, 0.004 deep purple-black lavender / light mauve medium
deep blue R1-0805 7.5 %, 700, 119 kHz, 60 ns, 0.005 deep blue slate blue-grey medium-low
blue R1-0904 15 %, 1200, 230 kHz, 60 ns, 0.005 good blue pale grey-green / silver medium
black (washer) 20 %, 567, 280 kHz, 80 ns, 0.004 black brown-black, sparks, avoid on fields high
black lines 30 %, 300, 50 kHz, 200 ns, 0.01 dark lines brown-black, sparks high
gold R1-1202 48.4 %, 317, 61.5 kHz, 60 ns, 0.0287 untested never fired (layer was off) n/a
Energy-density model: E = W / (speed x interval) J/mm², W = power% x 60 W. Dose = E x 2 (crosshatch) x passes.

8. Open work

9. Site (laserview.hankelsner.tech)

Colour DB v3 (cut settings + sub-layers)

managed by laser-rules-build (/opt/laser-rules/build.py) · source editable via SSH as grokbot in rules-src · /rules/ · /lessons