A practical, end-to-end guide based on a real Bambu Lab P1S setup session: updating Bambu Studio, creating clean-print profiles, enabling legitimate local control through Developer Mode, starting calibration from the CLI, and monitoring the printer safely.
Audience: Bambu P1S owners who want reliable LAN/local control, better print-quality defaults, and a clear troubleshooting path when MQTT commands are rejected.
- Clean-print Bambu Studio profile choices for a P1S with 0.4 mm hardened-steel nozzle.
- Safe pre-calibration checks after moving the printer.
- Bambu Studio update path.
- Why direct LAN/MQTT commands may fail on newer firmware.
- How LAN-only Mode + Developer Mode fixes command verification failures.
- How to run a CLI calibration command once Developer Mode is enabled.
- How to monitor calibration status and HMS errors.
- Notes for upgraded/accessorized printers, including Panda status bar and internal chamber accessories.
This workflow can cause the printer to move and heat.
Before sending any write/control command:
- Confirm the printer is idle.
- Confirm the build plate is clear.
- Confirm no tools, loose printed parts, loose filament, or hands are in the chamber.
- Treat known fixed upgrades/accessories differently from loose obstructions.
- Do not bypass Bambu's firmware safety/security controls. Use the legitimate Developer Mode path.
Printer:
- Bambu Lab P1S.
- 0.4 mm hardened-steel nozzle.
- AMS present.
- Upgraded/accessorized chamber.
- Internal Voxel Bento Box 2 carbon filter.
- Panda status bar upgrade.
- Other accessories may be present.
Important visual note:
- A rear/center rectangular object visible in the chamber camera may be the fixed Voxel Bento Box 2 filter, not an obstruction.
- If you have extra lighting/status bars, camera snapshots may look different from a stock P1S.
These are quality-focused defaults, not the fastest possible settings.
For cosmetic/visible parts:
- Layer height:
0.16 mm - Wall loops:
3 - Top layers:
6 - Bottom layers:
4 - Infill:
20% gyroid - Outer wall speed: about
100 mm/s - Top surface speed: about
100 mm/s - Speed mode: Normal/Standard, not Sport/Ludicrous
- Seam: rear/back when appropriate
- Bed leveling: enabled per print
- Flow calibration: enabled when appropriate
For stronger utility parts:
- Keep a separate
0.20 mmbalanced/functional profile. - Use 3-6 walls depending on load.
- Use 20-40% infill depending on geometry.
- Prefer material/geometry-specific decisions over forcing one global profile.
Keep these conditional, not global defaults:
- Supports.
- Brims.
- Ironing.
- Adaptive layers.
- PETG-specific temperature/cooling changes.
- Nozzle-size changes.
Initial direct MQTT calibration attempts failed.
Observed behavior:
- Printer stayed idle/finished.
- No heating or movement started.
- HMS error appeared:
HMS_0500_0500_0001_0007
Raw values seen in printer reports:
code: 65543
attr: 83887360
Meaning:
MQTT command verification failed.
Updating Bambu Studio is worth doing, but in this real case it did not fully solve the issue by itself.
The real setup was updated from:
02.06.00.51
to:
02.07.01.62
On macOS, the official app was installed to:
~/Applications/BambuStudio.app
Verify the version manually from Bambu Studio or by running the app binary with help/version output if available.
This is the key step for legitimate full local control on newer Bambu firmware.
On the P1S touchscreen:
- Open Settings.
- Open WLAN.
- Turn LAN Only Mode on.
- Scroll down.
- Open Developer Mode.
- Read the notice.
- Tap Enable.
- Confirm Developer Mode shows ON.
Tradeoff:
- LAN-only/Developer Mode may affect cloud/Bambu Handy behavior while enabled.
- You can switch modes later if you need cloud workflows again.
The scripts use MQTT over TLS.
python3 -m pip install paho-mqttDo not hardcode or commit printer credentials.
Create a local shell environment, .env, or secret manager entry with:
export BAMBU_HOST="192.168.x.x"
export BAMBU_SERIAL="YOUR_PRINTER_SERIAL"
export BAMBU_ACCESS_CODE="YOUR_LAN_ACCESS_CODE"The MQTT username for Bambu LAN mode is commonly:
bblp
Never publish your serial/access code in a public repo.
Before calibration, query printer status.
Expected safe pre-calibration status:
gcode_state:FINISHorIDLEprint_type:idle- No active print.
- No serious HMS errors.
- Nozzle/bed targets at 0 unless already heating for a known reason.
Use scripts/bambu_status.py from this repo.
python3 scripts/bambu_status.pyUse the camera snapshot tool if you have camera access configured, or manually inspect the chamber.
Checklist:
- Build plate clear.
- No loose parts.
- No tools in chamber.
- No loose filament wrapped around toolhead/bed.
- Known fixed accessories are okay.
For upgraded printers:
- Bento Box 2 filter: fixed accessory, usually rear/center.
- Panda status bar: fixed accessory/status lighting.
Once Developer Mode is on and the chamber is safe, run:
python3 scripts/bambu_start_calibration.pyIn the real session, after Developer Mode was enabled, the printer accepted the command and transitioned to:
gcode_state: RUNNING
print_type: system
last_subtask_name: auto_cali_for_user_param.gcode
That confirmed local CLI control was working.
Use:
python3 scripts/bambu_status.pyor the included watcher:
bash scripts/watch_calibration.shSigns calibration started successfully:
gcode_statechanges from idle/finished toRUNNING.print_typebecomessystem.- Subtask name resembles
auto_cali_for_user_param.gcode. - Nozzle temperature may rise during parts of the process.
- The previous MQTT verification HMS error should disappear.
HMS_0500_0500_0001_0007
Meaning:
MQTT command verification failed.
Typical fix path:
- Update Bambu Studio / Bambu Handy.
- Enable LAN-only Mode.
- Enable Developer Mode.
- Retry command.
During system calibration, additional HMS entries can appear transiently.
Do not panic immediately. Check:
- Whether the printer keeps running normally.
- Whether the same HMS persists after calibration.
- Bambu Wiki for exact code interpretation.
- Physical signs: fan noise, unusual motion, heating, or stuck toolhead.
Likely Developer Mode is not enabled, or LAN-only mode is not active.
Fix:
- Recheck P1S screen: Settings → WLAN → LAN Only Mode + Developer Mode.
- Power-cycle printer after enabling if needed.
- Retry status query and calibration.
Check:
- Host/IP address.
- Serial.
- Access code.
- Port
8883reachable. - Firewall/VPN/LAN isolation.
Quick port check:
nc -vz "$BAMBU_HOST" 8883For PLA on a P1S textured/hot PEI-style plate, target 55–65°C. A practical default is 60°C.
If Bambu Studio CLI outputs a 35°C bed target, it probably selected/inherited Cool Plate behavior. Fix by using a custom filament preset that forces PLA bed temps across plate types, for example:
cool_plate_temp:60cool_plate_temp_initial_layer:60hot_plate_temp:60hot_plate_temp_initial_layer:60textured_plate_temp:60textured_plate_temp_initial_layer:60
Verify the sliced G-code contains:
M190 S60Stop the job and inspect before retrying. Likely causes:
- Wrong AMS slot mapping.
- Filament not actually loaded or not feeding.
- Failed purge / partial clog.
- Bed temp too low for the selected plate/material.
Do a manual load/purge first, then retry a simpler extrusion/first-layer test before a cube.
Camera service is often on port 6000, but camera access is separate from MQTT control.
If camera is unavailable:
- Inspect chamber manually.
- Do not start motion/heating unless you are physically confident it is safe.
If using AppleScript/UI automation, macOS may require Accessibility permissions.
Grant access in:
System Settings → Privacy & Security → Accessibility
Add your terminal app / Hermes process / automation host as needed.
scripts/bambu_status.py # Query printer status over MQTT/TLS
scripts/bambu_start_calibration.py # Start calibration via Developer Mode LAN MQTT
scripts/watch_calibration.sh # Poll until calibration exits RUNNING
.env.example # Placeholder environment variables
- Use Bambu Studio/OrcaSlicer for slicing/profile management.
- Use local CLI control for status, calibration, monitoring, and repeatable workflows.
- Keep credentials out of GitHub.
- Treat first calibration after relocation as mandatory.
- Prefer quality profiles over speed profiles for visible parts.
- Keep accessory notes for your exact printer, because camera interpretation changes with mods.
This is a practical owner/operator guide, not official Bambu Lab documentation. Use at your own risk. Printer motion and heating can damage hardware or create hazards if the chamber is not clear.