|
|
пре 5 дана | |
|---|---|---|
| .github | пре 4 месеци | |
| dune-weaver-touch | пре 5 дана | |
| firmware | пре 4 месеци | |
| frontend | пре 6 дана | |
| modules | пре 6 дана | |
| nginx | пре 4 месеци | |
| patterns | пре 2 недеља | |
| scripts | пре 2 недеља | |
| static | пре 6 дана | |
| steps_calibration | пре 1 година | |
| templates | пре 5 месеци | |
| tests | пре 6 дана | |
| wifi | пре 4 месеци | |
| .dockerignore | пре 5 месеци | |
| .gitattributes | пре 5 месеци | |
| .gitignore | пре 6 дана | |
| CONTRIBUTING.md | пре 2 месеци | |
| LICENSE | пре 2 месеци | |
| LICENSE-GPL-3.0 | пре 2 месеци | |
| PATTERN_CREDITS.md | пре 1 година | |
| README.md | пре 5 дана | |
| VERSION | пре 6 дана | |
| __init__.py | пре 1 година | |
| dune-weaver.service | пре 4 месеци | |
| dw | пре 4 месеци | |
| main.py | пре 6 дана | |
| package-lock.json | пре 5 месеци | |
| package.json | пре 2 месеци | |
| pyproject.toml | пре 2 месеци | |
| requirements-dev.txt | пре 5 месеци | |
| requirements-nonrpi.txt | пре 5 месеци | |
| requirements.txt | пре 1 недеља | |
| setup-pi.sh | пре 4 месеци |
An open-source kinetic sand art table that creates mesmerizing patterns using a ball controlled by precision motors.
The system is split across two devices that talk over your network — no USB cable:
┌─────────────────┐ Wi-Fi (HTTP) ┌─────────────────┐
│ Raspberry Pi │ ◄──────────────────► │ DLC32 / ESP32 │
│ (Dune Weaver │ │ (Dune Weaver │
│ Backend) │ │ firmware) │
└─────────────────┘ └─────────────────┘
│ │
│ Wi-Fi │ Motor signals
▼ ▼
Web Browser Stepper Motors
(Control UI) (Theta & Rho)
The DLC32/ESP32 runs the Dune Weaver firmware (a FluidNC fork) and executes everything on-board — theta-rho kinematics, pattern playback from its SD card, playlists, clears, quiet hours, and homing — so the table keeps drawing even if the Pi is off. The Raspberry Pi backend layers on everything a headless controller can't do: the web UI, pattern management with previews, play history, MQTT/Home Assistant, WLED, multi-table discovery, and one-click software and firmware updates. The backend finds boards automatically via mDNS and drives them over plain HTTP.
Dune Weaver comes in three premium models:
| DW Pro | DW Mini Pro | DW Gold | |
|---|---|---|---|
| Size | 75 cm (29.5") | 25 cm (10") | 45 cm (17") |
| Enclosure | IKEA VITTSJÖ table | IKEA BLANDA bowl | IKEA TORSJÖ side table |
| Motors | 2 × NEMA 17 | 2 × NEMA 17 | 2 × NEMA 17 |
| Controller | DLC32 | DLC32 | DLC32 |
| Best for | Living rooms | Desktops | Side-table accent piece |
All models run the same software with the Dune Weaver firmware — only the mechanical parts differ.
Free 3D-printable models on MakerWorld: DW OG · DW Mini
Build guides, BOMs, and wiring diagrams are in the Dune Weaver Docs.
The fastest way to get running on a Raspberry Pi:
curl -fsSL https://raw.githubusercontent.com/tuanchris/dune-weaver/main/setup-pi.sh -o setup-pi.sh
bash setup-pi.sh
This installs Docker, clones the repo, and starts the application. Once it finishes, open http://<hostname>.local in your browser.
For full deployment options (Docker, manual install, development setup, Windows, and more), see the Deploying Backend guide.
The sand table uses polar coordinates instead of the typical X-Y grid:
Patterns are stored as .thr text files — one coordinate pair per line:
# A simple four-point star
0.000 0.5
1.571 0.7
3.142 0.5
4.712 0.7
The same pattern file works on any table size thanks to the normalized coordinate system. You can create patterns by hand, generate them with code, or browse the built-in library.
Full setup instructions, hardware assembly, firmware flashing, and advanced configuration:
We welcome contributions! See the Contributing Guide for how to get started.
Dune Weaver is available under a dual license:
For open-source projects and personal use, Dune Weaver is licensed under the GNU General Public License v3.0.
You are free to use, modify, and distribute this software under GPL-3.0 terms, provided that derivative works are also licensed under GPL-3.0 and source code is made available.
For commercial use, proprietary applications, OEM/embedded deployments, or if you cannot comply with GPL-3.0 requirements, a commercial license is available.
Contact: hello@duneweaver.com
See the LICENSE file for full details.
Happy sand drawing!