github tuanchris/dune-weaver v4.1.0
🚀 Dune Weaver 4.1 — Gift It to Anyone

14 hours ago

Summary

image

This is a major release focused on making Dune Weaver truly standalone — no SSH, no laptop, no technical knowledge required after initial setup. Everything is managed from the web UI or your phone.

To update SSH to your Pi and run:

cd dune-weaver
git pull
sudo bash setup-pi.sh

Zero-SSH Experience

After this update, you never need to SSH into your Pi again (hopefully):

  • In-app software updates: Tap "Update" in Settings — Dune Weaver pulls the latest code, installs dependencies, and restarts itself. A waiting dialog with rotating messages keeps you company while it works (usually 1-2 minutes). The page reloads automatically when done.
  • WiFi management from the UI: Change networks, set up hotspot passwords, forget saved networks — all from a dedicated WiFi page.
  • FluidNC config editor: View and edit key motor settings (steps/mm, acceleration, homing) from the Setup page — no need to connect the DLC32 board to a computer for basic config changes.

Plug-and-Play WiFi

  • Autohotspot: No router? No problem. On boot the Pi scans for known networks; if none are found it creates a "Dune Weaver" hotspot with captive portal. Connect from your phone and configure WiFi right in the browser.
  • Hotspot only mode: Take your DW out in the wild, plug in a power bank, and a Wifi access point will be created. There's an option to set up a password for the hotspot.
  • Auto-recovery: If WiFi drops, the Pi falls back to hotspot mode within 60 seconds. When a known network reappears, it reconnects automatically.
  • CLI: dw wifi {status, scan, connect, hotspot, setup} for advanced users who prefer the terminal.

Setup Page & Calibration Wizard

  • Calibration wizard: A step-by-step wizard walks you through testing and fixing axis directions — home, test Y, test X, auto-fix inverted axes, and verify.
  • FluidNC config: Edit axis settings (steps/mm, max rate, acceleration, homing parameters) directly from the web UI.
  • Gear ratio override: Set a custom gear ratio without reflashing firmware.
  • Firmware version detection: Warns you if your FluidNC/GRBL firmware is outdated.
  • Home-on-connect toggle: Choose whether the table homes automatically on startup or waits for manual trigger.

Security Modes

Protect your table when others have network access:

  • Full Lockdown: Password-protect the entire UI. Nobody touches anything without the code.
  • Play Only: Leave playback open but lock Settings, uploads, playlist editing, and Table Control behind a password. Perfect for shared spaces.

Home Assistant Integration

  • Screen power & brightness: Touch screen on/off switch and brightness slider auto-discovered in HA via MQTT. Control the LCD from automations (e.g., turn screen off at night, screen auto turns on when someone approaches).
  • LED control mode: Manual/HA vs Automated toggle — lets HA drive LED effects without Dune Weaver overriding them.
  • Skip button: Skip-to-next-pattern exposed as an HA button entity.

UI Improvements

  • Browse page: Pattern cards show play count and estimated run time. Allows for sort by number of times played.
  • Clear pattern options: Renamed from "Pre-Execution Action" with clear descriptions for each mode.
  • LCD brightness slider: Auto-detects backlight on the Touch screen, persists across reboots.

Bug Fixes

  • Still Sands LED: Fixed LEDs not turning back on when quiet period ends; fixed pause loops and flicker.
  • Pattern theta normalization: Sisyphus patterns with large theta offsets no longer spin unnecessarily at start.
  • dw start URL: Now opens port 80 instead of 8080.

Technical / Infrastructure

  • Native deployment: Migrated from Docker to systemd + nginx. Removed Dockerfile, docker-compose, and Docker CI. Added dune-weaver.service, nginx/dune-weaver.conf.
  • Pre-built frontend: static/dist/ committed so Pi Zero 2W needs no Node.js.
  • Settings / state split: state.json split into settings.json (user config) + state.json (runtime). Auto-migration from old format.
  • Screen controller: modules/screen/screen_controller.py — sysfs backlight + fb0/blank control. No-ops gracefully on dev machines.
  • Self-hosted fonts: Bundled for full offline / hotspot rendering.
  • UART setup: Interactive configuration step in setup-pi.sh.

Don't miss a new dune-weaver release

NewReleases is sending notifications on new releases.