https://github.com/krjordan/PulsePrint-Desktop
Cross-platform desktop app for monitoring and controlling Bambu Lab 3D printers via MQTT. Real-time status, multi-printer support, and intuitive dashboard built with Tauri + React.
https://github.com/krjordan/PulsePrint-Desktop
3d-printing bambu-lab cross-platform desktop-app mqtt open-source printer-monitoring react rust tauri typescript
Last synced: 5 months ago
JSON representation
Cross-platform desktop app for monitoring and controlling Bambu Lab 3D printers via MQTT. Real-time status, multi-printer support, and intuitive dashboard built with Tauri + React.
- Host: GitHub
- URL: https://github.com/krjordan/PulsePrint-Desktop
- Owner: voodu00
- License: mit
- Created: 2025-07-03T17:53:06.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-30T09:33:57.000Z (10 months ago)
- Last Synced: 2025-07-30T11:38:37.957Z (10 months ago)
- Topics: 3d-printing, bambu-lab, cross-platform, desktop-app, mqtt, open-source, printer-monitoring, react, rust, tauri, typescript
- Language: TypeScript
- Homepage: https://github.com/voodu00/pulseprint-desktop-app#readme
- Size: 2.25 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
# PulsePrint Desktop
[](LICENSE)
[](CHANGELOG.md)
[](https://tauri.app/)
A cross-platform desktop application for monitoring and controlling Bambu Lab 3D printers. Built with Tauri, Rust, and React for performance, security, and native desktop integration.
> ๐ **Alpha Release**: PulsePrint Desktop is in active development. Core features are stable and ready for community testing. See [CHANGELOG.md](CHANGELOG.md) for verified features, [FEATURES.md](FEATURES.md) for current implementation status, and [ROADMAP.md](ROADMAP.md) for future development plans.
## โจ Key Features
### ๐ฅ๏ธ Multi-Printer Dashboard
- **Real-time MQTT Monitoring** - Live temperature, progress, and status updates via secure MQTT over TLS
- **Dual View Support** - Switch between card view and table view with persistent preferences
- **Multi-printer Support** - Connect and monitor 1-5+ printers simultaneously
- **Smart Status Detection** - Intelligent status recognition (idle, printing, paused, error, offline)
### ๐๏ธ Printer Control & Management
- **Remote Control** - Pause, resume, and stop print jobs remotely
- **Printer Configuration** - Add printers manually or import from JSON, CSV, YAML, TXT files
- **Temperature Monitoring** - Real-time hotend, bed, and chamber temperature displays
- **Progress Tracking** - Detailed layer information, completion percentage, and time remaining
### ๐จ User Experience
- **Dark/Light Mode** - Theme switching with system preference support
- **Responsive Design** - Optimized layouts for various screen sizes and printer counts
- **Real-time Updates** - Live visual indicators with color-coded status and flash animations
- **Mock Service Mode** - Development and testing mode with simulated printer data
### ๐พ Data & Configuration
- **SQLite Database** - Persistent storage for all settings and printer configurations
- **Cross-platform Storage** - Platform-specific app data directories with automatic migrations
- **Settings Persistence** - User preferences maintained across application sessions
- **Import/Export Support** - Backup and share printer configurations in multiple formats
## ๐ Installation
### Download for Your Platform
**Alpha releases are available on GitHub:**
[](https://github.com/voodu00/pulseprint-desktop-app/releases)
- **Windows**: Download the `.msi` installer
- **macOS**: Download the `.dmg` file
- **Linux**: Download the `.AppImage` file
### Quick Setup
1. **Download** the installer for your platform
2. **Install** the application (double-click installer)
3. **Launch** PulsePrint Desktop
4. **Add your printer** in Settings with:
- Printer name and IP address
- Access code from printer's LAN settings
- Serial number
## ๐จ๏ธ Printer Setup
### Bambu Lab Printer Configuration
1. **Enable LAN Mode** on your printer:
- Go to printer settings โ Network โ LAN Mode
- Enable LAN access and note the access code
2. **Find Printer IP**:
- Check your router's connected devices
- Or use network scanning tools
3. **Add to PulsePrint**:
- Open Settings โ Add Printer
- Enter name, IP address, access code, and serial number
### Supported Printers
- Bambu Lab A1 / A1 mini
- Bambu Lab P1P / P1S
- Bambu Lab X1 / X1C
- *More models coming soon*
## ๐ ๏ธ Development
**Want to contribute?** See [CONTRIBUTING.md](CONTRIBUTING.md) for setup instructions.
### Quick Development Setup
```bash
# Prerequisites: Rust, Node.js 16+, yarn
git clone https://github.com/voodu00/pulseprint-desktop-app.git
cd pulseprint-desktop-app
# Install dependencies
cd frontend-react && yarn install && cd ..
# Run development server
cargo tauri dev
```
## โ Troubleshooting
### Common Issues
**Printer shows as "offline" or "connecting"**
- Verify printer IP address is correct
- Check that LAN Mode is enabled on printer
- Ensure both devices are on the same network
- Try restarting the application
**Settings not saving**
- Check that the application has write permissions
- Database is stored in your OS app data folder
- Try running as administrator/with elevated permissions
**Connection timeout errors**
- Verify the access code from printer settings
- Check firewall settings (allow port 8883)
- Ensure printer firmware is up to date
### Getting Help
- ๐ **Found a bug?** [Report it here](https://github.com/voodu00/pulseprint-desktop-app/issues/new?template=bug_report.yml)
- โจ **Have a feature idea?** [Suggest it here](https://github.com/voodu00/pulseprint-desktop-app/issues/new?template=feature_request.yml)
- โ **Need help?** [Ask in discussions](https://github.com/voodu00/pulseprint-desktop-app/discussions)
## ๐ค Contributing
We welcome contributions from the community! PulsePrint Desktop is fully open source.
- ๐ป **Code contributions** - See [CONTRIBUTING.md](CONTRIBUTING.md) for setup and guidelines
- ๐ **Bug reports** - Help us improve by reporting issues
- โจ **Feature requests** - Share your ideas for new functionality
- ๐ **Documentation** - Help improve our guides and documentation
- ๐งช **Testing** - Try alpha releases and provide feedback
### Quick Links
- [Development Setup](CONTRIBUTING.md#development-setup)
- [Coding Standards](CONTRIBUTING.md#coding-standards)
- [Issue Templates](https://github.com/voodu00/pulseprint-desktop-app/issues/new/choose)
- [Discussions](https://github.com/voodu00/pulseprint-desktop-app/discussions)
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Open Source
PulsePrint Desktop is fully open source with no feature restrictions. We believe in transparent development and community-driven innovation for the 3D printing ecosystem.
## Acknowledgments
- Built with [Tauri](https://tauri.app/) for cross-platform desktop development
- Uses [OpenBambuAPI](https://github.com/Doridian/OpenBambuAPI) documentation for printer communication
- UI components from [shadcn/ui](https://ui.shadcn.com/)
- Database operations via [tauri-plugin-sql](https://github.com/tauri-apps/plugins-workspace)