---
title: "Bambu Lab MQTT: How Local Monitoring Works · Bambu Bar"
description: "How Bambu Lab printers report status over local MQTT: the port, topics, access code sign-in and certificates, and why commands need Developer Mode."
url: https://bambubar.app/guides/bambu-lab-mqtt
language: en
---

# Bambu Lab MQTT, in plain words

Bambu Lab printers report their status over MQTT, a lightweight messaging protocol, straight to apps on your network. Here's how that connection works, and how Bambu Bar uses it.

_Updated 2026-11-08_

## In short

Every Bambu Lab printer runs an **MQTT** server on your local network, on **port 8883** with TLS encryption. An app signs in with the user name **bblp** and the printer's **access code**, subscribes to the printer's report topic, and receives status updates about once a second.

Reading status works in any mode. Sending commands such as pause and stop works for third-party apps only with **LAN Only** and **Developer Mode** on. This is how Bambu Studio's LAN connection and Bambu Bar both work.

## The connection

| | |
| --- | --- |
| Protocol | MQTT over TLS |
| Port | 8883 on the printer |
| User name | `bblp` |
| Password | The printer's 8-character access code |
| Status topic | `device/<serial>/report` |
| Command topic | `device/<serial>/request` |

The printer is the server: apps connect to it directly over your network, without Bambu Lab's cloud.

## Reports: what the printer sends

After connecting, an app asks once for a full report (a `pushall` request), then receives changes as they happen, roughly every second while printing. Reports are JSON and include the job and its stage, progress and layers, time left, nozzle, bed and chamber temperatures, fans, the AMS trays with their filament, and printer errors (HMS codes).

Bambu Bar merges those changes into one picture of the printer, which is what the menu bar, the window and the widgets show. Different models report different fields, which is why an A1 shows no chamber temperature and an H2D shows two nozzles.

## Requests: what apps send

Commands go to the request topic: pause, resume, stop, print speed, the chamber light, or a request for a full report. The printer decides what to accept: on current firmware, third-party apps can send print commands only when the printer is in **LAN Only** mode with **Developer Mode** on. Bambu Bar shows a lock on those buttons otherwise. See [why controls are locked](https://bambubar.app/guides/bambu-lab-developer-mode).

## Certificates: making sure it's your printer

The connection is encrypted with TLS, and each printer presents a certificate. Bambu Bar accepts the printer only if that certificate chains to Bambu Lab's own certificate authorities, which ship with the app, **and** is issued to the printer's serial number. That way no other device on your network can pretend to be the printer and collect the access code.

## Discovery and the camera

- **Discovery:** printers announce themselves on your network over UDP (port 2021). That's how apps list printers without an IP address, and how Bambu Bar notices when a printer gets a new one.
- **The camera** isn't on MQTT: X1, H2, H3C, P2S and X2D printers stream it over RTSPS (port 322, with **LAN Only Liveview** on), and P1, A1 and A2L printers over an encrypted JPEG stream (port 6000). See [the camera on your Mac](https://bambubar.app/features/camera).

## Look at the reports yourself

For diagnostics, any MQTT client can read the reports. With [Mosquitto](https://mosquitto.org)'s command-line tools, and your printer's values in place of the placeholders:

```
mosquitto_sub -h <printer-ip> -p 8883 -u bblp -P <access-code> --insecure -t "device/<serial>/report"
```

`--insecure` skips the certificate check, so use it only on a network you trust, and only to read. Never paste your access code or serial number into forums or bug reports.

## Not a public API

This is the protocol Bambu Lab's own apps use on the local network, not a documented, stable API: fields differ between models and firmware versions, and Bambu Lab can change what the printer accepts. Bambu Bar tracks those changes so you don't have to. See [LAN mode explained](https://bambubar.app/guides/bambu-lab-lan-mode) for the printer settings involved and [where to find the access code](https://bambubar.app/guides/bambu-lab-access-code).

## Questions, answered

### What port does a Bambu Lab printer use for MQTT?

Port 8883, with TLS. The user name is `bblp` and the password is the printer's access code.

### Do I need LAN Only mode to read MQTT status?

No. The printer reports status to local apps in cloud mode too. LAN Only with Developer Mode is needed for third-party apps to send print commands.

### Does Bambu Bar use Bambu Lab's cloud?

No. It connects to the printer's local MQTT server directly, like Bambu Studio in LAN mode, and checks the printer's certificate first.

## Read next

- [LAN mode explained](https://bambubar.app/guides/bambu-lab-lan-mode): Cloud mode, LAN Only, LAN Only Liveview and Developer Mode: four different settings, and which ones you actually need.
- [Developer Mode and locked controls](https://bambubar.app/guides/bambu-lab-developer-mode): Why pause, stop and speed show a lock in Bambu Bar, what Developer Mode changes on the printer, and whether you need it.
- [Access code and IP address](https://bambubar.app/guides/bambu-lab-access-code): Where your printer shows its 8-character access code and its IP address, and how to use them to connect from your Mac.
- [Privacy: Local Printer Data and Website Analytics](https://bambubar.app/privacy): How Bambu Bar handles local printer data, access codes, camera viewing, supporter licenses and website analytics.

---

Bambu Bar is an independent app, not affiliated with or endorsed by Bambu Lab. Bambu Lab is a trademark of its owner.
