Articles on: Managing your printers

Bambu Lab HMS notifications: codes and maintenance triggers

Bambu Lab HMS notifications: codes and maintenance triggers


Bambu Lab printers raise HMS codes - the Health Management System messages your printer shows when it detects an issue, like a clogged nozzle, a loose belt, a dirty Lidar lens, or foreign objects on the heatbed. SimplyPrint reads those codes and can turn them into scheduled maintenance tasks automatically, on the printer that raised them.


This guide explains what HMS is, how SimplyPrint ingests the codes, and how to map them to your own maintenance task templates with match modes and occurrence thresholds. It also includes a reference of which codes SimplyPrint maps out of the box.


The maintenance system - including HMS-driven, notification-based triggers - is part of the Print Farm, School, and Enterprise plans. Seeing HMS notifications in the panel is not plan-gated.


Table of contents


What is Bambu HMS?

HMS stands for Health Management System. It is Bambu Lab's built-in diagnostics: the printer continuously checks its own subsystems and raises a code when something needs attention. You have probably seen these on the printer's screen or in Bambu Studio as a warning with a code attached.


There are two kinds of code:


  • HMS codes - 16-character hex strings, for example 0501040000030002 ("threaded rods need lubrication now"). These describe health and maintenance conditions.
  • Device error codes - 8-character hex strings, for example 03004006 ("nozzle is clogged"). These are raised for more immediate faults.


Both kinds describe the same broad thing: the printer telling you what it needs. SimplyPrint ingests both.


How SimplyPrint reads HMS

When your Bambu Lab printer is connected to SimplyPrint, every HMS code and device error it raises streams up in real time and is recorded against that printer as a printer notification. You will see it on the printer's notification bell and, for errors, on the red banner on the control panel.


SimplyPrint then checks each code against a built-in mapping of "this code means this maintenance task". If a match exists and you have a matching task template with a notification trigger, the task is marked as due on that printer. There is nothing to install - the ingestion happens automatically for any connected Bambu Lab printer.


Mapping codes to maintenance tasks

The real power of HMS in SimplyPrint is automatic maintenance. You decide which codes should make a maintenance task become due, on a per-template basis.


To set this up:


  1. Go to the maintenance section and open a task template (or create a new one). For example, a "Clean / unclog nozzle" template.
  2. Set the Trigger type to Printer notification based.
  3. In the Printer notifications picker, choose one or more triggers that should fire this task. Each trigger is a named condition (clean nozzle, check belts, lubricate rods, and so on) that bundles all the underlying codes for you, so you do not need to memorise hex strings.
  4. Set the match mode and occurrence threshold (covered below).
  5. Save the template.


A trigger marks the task as due. It does not create a maintenance job on its own. To have SimplyPrint create the job automatically, add the template to a maintenance schedule. The schedule evaluates which tasks are due and builds the work order.


Match mode and occurrence threshold

When you select more than one notification on a template, you control how they combine.


Match mode:


  • Any of these - the task triggers when the total count of any one of the selected notifications reaches the threshold. Use this when several different codes all point at the same maintenance task.
  • All of these - the task triggers only when every selected notification has individually reached the threshold. Use this when you want corroboration from multiple signals before scheduling the work.


Occurrence threshold - the number of times a notification must occur since the last time this task was completed before it counts as due. Set it to 1 to react on the first occurrence, or higher to filter out transient one-off warnings.


A typical setup: "Clean / unclog nozzle" with match mode "any of these", threshold 3 - so the task only becomes due after the printer has reported an extruder clog or failed-extrusion code three times since the last clean, not on the first hiccup.


AMS-aware wildcards

Bambu HMS codes embed which AMS unit and slot raised them inside the code itself. Positions like 07xx cover AMS units A through H, and 18xx cover the high-temperature AMS-HT units A through H.


You do not have to enumerate every variant. SimplyPrint's matcher handles the wildcards for you. When you pick a trigger like "extruder clog on any AMS slot", it automatically covers every underlying AMS and slot variant. A template you author once works across every AMS configuration in your fleet, whether that is a single P1S, a stack of X1Cs with multiple AMS units, or an AMS-HT.


What is mapped out of the box

SimplyPrint ships with a built-in mapping covering the most common HMS and device-error conditions. The built-in mapping is opinionated, not exhaustive - it is a starting point you can adopt, extend, or replace with your own triggers. Each group below bundles many underlying codes (including AMS wildcards) so one trigger covers the whole condition.


Trigger

What the printer is reporting

Suggested maintenance

Lubricate rods

Threaded rods need lubrication

Grease Z screws / lubricate rails

Clean rods and rails

Carbon rods, linear rods or rails dirty, or axis resonance off

Clean and anti-rust carbon rods

Clean / unclog nozzle

Extruder clog, failed extrusion, or purge timeout

Cold pull / inspect nozzle

Clean build plate / heatbed

Foreign objects, spaghetti failure, or bed-laser obstruction

Clean the bed

Clean waste chute

Purged filament piled up in the chute

Check nozzle wiper / clear chute

Clean Lidar lens

Micro Lidar lens dirty or laser readings weak

Clean Lidar

Calibrate Lidar

Lidar calibration failed or nozzle height off

Clean / recalibrate Lidar

Check belt tension

X or Y timing belt loose

Check belts

Bed leveling

Heatbed leveling data abnormal or leveling failed

Calibrate bed

Check / replace nozzle

Nozzle worn, tilted, or wrong type for the filament

Inspect nozzle

Check build plate placement

Build plate not seated or marker not detected

Re-seat / clean bed

Check filament cutter

Cutter stuck, jammed, or failed to cut

Check cutter

Check PTFE tubes

PTFE tube breakage during filament loading

Replace / clean AMS PTFE

Check cooling fans

Fan speed abnormal, slow, or stopped

Clean fans

Update firmware

Printer or AMS firmware mismatch

Update firmware

Clear / format SD card

MicroSD card full, degraded, or unformatted

Clear storage


Each trigger maps to a recommended template you can import and adapt. You are not limited to this list - read on for codes outside it.


Codes SimplyPrint does not recognise yet

The built-in mapping does not cover every possible HMS code. If your Bambu printer raises a code that does not fall into one of the trigger groups above, the notification is still recorded against the printer and shown on the bell and banner - you do not lose visibility. It just will not match a maintenance trigger, because the notification picker only offers the built-in trigger groups, not arbitrary raw codes.


If a code you care about is not covered by an existing group, the practical options today are to attach a related trigger group that already covers a similar condition, or to keep an eye on the bell and resolve the notification manually. SimplyPrint adds new codes to the built-in mapping over time, so the set of trigger groups grows.


To route a covered condition to a different template than the built-in suggestion, open any task template, set the trigger type to Printer notification based, and pick the trigger groups that should fire it. You can then tune the match mode and threshold exactly as above.




Updated on: 26/06/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!