Skip to content

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.

License

Notifications You must be signed in to change notification settings

krjordan/PulsePrint-Desktop

Repository files navigation

PulsePrint Desktop

License Alpha Release Built with Tauri

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 for verified features, FEATURES.md for current implementation status, and 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:

Download Latest

  • 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 for setup instructions.

Quick Development Setup

# 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

🀝 Contributing

We welcome contributions from the community! PulsePrint Desktop is fully open source.

  • πŸ’» Code contributions - See 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

πŸ“„ License

This project is licensed under the MIT License - see the 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

About

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.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published