Arrakis 2.0
You're looking at the Arrakis 2.0 sand table, designed, built, and programmed by me, Mark Rehorst (whose name appears on GLD Gin bottles). The table is normally used as a coffee table in my home. It is on temporary loan to GLD.
Arrakis 2.0 at home |
The sequence of patterns currently running on the table lasts about 12 hours. There is no real limit, and it is possible to program a sequence that will run for weeks without ever repeating a pattern. As you may notice, the sand tends to build up around the edges of the table. Once about every 50 hours of operation I push it back toward the center of the table.
In the current sequence, some patterns finish in a few minutes, others take over an hour. After each pattern finishes, there is a 60 second delay to allow you to contemplate the Sisyphean pointlessness of existence, "ooh and aah", take pictures of the pattern, or use the restroom. Then it erases and starts drawing the next one.
Despite rumors you may have heard to the contrary, the sand is definitely not cocaine. It's actually baking soda, used because its fine grains capture pattern details, it's pure white so the LEDs light it up nicely, it doesn't get sticky when it's humid, bugs don't eat it, it's cheap, and available everywhere. There are about 2 lbs of baking soda on the table.
Almost all the electronics in the table are off-the-shelf stuff, most commonly used in making 3D printers. Many of the mechanical parts in the mechanism are 3D printed or are parts commonly used in 3D printers, such as GT2 belts and drive pulleys. Unlike similar tables you may have seen, this one uses servomotors to achieve high speeds and quiet operation.
Those of you familiar with 3D printing will understand when I say the table uses a CoreXY robotic positioning mechanism to move a magnet under the table. The table can be thought of as a large 3D printer without an extruder or a Z axis. It uses a 3D printer controller board and gcode files, just like a 3D printer. The advantage of using a CoreXY mechanism for this table is that the two motors that drive the magnet around are both fixed, so there are no wires attached to moving parts that would reduce the reliability of the mechanism.
The magnet that moves the ball is a 1" cube neodymium type N52, the strongest available. In my first sand table the magnet had no trouble keeping the ball under control through a 1/2" thick sandbox bottom.
Glass
My first sand table, The Spice Must Flow, had 1/2" plywood on the bottom of the sandbox with a spring pushing the magnet against it, which made quite a bit of noise, and generated some fine dust as the magnet scraped the wood. I later switched to 1/4" plywood and added an air gap to prevent the noise and dust from the magnet dragging on the wood. But the 1/4" plywood would warp with changes in temperature and humidity, sometimes closing the air gap and letting the magnet hit the bottom of the sandbox, making noise.
For Arrakis 2.0, I used two pieces of 4.7 mm thick (about 3/16") glass that I found on Craig's List for just $6 each. I used one for the top cover and another for the bottom of the sandbox. That eliminated the possibility of warping so the magnet never touches the bottom of the sandbox. A steel ball rolling on glass is surprisingly noisy, so I covered the glass with white vinyl cloth (fake leather) and that minimizes the ball-rolling noise. It also prevents see-through when the ball goes over the same spot repeatedly.
When I brought the table to the Still and Oak Tasting Room, I set it up and was cleaning the top glass, holding it with a couple suction cup handles. One of the handles let go and the glass hit the floor, exploding into thousands of "ghetto diamonds". I had to order a replacement to fit in the oak frame on top of the table. If you look carefully, you might still find a few of the "diamonds" on the floor.
Software
The pattern generating software, Sandify, is free, online, and saves patterns as simple gcode files.
The process of generating patterns using Sandify starts with selecting a basic shape and applying different modifiers. As changes, are made, their effects can be seen in a preview window. When I like what I see, I tell Sandify to save the pattern. Then I run a post-processor on the pattern file that assigns two speeds to the motion- fast along the edges, and usually slower for the actual pattern, to preserve detail. Finally, I upload the pattern to the table via WiFi and it's ready to run. Patterns can be strung together in sequences using a macro file. It takes me anywhere from a few minutes to a few hours to generate patterns that I feel are worth keeping. There are currently over 200 patterns stored in the memory card on the table's controller board.
You may notice that the ball is "smart" in that it always takes the shortest path around the table when it's traveling along the edges of the table. That behavior was added to the pattern generator after I wrote a post processor to delete excess edge motion from the pattern files. The authors of Sandify liked the demo video I sent them so much they added that function into Sandify. They have yet to add dual speed operation, so I continue to use my post-processor for that.
In case you're curious about the mechanism, here's a video tour of a slightly earlier version of it. In Arrakis 2.0 there have been some major changes to the electronics but only minor changes to the mechanism.
The table has other uses. In the video below, the table is drawing a pattern I created specifically for entertaining my cat, Ms. Kitty. The ball moves at random high speeds, in random directions, and stops for a random time to make its motion unpredictable. When Ms. Kitty wants to play on the table, she pushes everything off of it, onto the floor.
I have also used it to paint pictures by having the ball roll acrylic paint on canvas boards:
History
Shortly after I finished designing and building a CoreXY 3D printer (UMMD) at the Milwaukee Makerspace, I got the idea to build my first sand table, "The Spice Must Flow", for the 2018 Milwaukee MakerFaire using the same type CoreXY mechanism and 3D printer controller board.
After the MakerFaire I continued to work on the table, with goals of making it run faster and quieter, so that I could have one in my living room. Many of the parts in the mechanism, including motor mounts, the magnet carriage, and pulley blocks were designed by me and 3D printed on UMMD.
At first I worked on speeding the table up, and managed to get it to work up to 500 mm/sec. That wasn't fast enough, and it was pretty noisy because it used stepper motors, so I switched to servo motors that are capable of running much faster and quieter. With the servomotors the table can run up to 2000 mm/sec, though the noise level goes up a bit with the speed.
Once the speed and motor noise issues were solved, I started working on other noises that the table made, hunting them down and eliminating or reducing them one by one. The result is in front of you: Arrakis 2.0.
Do you want to build one yourself?
If you have kids, building a table like this would be a great way to introduce them to mechanical and electrical engineering and programming. My blog (see the links, below) contains enough information about the table, that if you are skilled mechanically, and know a little about electronics, you can use it to build your own table. I am always happy to answer questions and make suggestions, including local sources of inexpensive parts.
As built, there's about $400 worth of electronics in the table, including the servomotors, but there are much cheaper ways to go. The easiest way to cut costs is to use stepper motors if you don't mind the table speed being limited to about 100 mm/sec, and you can use an inexpensive Arduino based 3D printer controller. Many people build sand tables by modifying glass top tables from Ikea.
If you would like to build a sand table, or almost anything else, but don't have work space or tools, stop by and tour the Milwaukee Makerspace in Bay View or St. Francis. We have all the space, tools, and expertise you'll ever need for almost any project you can think of, large or small.
Do you want me to build one for you?
I can do that, but it's not going to be cheap. That said, I'd love to talk to you about it and maybe we can come to some agreement.
Links to more info:
Milwaukee Makerspace where all your DIY dreams can come true!
My Arrakis youtube playlist - watch Arrakis and Arrakis 2.0 at home!
The Spice Must Flow - my first sand table
Arrakis sand table
Arrakis 2.0 sand table
Sandify online sand table pattern generator
Duet3D makers of the controller board in Arrakis 2.0 and UMMD