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.
Table of contents
- What is Bambu HMS?
- How SimplyPrint reads HMS
- Mapping codes to maintenance tasks
- Match mode and occurrence threshold
- AMS-aware wildcards
- What is mapped out of the box
- Codes SimplyPrint does not recognise yet
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:
- Go to the maintenance section and open a task template (or create a new one). For example, a "Clean / unclog nozzle" template.
- Set the Trigger type to Printer notification based.
- 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.
- Set the match mode and occurrence threshold (covered below).
- Save the template.
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.
Related articles
- Printer notifications: errors and alerts your printer reports - the overview of how SimplyPrint ingests and surfaces printer-reported events
- Printer notifications on Creality, Anycubic, and other printers - coverage for non-Bambu brands
- Printer maintenance: keep your fleet running smoothly - the maintenance system overview
- Task templates: define reusable maintenance procedures - where notification triggers live
- Maintenance schedules: automate recurring maintenance - turn a due task into an automatic job
Updated on: 26/06/2026
Thank you!