Remote-Control Kinetic Sand Table Uses A Single Arduino

There’s nothing fun about a Sisyphean task unless you’re watching one being carried out by someone or something else. In that case, it can be mesmerizing like this Arduino-driven kinetic sand table.

What you can’t see. Image via [thang010146] on YouTube
Like many of these builds, it all started with an ordinary coffee table from the hacker’s favorite furnitüre store. [NewsonsElectronics] opened it up and added a 3mm-thick board to hold the sand and another to hold the rails and magnets.

After designing some pieces to connect the rails and pulleys together, [NewsonsElectronics] let the laser cutter loose on some more 3mm stock. A pair of stepper motors connected to a CNC shield do all of the work, driving around a stack of magnets that causes the ball bearing to trudge beautifully through the sand.

Be sure to check out the videos after the break. The first is a nice demonstration, and the second is the actual build video. In the third video, [NewsonsElectronics] explains how they could write the world’s smallest GRBL code to swing this with a single Arduino. Hint: it involves removing unnecessary data from the g-code generated by Sandify.

Don’t have a laser cutter? Here’s a sand table built from 3D printer parts.

11 thoughts on “Remote-Control Kinetic Sand Table Uses A Single Arduino

  1. I saw a few small pieces of the video, including around 07:40 in the last video, where a circle was “approximated” with 129 “points”, and I stopped when he started to turn it into a “polygon” (Which it already is). There is some software that turns those approximated polygons / circles into real G2 or G3 arcs as a post processing steps. I don’t recall the names of such software, but there are several post processors for 3D printers that can do it.

    And when storage is a problem, just add an uSD card.

    It just feels like solving the wrong problem. A bit similar to those people using a 2kB uC with 8 pins and then struggling to fit their software and I/O pins into that.

    1. There’s always doing it for the challenge, like the demoscene folks who compete to generate the coolest video demos using the least amount of code:
      https://en.m.wikipedia.org/wiki/Demoscene

      The kind of thing the sand table is doing could be code generated rather than predefined. Sort of a sand drawing demo where all the drawing is generated randomly with just knowledge of the size of the table.

    2. “It just feels like solving the wrong problem. ”

      Funny, I though it was solving a ‘making patterns in sand’ problem rather than a calculating curves accurately problem. Approximating a curves/circles seem perfectly reasonable for a first pass when accurate curves isn’t the main goal here.

    1. Exactly, when a single Arduino can use GRBL or similar and run a CNC machine or laser cutter or even a 3D printer then it seems very odd that getting an Arduino to control two stepper motors is apparently something to be impressed by.

    2. Also, “one arduino” is pretty unhelpful. Are we talking one Uno (R3 or R4?), Mega, Due, Leonardo, Nano (the old one), Nano ESP32, Nano RP2040, Nano 33BLE, one of the many different flavours of MKR, any of the whole host of others I can’t be bothered to remember or look up?
      It’s like saying all it took was one PC? Ok, so something with an Intel 8086 or an Intel Core i9-11900K?

      If this was an attempt at a clickbait title, it wasn’t a very good one…

  2. Instead of traditional remote control, how about an etch-a-sketch console? After a period of inactivity, it could drop back to a “demo” mode. The “vibrator clear” approach would be a useful addition, too.

  3. Very interesting project! justo for the fun of doing it. There might be as many ways to do it as readers of this blog! it could write the date/ weather forecast/some reminders during night or early morning, just to add some functionality ;)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.