MiguelSchulz/panda-be-free
MiguelSchulz/panda-be-free has 63 GitHub stars and 6 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 11:16 UTC. Last push 2026-03-15.
What you can do
- Live Dashboard — real-time print progress, temperatures, fan speeds, layer info, and ETA
- Camera Streaming — live camera feed with fullscreen and zoom support
- AMS Monitoring — filament status, colors, material types, and drying control
- Printer Controls — pause, resume, stop, speed profiles, light toggle, temperature adjustment, fan control, and airduct mode
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
A free, open-source 3D printer dashboard for iOS
Creative & MediaREADME.md
Original
PandaBeFree
A free, open-source 3D printer dashboard for iOS.
Connects directly to your Bambu Lab printer via MQTT on your local network — no cloud, no server, no subscription.
Features
- Live Dashboard — real-time print progress, temperatures, fan speeds, layer info, and ETA
- Camera Streaming — live camera feed with fullscreen and zoom support
- AMS Monitoring — filament status, colors, material types, and drying control
- Printer Controls — pause, resume, stop, speed profiles, light toggle, temperature adjustment, fan control, and airduct mode
- Home Screen Widgets — camera snapshot, print progress, and AMS status at a glance
- Fully Local — your data never leaves your network
- Live Activity — print progress on your Lock Screen and Dynamic Island with an auto-filling progress bar, countdown timer, and estimated finish time
- Notifications — get notified when your print or AMS drying finishes
- Localized — available in English and German
Requirements
- iPhone with iOS 18+
- Bambu Lab printer on the same local network
Notifications & Live Activity
PandaBeFree supports local notifications (print finished, drying finished) and a Live Activity that shows print progress on your Lock Screen and Dynamic Island. Since the app connects directly to your printer over LAN — no server involved — all of this works locally.
How it works
- While the app is open, it receives real-time data from your printer via MQTT and keeps everything up to date.
- In the background, iOS doesn't allow persistent connections. The app estimates completion times, schedules notifications, and updates the Live Activity whenever it gets a chance to run — when you open it, when a widget refreshes, or during occasional background tasks.
- The Live Activity shows an auto-filling progress bar, a countdown timer, and an estimated finish time. The progress bar and countdown continue smoothly even without updates, based on the last known state. After about 2 minutes without fresh data, a "stale" indicator appears.
Tips for the best experience
- Add at least one Home Screen widget. Widgets give iOS more reasons to grant the app background execution time — every widget refresh also updates the Live Activity and notification estimates.
- Open the app regularly during a print, even briefly. Every time the app connects to your printer, the Live Activity, countdown, and notifications are refreshed with accurate data.
- Use the app for printer actions (pause, resume, speed changes, etc.) instead of other tools — each interaction is an opportunity to sync fresh data.
Why not a server?
Server-pushed updates (via APNs) would keep everything perfectly in sync, but they're not compatible with the open-source, local-only model:
- A centralized server would need access to each user's local network and printer credentials — breaking the local-only model.
- A self-hosted server solves LAN access but can't send APNs notifications without the developer's
.p8key, a secret tied to the Apple Developer account that cannot be published.
The local approach means updates depend on when iOS gives the app execution time, but it keeps your data entirely on your network with zero external dependencies.
Upcoming
- Multi-printer support — monitor and control multiple printers from a single dashboard
- Broader printer testing — currently developed and tested on a P2S only. Other Bambu Lab models should work but haven't been verified — feedback from owners of other printers is very welcome
- Android — if there's enough interest from the community
Support
PandaBeFree is a lot of fun, but also a lot of work. If you enjoy using it, please consider sponsoring the project. This helps a lot to cover costs like Apple Developer Membership, LLM Tokens for faster development, coffee to keep me running, and filament😉
Building from Source
Clone the repository:
git clone https://github.com/miguelschulz/PandaBeFree.git cd PandaBeFreeOpen the Xcode project:
open PandaBeFree.xcodeprojSet up signing — copy the example config and fill in your Team ID and bundle identifier:
cp Configuration/LocalSigning.xcconfig.example Configuration/LocalSigning.xcconfigEdit
LocalSigning.xcconfigwith your values. This file is gitignored.Build and run on your iPhone.
Follow the in-app onboarding to enter your printer's IP address and access code (found on the printer's touchscreen under Network settings).
License
MIT — see LICENSE for details.