Skip to content

The WebUI from FlashForgeUI, designed for devices with limited resources

Notifications You must be signed in to change notification settings

Parallel-7/FlashForgeWebUI

Repository files navigation

FlashForge WebUI

Standalone WebUI for FlashForge 3D Printers

Overview

FlashForge WebUI is a lightweight, standalone web interface for monitoring and controlling FlashForge 3D printers. Designed as a cross-platform alternative to desktop applications, it runs efficiently on low-spec hardware like the Raspberry Pi, making it perfect for dedicated print servers. It supports simultaneous connections to multiple printers, real-time camera streaming, and integrates seamlessly with Spoolman for filament management.

Core Features

Feature Description
Multi-Printer Support Connect to and manage multiple printers simultaneously with isolated contexts
Live Monitoring Real-time tracking of temperatures, print progress, and printer status
Camera Streaming Low-latency video monitoring with RTSP and MJPEG support
Printer Control Full control over print jobs (pause, resume, stop) and printer settings
Spoolman Integration Native integration for filament inventory and usage tracking
Responsive Dashboard Customizable grid-based UI that works on desktop, tablet, and mobile
Cross-Platform Native binaries for Windows, macOS, and Linux (x64, ARM64, ARMv7)

Supported Printers

FlashForge WebUI supports a wide range of FlashForge printers through its adaptable backend architecture.

Series Models API Type
Adventurer 5M Adventurer 5M, 5M Pro New (HTTP API)
AD5X AD5X New (HTTP API)
Legacy Older FlashForge Models Legacy (FlashForgeClient)

Installation

Prerequisites

Requirement Details
Node.js Version 20.0.0 or higher (for source installation)
Network Connection to your printer(s)

Pre-built Binaries

Download the appropriate binary for your platform from the Releases page:

Platform Binary Notes
Windows x64 flashforge-webui-win-x64.exe Most Windows PCs
macOS x64 flashforge-webui-macos-x64 Intel Macs
macOS ARM flashforge-webui-macos-arm64 Apple Silicon (M1/M2/M3)
Linux x64 flashforge-webui-linux-x64 Most Linux PCs
Linux ARM64 flashforge-webui-linux-arm64 Raspberry Pi 4/5 (64-bit OS)
Linux ARMv7 flashforge-webui-linux-armv7 Raspberry Pi 3/4 (32-bit OS)

Raspberry Pi Users: Use flashforge-webui-linux-arm64 for 64-bit Raspberry Pi OS, or flashforge-webui-linux-armv7 for 32-bit.

# Make the binary executable (Linux/macOS)
chmod +x flashforge-webui-linux-arm64

# Run with auto-connect to last used printer
./flashforge-webui-linux-arm64 --last-used

# Run without auto-connect
./flashforge-webui-linux-arm64 --no-printers

Running from Source

# Clone the repository
git clone https://github.com/Parallel-7/FlashForgeWebUI.git
cd FlashForgeWebUI

# Install dependencies
npm install

# Build the application (required before first run)
npm run build

# Start the server
npm start

# Or start with auto-connect to last used printer
npm start -- --last-used

Development Mode:

# Build and watch for changes with hot reload
npm run dev

Usage

After starting the server, open your browser and navigate to:

http://localhost:3000

Or if accessing from another device on your network:

http://<server-ip>:3000

Default Login: The default password is changeme. You should change this in data/config.json or via the --webui-password flag.

Command Line Options

Option Description
--last-used Connect to the last used printer on startup
--all-saved-printers Connect to all saved printers on startup
--printers="IP:TYPE:CODE,..." Connect to specific printers (TYPE: "new" or "legacy")
--no-printers Start WebUI only, without connecting to any printer
--webui-port=PORT Override the WebUI port (default: 3000)
--webui-password=PASS Override the WebUI password

Configuration

The application automatically creates a configuration file at data/config.json on first run.

Setting Default Description
WebUIEnabled true Enable/disable the web interface
WebUIPort 3000 Port for the web server
WebUIPassword changeme Login password (change this!)
WebUIPasswordRequired true Require password to access
SpoolmanEnabled false Enable Spoolman integration
SpoolmanServerUrl "" Your Spoolman server URL (e.g., http://192.168.1.100:7912)
CameraProxyPort 8181 Starting port for camera proxies

Building from Source

# Build for specific platform
npm run build:linux        # Linux x64
npm run build:linux-arm    # Linux ARM64 (Raspberry Pi 4/5)
npm run build:linux-armv7  # Linux ARMv7 (Raspberry Pi 3)
npm run build:win          # Windows x64
npm run build:mac          # macOS x64
npm run build:mac-arm      # macOS ARM (Apple Silicon)

Troubleshooting

"Cannot GET /" or blank page when accessing WebUI:

  • If running from source: Make sure you ran npm run build before npm start
  • If using a pre-1.0.2 binary: Update to version 1.0.2 or later (fixes static file serving bug)

"Permission denied" when running binary:

chmod +x flashforge-webui-linux-*

Port already in use:

  • Change the port in data/config.json or use --webui-port=3001

Cannot connect to printer:

  • Ensure your printer is on the same network as the device running WebUI
  • Check that the printer's IP address is correct
  • For legacy printers, ensure TCP port 8899 is accessible

Selecting the correct binary for your platform:

  • Windows: flashforge-webui-win-x64.exe
  • macOS Intel: flashforge-webui-macos-x64
  • macOS Apple Silicon: flashforge-webui-macos-arm64
  • Linux x64: flashforge-webui-linux-x64
  • Raspberry Pi (64-bit OS): flashforge-webui-linux-arm64
  • Raspberry Pi (32-bit OS): flashforge-webui-linux-armv7
  • Check your architecture with uname -m (x86_64 = x64, aarch64 = ARM64, armv7l = ARMv7)

License

MIT License

Acknowledgments

Project Role
ff-5mp-api-ts FlashForge API Client Library
slicer-meta Printer Metadata & Model Utilities
FlashForgeUI-Electron Original Desktop Application
Spoolman Filament Management

About

The WebUI from FlashForgeUI, designed for devices with limited resources

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •