My sand tables for the Rome MakerFaire

Hi everyone, I would like to share my experience at last week’s MakerFaire Europe, held in Rome, where I presented two sand tables, one round and one square. The round table uses a polar mechanism, while the square one uses a corexy mechanism.

The two tables from a technical point of view are similar to others that are presented in this forum, perhaps the most important difference is in the electronic part.

Now it is complicated and expensive to buy a Raspeberry so I used two esp32, cooperating in the manegement of motors, playlist and strip led, controlled by a simple web app.

The square table

Instead of making the table, I bought it used on ebay. It is therefore a commercial coffee table that I had to adapt to sand table. The size of the table is 60x60cm, and the useful space for the sand is 40x40cm. The mechanicals is based on a simple corexy mechanism, derived from this one (, that I modified for having 4 wheels on the movement along the y-axis. The mechanics are based on 3d printed components and vslot, and the movement is on wheels. The mechanics have been quite reliable, although I must say, noisy. Despite the use of TMC2209 drivers, the movement of the Nema 17 motors can be audible. This is probably due to the fact that the wooden table like a musical instrument, amplifies the audio frequencies. Despite my efforts I could not get it very quiet.

As a shape generator I used the fantastic sandify, which directly outputs the gcode.

The coffee table has a classic style and many people during the maker faire liked it. Aesthetically, I don’t like it very much and it doesn’t fit with the interior of my house, which is modern, and I still haven’t decided whether I will take it apart or give it as a gift to someone!

The round table

The table is a pot for large plants. It is plastic, well finished and can be adapted to be a sand table. It has the advantage of being very cheap and pre-made. The movement of the table is polar. I used a lazy susan bearing for rotation and an aluminum vslot profile for the radius. The other parts are 3d printed.

It has a radius of 43cm and the usable space is 33cm. The mechanics are very quiet and have been reliable. The two tables ran for 3 days from 9am to 7pm without any problem during the Makerfair. The drivers again are TMC22209 and the motors are nema 17. From Sandify I got the motion in rho and theta and with some code in Processing I translated them into Gcode instructions for the machine. The glass to put on top of the table unfortunately broke some time ago and I have not purchased the new one yet.

The electronic board

I think the only real change from the beautiful tables seen in this forum is the electronic board.

Not the arduino-raspberry couple is used but two esp32. One of the two esp32 handles the motors. It is based on Bart Dring’s excellent grbl-espe32 / FluidNc firmware. Although the GRBL firmware manages the SD as well and has a webserver inside it, it does not allow to menage a playlist. So it doesn’t manage a continuous sequence of drawings on the table. Also there is no possibility to manage the LED strips. So I thought of adding an additional Esp32 that has the task of reading the SD card, sending the gcode lines to the other Esp32 via serial, and managing the RGB LEDs. The board uses for some functions, other boards already available on the market. E.g., the sd card and the dc-dc 12V->5V voltage converter. I tried to minimize soldering, and used some 1206 smd components that can be soldered easily even with a standard soldering iron. Three transistors are required to handle RGB LEDs, but it is possible, by removing the transistors and modifying a resistor, to handle addressable strip LEDs as well. However, I have not done a test. The esp32 also contains a simple webserver, where you can see what files are inside the sd card, add and remove drawings, and start and stop the table. I still need to complete the web part with LEDs color management. Now it is a simple cycle between random colors. The board is powered by 12V and requires a 5A power supply. Less current is needed but it is always better to be generous with the current supported so there is no risk. I hope it will be useful to someone like me who does not want to spend a lot of money on a raspberry in this period of shortage.

Here the link to the board documentation:

The tables and the MakerFaire

People were very interested in the tables, so many people asked me if they could be bought. But I am just a maker and I don’t sell tables. Here is an example of all the people crowding in front of our booth. They really like sand tables and sandify is wonderful software for creating beautiful patterns. A winning combination!


I really like that double esp32 board. I am fairly sure you could do almost everything in once, but it makes things at least 2x easier to make them separate. It is nice to see it decoupled like that.

I’m also super excited to see you sharing the fun at a makerfaire. I loved going to the one in Denver. I think I have to build a desktop sand table to take to shows like this if I ever get another chance at one.

Are you planning on making the parts of your polar design available? Are you using a slip ring to get the rho stepper motor wires? Do you have endstops?

What about the esp32 controller? I would think that kind of thing would be very reusable.

the polar design is available here:
I used the slip ring, with 6 cable: 4 for the nema17 and 2 for the endstop. I use only one endstop in the rail.
The esp32 works very well. I already used it in the past for robot and plotter boards. The documentation is available in the easyeda site. here:


Thanks for the tinkercad link.

I may not be clicking in the right place, but I was hoping to look at the source code for the second esp32.

Here there is the code for the second Esp32: link

1 Like