README, build guide, software README, web page header and title, jog page,
desktop alerts and the start-up message now say Gyre. The repo, the Python
package and its commands keep their names (sandTable, python3 -m sandtable),
so links and setups keep working. New web page screenshot.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31/32/33 each hold one piece, so "-x4"/"-x16" read as if the files held 4 and
16 copies. Renamed to -print-4 / -print-16 and rebuilt the Bambu Studio
projects. The MakerWorld upload package lives in publish/ (copies, not in git).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
After the last design (or a Stop), the player sends $SLP (GRBL and FluidNC
sleep), so the motors stop holding and the table is quiet. The page shows
"Motors off"; the next design wakes the controller (reset + unlock) and homes
first, since the arm can be moved by hand while the motors are off. The jog
panel wakes it too. Setting: motion.motors_off_when_done (default true).
Checked on the real Uno: Idle -> $SLP -> Sleep -> reset -> Alarm -> $X -> Idle.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
print/3mf/sand-table-v3-P1S.3mf: every part oriented for printing, PLA case
parts and PETG moving parts, supports only on the arm motor bracket, stronger
walls on the hub, carriage and brackets, solid counterweight. Slices on all
9 plates: about 23.5 h, 760 g PLA + 165 g PETG.
print/3mf/sand-table-v3-P1S-options.3mf: 12.5 mm sand ring, M2 switch mount.
print/tools/make_3mf.py builds both from the STLs with the Bambu Studio
command line (flattened system presets, fixed-up per-filament settings).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
BUILD.md walks through the whole build: what to buy (parts and screws), the
v3 print list with materials and supports, case, electronics (microstep
jumpers, driver current), centre, the arm on the bench, hub and slip ring,
wiring to the CNC shield, software setup and a first run without sand, then
floor, magnet height, sand and glass, plus troubleshooting.
Also adds the 608 fit test to print/v3 so the v3 folder is complete.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 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>