A mobile control app for the Snapmaker U1 running PAXX firmware, built with React Native (Expo). Fluidd-style dark UI, talks to the printer through Moonraker over LAN or Tailscale.
Android: grab the APK from the latest release and sideload it.
From source:
git clone https://github.com/FatBoy721/Helix.git
cd Helix
npm install
npx expo startScan the QR code with Expo Go, or npx expo run:android for a native build.
- Dashboard — live progress/ETA/layer, bed + T0–T3 temps, quick actions, one-tap emergency stop (fires over WebSocket and REST to every configured URL), Home All / Dock Toolhead, fan + purifier + bed controls, camera with LED toggle, fullscreen landscape view, and print-timing stats overlay. Every section is toggleable in Settings.
- Multi-printer — save several printers, switch with a tap, live status strip when you have more than one.
- Bed Mesh — Fluidd-style interactive 3D surface (drag to orbit, pinch to zoom), Catmull-Rom smoothed, real bed coordinates, saved profile preview + load, no CDN required (works fully offline).
- Macros — grouped by category so 120 PAXX macros don't hit you as a wall. Debounced buttons, ACE macros ask before running.
- Console — live G-code stream + input.
- Files — G-code list with embedded slicer thumbnails, tap to print.
- Slice — on-device STL/3MF slicing for the U1 (Orca profiles, prepare screen, G-code preview), MakerWorld share-to-slice, upload to Moonraker, and start print from the app.
- History — Fluidd-style printer stats (total jobs, print time, filament) plus per-job list with status icons and thumbnails.
- Timelapse — browse, play, and download timelapse videos in-app.
- multiACE — lane status with RFID info, dryer controls, load/unload,
cross-ACE switching. Shows an honest empty state when no ACE hardware is
connected. Uses the real PAXX multiACE commands (
ACE_LOAD_HEAD,A_DRY,ACE_SWITCH, …). - Remote screen — view the printer's touchscreen (PAXX
remote_screenfeature, see below). - Notifications — Off, Local only, and ntfy modes. ntfy defaults to
https://ntfy.sh, supports a generated topic, and can still point at a self-hosted server. - Connectivity — LAN + Tailscale URLs with fast automatic failover (6s connect timeout, alternates per attempt). Camera/screen/timelapse URLs are host-relative so they follow whichever connection is active.
- Theming + i18n — accent color picker, English/Español/Deutsch/Français/中文.
-
Tailscale: PAXX has Tailscale built in. Set
vpn: tailscaleinextended/extended2.cfg(or viahttp://<printer>/firmware-config/), SSH in, runtailscale up, then puthttp://<tailscale-ip>:7125in Helix settings. -
Remote screen: set
remote_screen: trueinextended2.cfgand reboot — a "gui" feed appears in the app automatically. -
USB camera: enable in
extended/moonraker/03_usb_camera.cfg— extra cameras registered in Moonraker show up in the app with zero config. -
Server-side ntfy notifications (fire even with the app closed): drop a Moonraker
[notifier]config inextended/moonraker/, e.g.:[notifier print_done] url: ntfys://ntfy.sh/your-topic-here events: complete title: Print complete body: {event_args[1].filename} finished
npm run typecheck— TypeScript checknpx expo export --platform android— verify the bundle compiles- Architecture notes live in the source:
hooks/useMoonraker.tsxis the WebSocket JSON-RPC client (auto-reconnect, URL failover, status merge),hooks/useACE.tswraps the multiACE object,services/holds REST and notification helpers.
Issues and PRs welcome. Translation fixes especially — the ES/DE/FR/ZH strings
in services/i18n.ts are best-effort.
Helix is an independent project by [FatBoy721](https:// github.com/FatBoy721).
On-device slicing incorporates work from [u1-slicer-for-android](https://github.com/taylormadearmy/ u1-slicer-for-android) (Taylor Madearmy) and the OrcaSlicer / PrusaSlicer engine (AGPL-3.0).
Printer-side integration redistributes components from the Bespok3d daemon and Bespok3d adapters projects (AGPL-3.0-or-later).
Helix also distributes an optional Bespok3d-packaged touchscreen plugin based on HelixScreen, developed by 356C LLC and contributors (GPL-3.0-or-later).
Helix is not affiliated with or endorsed by Bespok3d, 356C LLC, or the HelixScreen contributors.
See THIRD_PARTY_NOTICES.md and ATTRIBUTION.md for complete attribution, licensing, source, and distribution details.
Helix is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-or-later).
Pre-1.1.0 releases were MIT-only. From v1.1.0 onward, builds that bundle the native slicer are AGPL because of the integrated engine and ported components.