Skip to content

Real-time Monitoring

Bambuddy provides live monitoring of all your connected Bambu Lab printers through WebSocket-based real-time updates.

Printers Page


Search & Filters

Large print farms are hard to navigate on a phone where Ctrl+F isn't an option. The Printers page has a live search bar and two filter dropdowns above the card grid.

Type into the search bar to filter the card grid in real time. The search matches any of the following fields (case-insensitive, whitespace-trimmed):

  • Printer name
  • Printer model (e.g., X1C, P1S, A1 mini)
  • Location
  • Serial number

Click the button inside the search bar to clear it.

Status Filter

The status dropdown filters by current printer state:

Option Shows
All statuses Every printer (default)
Printing Currently running a job
Paused Print paused
Idle Connected and ready
Finished Waiting for plate clear
Error FAILED state or active HMS errors
Offline Disconnected

The status filter is reactive to WebSocket updates — when a print finishes and the printer transitions from RUNNING to FINISH, it is immediately removed from the "Printing" view without needing a manual refresh.

Location Filter

The location dropdown appears only when at least one printer has a location configured. It lets you quickly narrow the view to a single workshop, rack, or room. Location values are taken directly from each printer's configured location.

Combining Filters

Search, status, and location filters combine — a matching printer must pass all three checks. An empty-state message appears if no printer matches the current combination; clear the search bar or reset the dropdowns to see everything again.

Mobile Tip

On phones, use the search bar to quickly find a specific printer by location or serial when scrolling through many cards would be tedious.


Resizable Printer Cards

Adjust the size of printer cards to fit your screen and workflow:

Card Sizes

Size Description
S (Small) Compact view, more cards per row. Shows name, status pip, progress and — while printing — remaining time, ETA and layer progress
M (Medium) Default balanced view
L (Large) More detail, fewer cards per row. Labels, values and icons inside the card are drawn 20% larger
XL (Extra Large) Maximum detail, single column. Labels, values and icons are drawn 40% larger

Larger text without zooming the whole page

L and XL scale the card's own text and icons, not just its width — so the AMS slot labels, temperatures and small buttons grow with the card instead of staying tiny in a bigger frame. S and M are unchanged, so a fleet view stays as dense as it always was.

Adjusting Size

  1. Look for the + and - buttons in the Printers page toolbar
  2. Click + to increase card size
  3. Click - to decrease card size
  4. Size preference is saved automatically

Print Farm View

Use Small size for monitoring many printers at once on a large screen.


Status Summary Bar

The status summary bar at the top of the Printers page provides an at-a-glance overview of your fleet:

Availability & Counts

Indicator Description
X available Idle printers ready to accept a print (always shown, even when 0)
X printing Printers currently running a job (pulsing dot)
X offline Disconnected printers
X problem Connected printers with active HMS errors (only shown when > 0)

Next Available Printer

When at least one printer is actively printing, the bar shows which printer will finish soonest:

  • Printer name — the printer closest to completing its current job
  • Progress bar — visual completion indicator
  • Percentage — current print progress
  • Time remaining — estimated time until the printer becomes available

Print Farm Monitoring

The "Next available" indicator is especially useful for print farms with many printers — quickly see which printer will be free next without scanning every card.


Keep an eye on a running print without switching back to Bambuddy. When enabled, the browser tab title displays the soonest-finishing print's progress, and the favicon shows a progress ring in your theme accent colour. Both use the existing live printer-status updates.

Under Settings → Appearance, turn on Print progress in tab (off by default), then choose Tab display:

Tab display Example Description
Percentage (default) 42% · Bambuddy Shows the selected print's completion percentage, as before.
Time remaining 1h 26m · Bambuddy or 16m · Bambuddy Shows the remaining time using the same duration format as the Printers page's Next available indicator.

The Tab display choice appears when Print progress in tab is enabled. You can change it at any time; the favicon's progress ring continues to indicate percentage in either mode.

Behaviour Detail
Which print The soonest-finishing running print across all printers (same pick as the Next Available indicator), tie-broken by highest progress.
Unknown remaining time Falls back to the print's percentage until a valid remaining-time estimate is available.
When idle Restores the original browser title and favicon when no print is running.
Scope Both preferences are stored per browser (localStorage), not synchronized with the server or other devices.
In a background tab Continues receiving updates, subject to browser background-tab throttling — see the note below.

Background monitoring

Pin the Bambuddy tab and enable this to check the next print's progress or remaining time while working in other tabs.

How often it updates when you are looking at another tab

Browsers deliberately slow down background tabs to save battery: timers are limited to roughly once a second, and to about once a minute once a tab has been hidden for five minutes. The percentage or remaining time therefore steps rather than ticks on a tab you have left alone for a while, and catches up as soon as you switch back to it. This is browser policy and applies to every site; Bambuddy cannot opt out of it. If you want a continuously live view, keep the tab visible — on a second monitor or in its own window.


Printer Status

Each printer card displays real-time information:

Connection Status

Indicator Status
Connected and communicating
Connecting or reconnecting
Disconnected or error

Temperature Readouts

Live temperature readings update every few seconds:

Sensor Description
Nozzle Current hotend temperature
Bed Heated bed temperature
Chamber Enclosure temperature (if available)

Heater History

Every heater tile on the printer card carries a small chart icon (top-right corner). Click the tile body to open the existing target-temperature popover; click the chart icon to open the heater history modal for that sensor.

Bambuddy records nozzle, bed, and chamber readings every 60 seconds (alongside the matching target value) so you can review thermal behaviour after a print:

Element Description
Kind toggle Switch between Nozzle / Nozzle 2 (H2D dual-nozzle) / Bed / Chamber — only sensors present on this model are shown.
Time range 6h / 24h / 48h / 7d window selector.
Stat cards Current value (with trend arrow), average, min, and max across the selected window.
Chart Solid line for the recorded reading, dashed step-after line for the configured target.

Read-only chambers

On the sensor-only chambers of the X1C and P2S (no M141 heater acceptance), the chart icon still works — Bambuddy is reading the chamber sensor either way, so the history is just as useful for spotting drift or for tuning ambient conditions.

Retention

Heater data is kept for 30 days by default. Adjust this under Settings → Filament → History Retention → Keep printer temperature history (nozzle, bed, chamber) for (1-365 days) if you need a longer or shorter window. Old rows are purged automatically once every ~24 hours by the recorder loop.

Nozzle Details (H2 Series)

H2 series printers show extended nozzle information on hover:

Printer Feature Details
H2D / H2D Pro L/R Nozzle Hover Card Shows both nozzle details side by side — diameter, type, flow, wear, max temp, serial. Active nozzle highlighted with Active/Idle status.
H2S Single Nozzle Hover Card Shows extended nozzle details (wear, serial, max temp) on hover over the nozzle temperature card.
H2C Nozzle Rack Card 6-position tool-changer dock showing all rack slots with diameter and filament color, numbered 1-6 by physical rack position. Empty slots shown as placeholders and keep their number. Hover for full details, including each nozzle's print time on firmware that reports it. The L/R hotend hover card shows the print time of both mounted nozzles too.

L/R Nozzle Status

The L/R nozzle card shows Active or Idle based on which nozzle the printer is currently using, rather than mounted/docked status.

Fan Status

Real-time fan speed monitoring in the Controls section:

Fan Icon Color Description
Part Cooling Fan Cyan Cools the printed layers
Auxiliary Wind Blue Controls airflow in chamber. Left Auxiliary on the X2D
Left Auxiliary Wind Indigo Second part cooling fan (P2S, when fitted). Right Auxiliary on the X2D
Chamber / Exhaust AirVent Green Exhausts hot air from enclosure

P2S / X2D accessory fans

The second auxiliary fan and the Exhaust badge appear only when the printer reports that fan — they're add-on kits on the P2S and factory-fitted on the X2D. The enclosure fan is labelled Exhaust on the P2S, X2D, H2 series and H3C, as in Bambu Studio; the X1 series and P1S keep Chamber. On the H2 series and H3C the fan is built in and always shown.

Fan badges always display with dynamic coloring:

  • Active (colored): Fan is running, shows current speed %
  • Inactive (gray): Fan is off, shows 0%

A print speed badge () also appears in this row, showing the current speed preset percentage. See Printer Control > Print Speed for details.

Fan speeds update in real-time via WebSocket alongside temperatures.

Compact Mode Status Pip

In compact (Small) view, each printer card shows a small colored status pip:

Color Meaning
Green Connected, no issues
Red Offline, or an HMS fault that stops or pauses the print (level Error or Warning)
Amber Only HMS faults that don't stop the print (level Notice, or a level the printer didn't set)

Hover over the pip to see the number of active HMS errors.

Compact Mode Metrics

While a print is running, the Small card also carries a single line of metrics under the progress bar:

  • Remaining time () — e.g. 1h 23m
  • ETA — the clock time the print is expected to finish, in your configured 12/24-hour format
  • Layer progress () — e.g. 120/267

Values are omitted individually when the printer doesn't report them, and the line is empty when nothing is printing — the row keeps its height either way so cards don't shift as prints start and finish.

Which printer finishes first

This is what makes Small usable as a wall display: the ETAs let you compare a whole fleet at a glance without opening any card. Clicking a Small card still drills down — it switches the grid to Medium and scrolls to that printer, with a Back button to return.

When a print is active, you'll see:

  • Progress bar - Visual completion percentage (turns amber when paused)
  • Current layer - Layer X of Y
  • Time remaining - Estimated time to completion
  • Filament used - Grams consumed so far
  • Next pause (, blue) - For a print with a pause added in the slicer, the time until the printer gets there and the clock time, e.g. 20m to pause · 20:27. Hover it for the layer. With several pauses it counts down to the next one, and moves on once the printer has reached it. Until the printer reports a remaining time it shows the layer only, and so it does in a speed mode other than Standard. Shown on cards of size M and up.

Where the pause time comes from

Bambuddy reads the pauses from the print's G-code in its archived 3MF: Bambu Studio and OrcaSlicer write a pause as M400 U1, at the start of the layer it is set on, and record the time left at that point. The countdown is the printer's remaining time minus that. The slicer's times are for Standard speed, so in Silent, Sport or Ludicrous the card shows the pause's layer instead of a time, and no Pause Coming Up notification is sent. Prints with no archived 3MF, such as a print Bambuddy could not download, show no pause time.

To be told before a pause, turn on Pause Coming Up for a notification channel.

Status Sorting

When sorting by status, printers are ordered by priority:

  1. HMS errors — printers with active HMS errors appear first
  2. Printing — printers running a job
  3. Idle — connected with no active job
  4. Offline — disconnected printers

This makes it easy to spot printers that need attention in large print farms.

ETA Sorting

When sorting by ETA (estimated time of arrival / remaining print time), printers are ordered so the next finish lands at the top — useful for staging the next job's filament ahead of time:

  1. Printing with a known ETA — soonest finish first, ascending by remaining minutes
  2. Printing without an ETA yet — the brief window between starting a print and the slicer reporting total time
  3. Idle / finished — connected, no active job
  4. Offline — disconnected

Printers with the same ETA (or no active print) fall back to alphabetical order so the list stays stable across refreshes. The sort-direction button still flips the result — descending puts offline printers at the top for fleet-wide connectivity triage.

The ETA sort renders a flat list (no section headers), since every printer's ETA is unique.

Collapsible Groups

When sorting by Status, Model, or Location, printers are rendered inside collapsible section headers — click a header to expand or collapse that group. The Name and ETA sorts render a flat grid.

  • Each group's collapsed state persists across page refreshes (stored per-browser in localStorage).
  • In selection mode, each section header shows a Select All button that selects every printer within that group.
  • Status groups appear in priority order (Error → Printing → Paused → Finished → Idle → Offline); the sort-direction toggle flips the order.

HMS Error Monitoring

The Health Management System (HMS) monitors printer health and displays issues in real-time.

Status Indicator

The HMS indicator is always visible on printer cards:

Status Meaning Action
OK No faults that count None needed
Amber, with a count Only Notice-level faults that count, such as a prompt waiting for you; the print carries on Check when convenient
Red, with a count At least one Error (the print was stopped) or Warning (the print is paused) Needs attention

The levels are the ones the printer itself reports, the same ones Bambu Studio and Bambu Handy use.

Error Details

Click the HMS indicator to see:

  • The description Bambu publishes for the fault, for your printer model. The texts come from Bambu Studio's own HMS files and cover about 6,400 codes. They are in English.
  • The code as the printer screen shows it, such as 0500-0300-0002-000E
  • Its level: Error, Warning or Notice
  • The action buttons Bambu offers for it, if any (below)
  • A link to Bambu Lab's HMS wiki

Two kinds of fault don't count toward the indicator, the printer card's problem badge or the Camera Wall, and don't send notifications:

  • Notices that don't need you. Level-Notice faults from the printer's HMS list with no action buttons, such as "The top cover is open" or "The chamber temperature is high, and the system has increased the fan speed". A printer can hold these through a whole print.
  • Codes without published text. Bambu lists a few codes with an empty description, and some aren't listed at all.

The modal still lists them, with their text where Bambu has one, collapsed under Also reported, not counted, so nothing the printer is holding is hidden. A fault that offers action buttons always counts, so its buttons show.

Error Actions (Resume / Stop / Check Assistant / …)

Each error in the modal now shows the same action buttons that BambuStudio and Bambu Handy display — Resume Printing, Stop Printing, Continue, Retry, Filament Extruded, Check Assistant, Don't Remind Me, Recheck, and so on, depending on what Bambu's catalog lists for that specific error on your printer model.

Click any button and Bambuddy sends the matching MQTT command back to the printer. The wire shapes mirror BambuStudio's DeviceErrorDialog / DeviceManager source so the printer sees the same payload regardless of which client sent it:

  • Resume Printing / Resume (defects acceptable) / Resume (problem solved) / Problem Solved and Resume / Filament Loaded, Resume / Proceed → resume command. Tells the firmware "I handled the problem, re-check normally and continue." For faults that re-trigger on resume (e.g. a genuinely wrong plate), the printer will re-detect and re-pause with the same code; use Ignore this and Resume instead for that semantic.
  • Ignore this and Resume / Ignore. Don't Remind Next Time / Don't Remind Me → ignore command. Distinct from Resume: tells the firmware "suppress the next re-check of this specific fault AND resume the paused print" in one operation. The err field carries the decimal int value of the error code (matching BambuStudio's wire format); job_id carries the active subtask id so the firmware knows which print's check to skip.
  • No Reminder Next Time → idle_ignore with type=0. Dismisses the dialog on the printer's touchscreen without resuming; the firmware suppresses one re-display of the same warning.
  • Stop Printing → stop command. Aborts the print from the paused state and the printer transitions to FAILED.
  • Filament Extruded / Continue / Retry / Abort (filament-load dialogs) → ams_control with param=done / resume / abort.
  • OK / Confirm → clean_print_error (the same command the explicit "Clear Errors" button uses).
  • Check Assistant, View Liveview, Close, Cancel — these are surfaced for parity with BambuStudio's modal but don't have an MQTT counterpart; the printer's own touchscreen drives them. Bambuddy renders the buttons so you have label parity, but clicking them is a no-op on the wire.

After a button click Bambuddy waits up to 2.5 s for the printer to push at least one MQTT status update; if no push arrives the action is reported as Printer did not acknowledge HMS action rather than a silent success. This catches firmware-side silent rejection (broker ACKs the publish but the printer drops the command — e.g. an err format mismatch).

Which buttons appear is determined by the printer model (X1C, P1S, A1, H2D, …) and the error code via Bambu's published HMS catalog. If Bambu's catalog has no actions for a code, the modal shows only the error description and the "Clear Errors" fallback.

Action labels are translated in all 13 supported locales (English, German, Spanish, French, Italian, Japanese, Korean, Portuguese (Brazil), Russian, Turkish, Ukrainian, Simplified Chinese, Traditional Chinese).

Permission Required

HMS actions require the Printer Control permission (printers:control). Users without this permission cannot execute actions.

Clear Errors

The HMS error modal also includes a Clear Errors button at the bottom that:

  1. Sends a clean_print_error command to the printer via MQTT
  2. Immediately removes errors from the Bambuddy UI
  3. Appears whenever the printer is holding any fault, including ones listed without a description

This is useful for dismissing stale print_error values that persist after print cancellation or transient events (without needing to power-cycle the printer or start a new print). The per-error action buttons (above) handle the common cases — Clear Errors is the catch-all for older codes that have no action mapping.

Permission Required

The Clear Errors button requires the Printer Control permission (printers:control). Users without this permission will see the button disabled.

HMS Notifications

Enable HMS error notifications to get alerted immediately when issues occur. See Notifications.


WiFi Signal Strength

The printer card displays WiFi signal strength:

Icon Signal
Excellent
Good
Fair
Weak

Weak signal can cause connection drops and print monitoring issues.


Total Print Hours

Track cumulative print time for each printer:

  • Displayed on the printer card
  • Useful for maintenance scheduling
  • Helps identify heavily-used machines

MQTT Debug Logging

Built-in debugging tool for printer communication:

Starting Debug Logging

  1. Click the settings icon on a printer card
  2. Click Start MQTT Debug
  3. Messages are captured in real-time

Viewing Messages

Direction Description
Incoming Messages from printer to Bambuddy
Outgoing Commands sent to printer

Features:

  • JSON payloads - Expandable for detailed inspection
  • Filter by type - Focus on specific message types
  • Search - Find specific content
  • Auto-refresh - New messages appear automatically

Use Cases

  • Troubleshooting connection issues
  • Understanding printer behavior
  • Debugging automation problems
  • Reporting issues to developers

WebSocket Architecture

Bambuddy uses WebSocket for real-time updates:

graph LR
    A[Printer] -->|MQTT| B[Bambuddy Backend]
    B -->|WebSocket| C[Browser]
    B -->|WebSocket| D[Browser 2]
    B -->|WebSocket| E[Mobile]

How It Works

  1. Printer sends status updates via MQTT over TLS
  2. Backend processes and stores the data
  3. WebSocket broadcasts updates to all connected clients
  4. Browser updates the UI instantly

Connection Features

Feature Description
Auto-reconnect Automatically reconnects on disconnect
State sync Full state synchronized on reconnect
Delta updates Only changed data is sent
Multi-tab Multiple browser tabs supported

Performance

  • Latency: < 1 second typical
  • Bandwidth: Minimal (delta updates only)
  • Scalability: Multiple clients supported

Printer File Browser

Browse and manage files stored on your printer's internal storage.

Opening the File Browser

  1. Click the folder icon () on any printer card
  2. A modal opens showing the printer's file system
  • Quick access buttons - Jump to Root, Cache, Models, or Timelapse folders
  • Breadcrumb path - Shows current location with back navigation
  • Click folders - Navigate into subdirectories

File Selection

Select files for bulk operations:

Action Description
Click checkbox Select/deselect individual files
Select All Select all files in current view
Deselect All Clear all selections

File Operations

Operation Single File Multiple Files
Download Direct download Downloads as ZIP archive
Delete Delete with confirmation Bulk delete with confirmation

Sorting & Filtering

Control Options
Sort Name (A-Z/Z-A), Size, Date
Filter Type filename to filter list

Storage Info

View used and free space in the header when available.


Printer Images

Customize your printer cards with images:

  1. Click the settings icon on a printer card
  2. Upload a printer image
  3. The image displays on the card

Recommended Size

Use images around 300x200 pixels for best results.


Status Change Notifications

Configure alerts for printer events:

Event Description
Printer Offline When connection is lost
Printer Error When HMS errors occur
Print Complete When a job finishes
Print Failed When a print fails

Set up notifications


Tips

At-a-Glance Monitoring

Keep the Printers page open on a dedicated screen or tablet for constant visibility.

Camera Confirmation

Use the camera page to visually confirm print quality alongside status data.

Early Error Detection

Enable HMS error notifications to catch problems before they ruin a print.

Debug When Needed

Check MQTT debug logs if a printer behaves unexpectedly - often reveals communication issues.