• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 1
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 2
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 3
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 4
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 5
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 6
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 7
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 8
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 9
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 10
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 11
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 12
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 13
Mini Dune Weaver - Not your typical marble run 3D Printer File Image 14
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 1
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 2
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 3
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 4
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 5
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 6
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 7
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 8
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 9
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 10
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 11
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 12
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 13
Mini Dune Weaver - Not your typical marble run 3D Printer File Thumbnail 14

Mini Dune Weaver - Not your typical marble run

Tuan Nguyen avatarTuan Nguyen

December 20, 2024

makerworld-icon
DescriptionCommentsTags

Description

I've recently launched the duneweaver.com website. Check out all of the Dune Weaver tables and add-ons there!



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. Please use the #qna-mini-dune-weaver channel if you want help with your build. 


UPDATE: 

  • 2025-01-24: 
    • Hardware update
      • Improve base screw holes stability
      • Change rot gears to herringbone style => more stable
      • Change inout gears to helical => quieter. 
      • Invert both inout gears
    • Software update:
      • BREAKING CHANGE: Due to the inverted gear, you MUST update the latest firmware. Future firmware will only work with the new gear design.
      • Fixed issue that requires homing before every pattern
      • 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-30: I added fillet to the table top to make it sturdier. 
  • 2024-12-26: I redesigned some parts to reduce sway motions, leading to smoother ball motion. Please reprint the small spur gears and the center motor mount (Only 8.46 g of filament). 
  • 2024-12-23: I had the wiring mixed up between the two motors, and I've updated the assembly instructions. The correct booting sequence is the ball trying to go all the way in. When you start a pattern, the ball will run the homing sequence first (moving all the way in), and then start the pattern. Please pull the latest code if you cloned yours before this date. 
  • 2024-12-21: I changed the outer gear from 15 teeth to 16 teeth to make the software deal with the gear ratio better (6.25, instead of 6.66666), which can lead to accumulating drift over time. Please reprint it because I will change the ratio in the software as well. I also increased the radial arm width by 0.2mm to reduce sideway motions. 
     

A typical marble run is powered by gravity. This one? Electricity! I recently created the full-sized Dune Weaver (42cm diameter), and I had so much fun that I set out to create a mini version from the ground up. This thing costs about $27 to make for me, inclusive of filament. The cheapest one out there is the Oasis Mini, which is 1 inch smaller and about $150! What do you get with the Mini Dune Weaver? 
 

  • A beautiful machine that combines art, engineering, and programming. It's a fun project to build this holiday and show off to your loved ones.
  • Minimal hardware requirement! You only need a ball, a magnet, a couple of stepper motors, and an ESP32 board. Most models out there require you to buy much more hardware than this.
  • Frontend, backend, and controller code that I spent a month developing! Control your table from any web browser!
  • A 25.4 x 79mm awesome conversational piece and a ton of fun! (Only 376g of filament!!!)
  • Compatible with the A1 Mini!

Warnings: 

  • 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.
  • Due to the cost of this project, there's quite a bit of backlash with the motors, leading to some minor imperfections in the patterns here and there. I will try and see what I can do from the software side, but if you want a better dune weaver, check out my bigger version here: https://makerworld.com/en/models/841332#profileId-787553 

 

A little bit more background on how the machine works. There are two bases: the lower base houses all of the electronic components, and the upper base, sand and the marble. We have two stepper motors, one controlling the radical axis (in and out movement) and the other controlling the angular axis (rotational movement). The two motors are connected to two motor drivers that control the step and direction. The controllers are connected to an ESP32 board that is the brain of the table. The whole table is powered by a single USB cable, attached to the ESP32 board.

 

A polar machine like this one uses a theta rho coordinate system instead of an x y coordinate system like a typical CNC machine. A theta number tells the table what angle (2 pi for one revolution) the angular axis should move, while a rho number tells the radical axis how far it should move (1 being the perimeter and 0 being the center).

 

The machine does not have a limit switch like a conventional CNC machine. When it is powered on, the table will do a crash-homing action, meaning the radical axis will try to move in the arm's physical distance, guaranteeing that the ball is in the home position (the table center). The software then keeps track of all the coordinates executed to know where the ball is at all times.

 

Due to the hardware design choice (to keep the design a circular table and minimize non-3D printer materials), the angular axis does not move independently. That means physically, whenever the angular axis moves one revolution, the radical axis will also move some distance either in or out (depending on whether the angular axis rotates clockwise or counterclockwise). We deal with this in the software by keeping track of how many revolutions the angular axis will be moved and offset the radical axis accordingly.

The code base of this project contains C++ code to control the motor, backend Python code to send the pattern from a computer or a Raspberry Pi, and a front-end web interface to control the device. I used my existing codebase for the Dune Weaver, so I didn't have to rewrite a lot of stuff. However, in the future, I plan to improve the code by leveraging the ESP32's more capable hardware (compared to the Arduino UNO) to eliminate the need for a Raspberry Pi.

 

I spent about a week working on this project and it was a ton of fun for me. I hope you enjoy building it, too.

 

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

License:

Standard Digital File License

Related Models

Digital Sundial preview image

Digital Sundial

Mojoptix profile image

Mojoptix

67,477

Sand Dune Plant pot and Planter - Vase mode design preview image

Sand Dune Plant pot and Planter - Vase mode design

SASSy Design profile image

SASSy Design

8,992

Beach Sand Sifter Sieves preview image

Beach Sand Sifter Sieves

Levi Moore profile image

Levi Moore

1,041

Venus Box preview image

Venus Box

Prot0typ1cal profile image

Prot0typ1cal

48,790

Mini Sanding Tools preview image

Mini Sanding Tools

Clockspring profile image

Clockspring

4,280

Montessori Sand Tray preview image

Montessori Sand Tray

Yatuin profile image

Yatuin

928

3D Printable Jet Engine preview image

3D Printable Jet Engine

Catiav5ftw profile image

Catiav5ftw

39,809

Handheld Tension Sander preview image

Handheld Tension Sander

Magmabow profile image

Magmabow

2,775