Design
There were several components that needed to interface in order to this project possible: the CNC gantry that drags the marble around the board, the knobs which read the inputs and sent commands to move the marble, and the sweeping mechanism that erases the drawing, and the outer curved housing made of plywood.
Mechanisms
The gantry system was controlled by an Arduino Uno with a CNC shield running GRBL control software. The gantry received G-Code commands from a second Arduino which read the encoder positions of the knobs to determine what direction to move the marble.
The clearing mechanism consists of a wide brush attached to a timing belt that sweeps the brush across the sand. The motion is controlled by a third Arduino that is reading an accelerometer to detect a shake.