Web Enabled Sand Table

Hello Folks,
Hope you are all keeping well. We made a sand table in 2018 with major help from you lads which I appreciate.

I have another group of students working on REV 2 of the design which I will share when its done. Its going to be much easier to slide out the mechanism to work on if needed but the main thing I would like is to have the table to be web enabled. For example -

  1. Someone would be able to load up a website from a QR code and pick which pattern the machine completed
  2. It would be great if we could have a little app with a joystick on their phone to control the ball in real-time?
  3. We could access sand table controls and any error logging ?

At the moment - we are playing around with an ESP32 with Adadruit I/O connected to GRBL board driving the steppers. Sorry for the ramble - do you folks know of anyone whos done good work in this area that we could piggy back on. Any advice or suggestions are definitely appreciated.
Thanks again - Hope Jeff & co are keeping well.


I used one of the Bart Dring 2209 laser/pen controllers on one, which has a web interface to load and run gcode files.

I have another ZenXY (the beta test build for the V2) which runs a RAMPS stack and uses a V1pi to run Octoprint to manage its gcode library.

The V2 zen table is far superior, IMO.


Hello! That is a great table. I am sure I saw this when it came out. Very well built and bright build.

Dan has shared some good advice, let me add some to it:

  1. Grbl ESP32 by Bart Dring has been renamed FluidNC. There was just another post today asking about configuration. Maybe you two could share some of the debugging? FluidNC will let you upload gcode files (if it has an SD card), do manual control (jog left/right/up/down), play, pause home. It isn’t fancy (there is no preview, and there are unremovable Z axis buttons). But it is a great start.
  2. If you’re running a pi, v1pi would work, but I would recommend trying the octopi image first. Octoprint is very reliable. It also won’t have image previews and it has a lot of 3D printer buttons on it. But it will also allow you to upload files, you can extend it, or delete stuff if you write plugins for it. It can connect to grbl machines, so the fluidNC board would still work for this.
  3. There is a project by @texx called “sandypi” that runs on a pi similar to octoprint. It is much less mature (a few dozen users, at most). But it is shooting to be great for sand tables. There are image previews and some slick features. IIRC, it can also connect to grbl machines. So the fluidNC board is again a good choice.

If you have any students that are interested in writing a web interface for the machine, then it is worth looking into the api for octoprint and fluidNC. It may be that some student with JavaScript knowledge can make a nice static page that connects to one of those as the back end, and just provides a neat front end for sand machines. I can dream about that, anyway :slight_smile:.


Thanks Jeff and Dan. Hope you lads are keeping well. You’ve given us a bit to research and check out. None of us in the group would be a strong programmer to say the least. We’ll certainly post whatever we create. I was going to ask - in the last design our board holding the sand would flex and bow. We are currently testing using a 1/4 sheet of glass - Is there a reason that no one seems to use glass as a base?

1 Like

Mine is using glass. It isn’t huge. But when I made a prototype with hardboard, the hardboard sank.

I think glass is a winner. I don’t know how big or thick it can go.

I am using 1/8" hardboard, and it doesnt sag, but it’s also not large, 350mm by 570mm.

In my case it’s basically that I built it from relatively inexpensive stuff. An Ikea LACK coffee table with a UTRUSTA glass shelf serves as the basis for the machine.

I would be ok with using glass.

One thing I would say, 1/4" is pretty thick. The magnetic field strength is inverse square, so the thicker the material of your table bottom, the weaker the force holding the steel ball in place. 1/4" gap is a quarter of the strength of a 1/8" gap. There is also a bit of an air gap between the magnet and the botton, and some thickness for the table media (sand or baking soda). The closer you can get the magnet to the ball, the more.precisely and faster ypu can move it.

Can I ask you lads one more question - my students are having a hard time with the optical beam splitter having false positives when it is homing. Would a contact limit switch have better luck? FYI - we are using a GRBL board.
Thanks for any help. We will make a video to show our new design ASAP.

1 Like

The optical sensors are usually pretty good, but you should try to keep them out of stray light.

Mechanical stops work ok, but since the machine goes through the home position often, and personally, I found the clicking noisr distracting.

1 Like