Getting Started with Sand Table Art
How kinetic sand tables draw, what the file formats mean, and how to get a good pattern on your first try.
A kinetic sand table is a simple machine doing something quietly hypnotic. A steel ball sits in a bed of fine sand. Underneath, a magnet on a motorised arm drags it around. The ball ploughs a groove wherever it goes, and because each new pattern erases the last, the table is never finished — it just keeps redrawing.
What the table needs from you is a path: an ordered list of coordinates telling the magnet where to take the ball. That is all a pattern file is. SandPath's job is turning a picture or a drawing into one.
Converting your first pattern
- Pick your table from the device list so the output matches what your controller expects. If yours is not listed, choose Custom Circular or Custom Rectangular and enter the bed size — see supported tables.
- Drop in a file. SVG works best. Raster images (JPG, PNG, WebP, BMP, GIF, and TIFF in Safari) also work; they go through a tracing step first.
- Choose a trace mode if you uploaded a raster image. Outline for photographs, Threshold for logos and high-contrast art, Centerline for line drawings and handwriting.
- Check the preview. This is the step worth not skipping. For a raster image, Preview Trace shows the lines SandPath found and counts the separate paths. The ball makes a travel move from each path to the next, which the preview does not draw, so a high count warns you before the sand does.
- Adjust Path Detail if needed (raster images only). Coarser simplifies the traced lines more and drops the shortest ones, for smaller files and fewer travel moves; finer keeps more detail at the cost of longer draws.
- Download and copy the file to your table however it normally accepts patterns.
Nothing is uploaded at any point — the conversion runs in your browser, and the file never leaves your device.
What is a theta-rho (.thr) file?
Theta-rho is a polar format, which sounds more intimidating than it is. Each line has two numbers: theta, an angle in radians, and rho, a radius from 0 at the centre of the table to 1 at the edge.
0.0000 0.0000
0.0628 0.0100
0.1257 0.0200
Read those three lines and you have a ball starting at the centre and spiralling gently outward. That is the whole format. Circular tables from Grounded (Oasis) and Sisyphus Industries use it.
Because rho is a fraction of the radius rather than a measurement, the same file works on any circular table regardless of size — one of the genuinely elegant things about the format.
What is G-code?
G-code is the language CNC machines have spoken since the 1950s, and rectangular tables like the ZenXY use a small subset of it:
G21 ; units are millimetres
G90 ; absolute positioning
G0 X10 Y10 ; rapid move — reposition without drawing
G1 X90 Y40 ; linear move — draw to here
G0 versus G1 is the distinction that matters visually. G0 is the ball
travelling to the start of the next shape; G1 is the ball drawing. Every G0
in a sand table pattern still leaves a mark, which is why minimising them
matters so much.
Unlike theta-rho, G-code coordinates are absolute millimetres, so a file made for one bed size will not fit another. Reconvert rather than rescale.
Getting a good result
Start with the right trace mode. More patterns are ruined by tracing a photograph in Threshold mode than by any other single mistake. Threshold wants hard edges; photographs rarely have them.
Respect the ball. Detail smaller than the ball diameter — typically 10–15 mm — cannot physically appear in the sand. Fine cross-hatching and small text will turn into mush no matter how good the conversion is. When in doubt, simplify the source image before converting rather than after.
Prefer continuous strokes. An SVG drawn as a handful of long paths produces a far cleaner result than the same image drawn as hundreds of short disconnected segments, because the ball spends less time travelling between them.
Watch the path count. Every separate path costs a travel move, and a move out to a stray piece cuts across the whole design. If a raster image traces into hundreds of short paths, try Noise Reduction at 2 before anything else. On three test photos, moving it there from the default of 1 cut the count by between 29% and 88%. Much past that, the picture itself starts to disappear.
Let it finish. Patterns take time — anywhere from fifteen minutes to well over an hour depending on bed size and path length. A pattern that looks wrong halfway through often resolves completely once the remaining strokes land.
Ready? Open the converter, or read how the conversion works.