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.
| 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) |
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) |
| Requirement | Details |
|---|---|
| Node.js | Version 20.0.0 or higher (for source installation) |
| Network | Connection to your printer(s) |
Running from Source
# Clone the repository
git clone https://github.com/Parallel-7/flashforge-webui.git
cd flashforge-webui
# Install dependencies
npm install
# Build the application
npm run build
# Start the server
npm startThe application automatically creates a configuration file at data/config.json on first run. You can modify this file to customize your experience.
{
"WebUIEnabled": true,
"WebUIPort": 3000,
"WebUIPassword": "changeme",
"WebUIPasswordRequired": true,
"SpoolmanEnabled": false,
"SpoolmanServerUrl": "http://your-spoolman-instance:7912",
"CameraProxyPort": 8181
}# Start development server with hot-reload
npm run dev
# Build for specific platform
npm run build:linux
npm run build:win
npm run build:macMIT License
| Project | Role |
|---|---|
| ff-5mp-api-ts | FlashForge API Client Library |
| slicer-meta | Printer Metadata & Model Utilities |
| FlashForgeUI-Electron | Original Desktop Application |
| Spoolman | Filament Management |