Hello everyone
Inspired by this forum and some blogposts, I decided to build my own polar sand table.
That was a few month ago. The Project is now (close to) finshed and I want to share the result with you.
I wanted to replace my coffee table with the new sandtable because I have no other place to put it. So I opted for a complete custom design, including the mechanics. The Result is this 600mm Table with 550mm printing diameter.
Solid Beech rim, table legs, & ring for the hardware
Drawing plate, main ring and hardware support are aluminium.
I decided to go with a ring and smaller plate underneath to keep the height of the wooden rim low.
It looks less bulky this way.
Also, I had to stay below 50mm to be able to produce it in the garage with a router jig.
The control panel has the power button and six push buttons for gcode macro activation.
I use them for: LED brightnes rotation, LED animation rotation, draw speed increase, draw speed decrease, print start / pause / resume , print pause / cancel / wipe.
The Leds are placed in a slot in the ring and covered with silicon tube.
The tube provides diffraction and holds the strips in place.
Wiring for power is hidden in one of the legs.
I drilled out one leg to get the power connection close to the floor.
Hardware / electronics:
raspberry pi zero 2 w
BTT SKR mini e3 v3 (originally chosen because it is a nice all in one solution with silent stepper drivers and integrated neopixel output. I ended up using the rpi for the led control instead)
mini skinny Neopixel RGBW
DCDC converter
Software:
I started out with sandypi + marlin, but had reliability problems with the comunication between the pi and mcu. In addition, the button customization and LED control was not what I wanted it to be.
Now I run Klipper / Mainsail plus “moonshine” for led control (https://github.com/julianschill/moonshine)
Pattern generation:
Sandify (obviously) - thanks for this great piece of work
postprocessing with Octave to generate speeds for scara and preview pictures like this:
Some optimizations done during the build:
- I had some issues with magnet strength, so I changed the Magnet from D8x10 to D10x10 and the drawing plate from 4mm plexi to 2mm aluminium
- Increased tooth count on the outer scara arm from 20 to 40 for more robust movement.
- experimented with diffferent fabrics under the sand (now: flannel)
- added “standoff” to the central arm that supports the plate center from below (reduces noise / vibrations in the plate)
- changed LED control from outut on the mcu to LED control on the rpi & GPIO pin on the pi (-> smooth led animations independent from load on the mcu)
- changed from sand to natron
TODO:
- add software toggle for continuous drawing (with pauses) (almost done)
- find a way to get a list for all files in the klipper gcode folder to add option for “start random drawing”
- explore alternatives to Natron (it is a little bit to fine and “clingy” for my taste (suggestions welcome )