Search models, users, collections, and posts

Dune Weaver - A 3D-printed Kinetic Sand Table

GIF

Print Profile(1)

All
X1 Carbon
H2S
A1
X1
H2D
H2D Pro
P2S
X1E
P1S
P1P
H2C
X2D
A2L

0.2mm layer, 2 walls, 15% infill
0.2mm layer, 2 walls, 15% infill
Designer
19.5 h
8 plates
4.9(38)

Open in Bambu Studio
Boost
2672
6983
368
513
4.1 k
541
Released 

Bill of Materials

List other parts
  • DLC32 + 2x TMC2209 motor drivers x 1: https://www.aliexpress.com/item/1005006042723755.html
  • 1mm EVA foam (optional) x 1: https://a.co/d/0Zw15aS
  • Steel ball (8-12 mm works best) x 1: https://a.co/d/4fQMlv6
  • 16x8mm magnet x 1:
  • Fine sand x 1: https://a.co/d/9txb4Er
  • LED strip at least 1.5m (optional) x 1:
  • 40cm diameter round tempered glass (optional) x 1: https://a.co/d/alpKMfa
  • M3x10mm screw x 8:
  • Raspberry Pi (optional) x 1:
  • Nema 17 Stepper Motor 42-23 3D Printer Motor DC 1A-3.4V x 2: https://a.co/d/229nVtK
  • 12V Power Supply x 1: https://a.co/d/5PtIopH

Description

I've recently launched the duneweaver.com website. Check out all of the Dune Weaver tables and add-ons there! (Image above is of the Dune Weaver Pro, not this one, Dune Weaver OG). 


We are starting a new Discord channel to help with troubleshooting and feedback. I will prioritize Discord over chat and comment. Please join us here: https://discord.gg/YZ8PTezVHt. If you have trouble with your build, please post in #qna-dune-weaver. 

My all new 10 inch tabletop design is now available here: https://makerworld.com/en/models/896314#profileId-854412 

If you don't want to glue the tabletop together (it can be a pain to do), I've made another design to use an IKEA tray for the tabletop! Check it out here: https://makerworld.com/en/models/865113#profileId-816175 

Update: 

  • 2025-03-07: The recommended hardware for this project has been changed from Arduino + CNC Shield to a single DLC32 board. If you're starting this project now, please order the DLC32 board instead. The assembly instructions have been updated. 
  • 2025-01-24:
    • Hardware update
      • Change rot gears to herringbone style => more stable
      • Change inout gears to helical => quieter.
    • Software update:
    • Added play pause button
    • Added schedule play functionality
    • Added progress bar
  • 2025-01-14: Huge UI update, thanks to Thokoop! 

  • 2025-01-13: Added playlist function and sipograph mode. Please update the software by running `git pull` and rebuild the docker image if you're using a RPI with `docker-compose up -d`.
  • 2024-12-08: Added more detailed instructions for RPI
  • 2024-12-05: Added instructions to add a jumper between EN/GND on the CNC Shield. If you run into issues, send me a message (pls be as detailed as you can, include pictures and what you tried), and I'll get back.
  • 2024-12-04: The right motor should be NEMA 17 42-23, NOT 42-34 like what I listed. Thanks Thokoop for letting me know.
  • 2024-12-04: I tested a pair of TMC2209 motor drivers, and the result was amazing! The motor noise is almost silent now, running at a lower speed and significantly quieter at high speed. It's not entirely a drop-in replacement, however, so I updated the assembly instructions for it. I also added a recommended power source in the BOM.

Warning:

  • Please be mindful that if you print a scaled version that I do not publish, screw holes may be too small, part tolerance may not work, the motors may not fit, and my code is not calibrated to the smaller size.
  • I tried to make it so that it's super easy for everyone to build this. If you can follow instructions, you can build this. However, keep in mind that this is probably more complicated than most 3D-printed projects out there. If you need help, please join our Discord channel (https://discord.gg/YZ8PTezVHt), use the qna channel and provide us with as much information as you can provide (image, video, what you tried, etc.). Me and the community will try our best to help.


I fell in love with the idea of a kinetic sand table a while back. It combines art, engineering, programming, and tinkering perfectly. Unfortunately, most of the open-source versions often require a lot of hardware. There really was not a 3D printing-friendly design out there, so I set out to do it myself and learn how to 3D model in the process.

But first, I must give credit where it is due. I did not come up with this design myself, but was greatly inspired by the work of Newsons Electronics, a fellow Canadian. I took this wood-cutting design and adapted it to be 3D printing friendly. However, I completely rewrote the Arduino code and created a back-end and front-end web interface to control it via a web interface when you connect it to a Raspberry Pi or a computer.

 

Introducing Dune Weaver, the most 3D-printing-friendly kinetic sand table on the internet. The table is 420mm in diameter and 136mm in height. The device is a motorized sand table that creates stunning, intricate patterns in sand using a steel ball guided by hidden magnets. Powered by an Arduino and a CNC shield, the table’s motors move the ball smoothly across a fine layer of sand, drawing mesmerizing designs. With the Arduino connected to a Raspberry Pi or a computer, you can control the table via a web interface, selecting patterns, uploading custom designs, or previewing the ball’s motion.

 

There are two motors; one controls the angular movement, and the other controls the radial movement of the ball. Note that with this design, when the angular axis moves, the radial axis also moves along with it mechanically. We have to address this problem in the software: offset the radial axis's movement by how much the angular axis moves.

 

If you opt not to use a Raspberry Pi or a computer, you are limited to a couple of patterns that can be fitted into the very limited memory of the Arduino. However, if you connect the Arduino to another device, we can now use the Serial connection to send instructions over to the Arduino to be executed, thus removing this limitation.

 

 

Both the base and the tabletop are 3D printed. Note that since we have to cut the tabletop into four pieces, there's a fair bit of glueing and sanding involved to make sure that both sides of the tabletop are smooth. If you have access to a wood workshop, I would recommend creating a wooden surface instead.

 

All in all, I spent about CAD$100-150 to create this table. Not bad, since the cheapest one that you can get out there is about $500 and is half the size of this. I was planning to fit all of the hardware in the base, but I ended putting everything in an IKEA cable management box. The table looks pretty neat on an IKEA KYRRE stool.

 

I really enjoyed working on this project and finally got to share it with the world! I spent about a week 3D designing the hardware and about a month on the code. I would love to see if you ended up making one. Please join our discord channel if you run into any issue or have a feedback https://discord.gg/YZ8PTezVHt 

 

Enjoy the Dune Weave!

Boost Me (for free)

If you like my work, a boost would be appreciated! Want to buy me a coffee ☕️? https://www.paypal.com/paypalme/tuanchris


Documentation (1)

Assembly Guide (1)
Dune Weaver - Assembly instructions-8.pdf

Comment & Rating (368)

(0/1000)

License

This user content is licensed under a Standard Digital File License.

You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.

Remixes (1)
(Created before license restrict)