- python3 -m sandtable web: local web page to play designs from a library of
27 built-in patterns, upload .thr or .svg, pause/skip/stop, jog and calibrate.
Reconnects by itself when the USB cable comes back.
- Plays .thr files and built-in generators with an erase spiral between them,
constant ball speed, host-side homing on stock GRBL 1.1 (Uno + CNC shield),
FluidNC for the ESP32 board.
- Home switch guard: patterns never press the switch, so a press means lost
steps and stops the machine at once with an alert.
- lineart.py turns SVG line drawings into one continuous path.
- Tests against a GRBL simulator.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- KiCad project generated by pcb/tools (design, route, schematic, fab outputs).
- v0.4 fixes the v0.3 review findings: low-dropout 3.3 V regulator, OR'd 5 V
supply, polyfuse, USB ESD protection, input clamps, ceramic decoupling at the
drivers, A4988/DRV8825 jumper, ground stitching. DRC/ERC clean.
- v0.3 (as ordered) kept in pcb/archive/v0.3.
- FluidNC config.yaml for the board; rho hard limit on.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- print/ reorganised: v1-original (first export), v2-current, the v2.1-v2.7 fixes
found while building, and v3/ with every printed part.
- v3: deck screws you can reach, seam joints from outside, arm bolted straight
to the hub, 6804 hub bearings with a 15 mm bore for connectors, clamp collar,
counterweight, 12.5 mm sand ring for a raised floor, Uno turnaround plate.
- print/README.md: full v3 parts list, what changed and why, assembly order.
- docs/: diagrams for each change.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>