AMS & Humidity Monitoring¶
Bambuddy provides comprehensive monitoring for your AMS (Automatic Material System) and AMS-HT (High Temperature) units.
AMS Slot Status¶
Each AMS slot displays:
| Information | Description |
|---|---|
| Filament color | Visual color swatch |
| Material type | PLA, PETG, ABS, ASA, etc. |
| Remaining | Estimated filament left |
| Active | Currently feeding indicator |
RFID Re-read¶
Refresh filament information for individual AMS slots:
- Hover over an AMS slot on the printer card
- Click the menu button () that appears
- Select Re-read RFID
- A loading indicator appears while the printer reads the RFID tag
- Filament information updates automatically when complete
Availability
The re-read menu is hidden when the printer is busy (printing). Wait until the printer is idle to re-read RFID data.
When to Re-read
Use this feature when you've swapped a spool but the AMS hasn't automatically detected the change, or if filament information seems incorrect.
Load / Unload Filament¶
Drive Load and Unload directly from any AMS slot or external spool — no need to walk to the touchscreen:
- Hover over an AMS slot or external spool on the printer card
- Click the menu button () that appears
- Select Load to feed that tray, or Unload to retract whatever is currently loaded
Availability
The Load / Unload menu is hidden while the printer is RUNNING. Wait until the printer is idle.
Dual-extruder H2D
On the H2D with two external spools, Ext-L (left) and Ext-R (right) each drive their own nozzle. Loading from Ext-R uses the right nozzle's actual current temperature for the load command (matching BambuStudio's behaviour); a sensible 215 °C fallback is used if the right nozzle reports as cold or unknown.
Permission
Load / Unload requires the printers:control permission — the same scope used to start, stop, pause, and resume prints.
Configure AMS Slot¶
Manually configure AMS slots for third-party or generic filaments. This tells the printer which filament profile to use for a specific slot (temperatures, flow rate, pressure advance).
- Hover over an AMS slot on the printer card
- Click the menu button () that appears
- Select Configure Slot
- Choose a filament preset (from Bambu Cloud, local OrcaSlicer imports, or the built-in Bambu filament catalog — see preset sources)
- Select a matching K profile (pressure advance calibration)
- Optionally set a custom color using the color picker
- Click Configure Slot to apply
Color Picker Features:
- 8 basic colors shown by default (White, Black, Red, Blue, Green, Yellow, Orange, Gray)
- Click + to expand 24 additional colors
- Enter custom hex codes or color names (e.g., "brown", "FF8800")
- Live preview of selected color
User Presets
User presets that inherit from Bambu presets (e.g., "# Overture Matte PLA @BBL H2D") are fully supported. Bambuddy automatically derives the correct filament ID from the preset's base configuration.
Printer Model Filtering¶
Filament presets in the Configure AMS Slot modal are automatically filtered by the printer model. This means you only see presets that are compatible with the printer you are configuring:
- Cloud presets are matched by the model suffix in the preset name (e.g.,
@BBL X1C,@BBL P1S,@BBL H2D). Generic presets without a model suffix are always included. - Local presets are filtered by their
compatible_printersfield to show only those that list the current printer model. - The currently-configured preset for the slot is always shown in the list, regardless of model filter, so you can see what is already set even if the preset would otherwise be filtered out.
This filtering reduces clutter and prevents accidentally selecting a preset intended for a different printer.
Pre-Population for Configured Slots¶
When you open the Configure AMS Slot modal for a slot that already has a configuration, Bambuddy pre-populates the form fields so you can review or adjust the current settings without starting from scratch:
- Filament preset — The previously-configured preset is pre-selected. Bambuddy resolves this from the saved preset mapping or by matching the slot's
tray_info_idxto the corresponding preset. - Color — The color picker is pre-populated with the slot's current filament color.
- K-profile — The active pressure advance profile is pre-selected by matching the slot's
cali_idxto the available K-profile entries. - Auto-scroll — The preset list automatically scrolls to the selected item so it is visible without manual scrolling.
Quick Adjustments
Pre-population makes it easy to tweak a single setting (for example, updating just the color or K-profile) without re-selecting every field from scratch.
Multi-AMS Support¶
Bambuddy supports multiple AMS units per printer:
- Up to 4 AMS units (16 total slots)
- Each unit displayed with its slots
- Visual indication of active slot during printing
External Spool Holders¶
Printers without an AMS (or with filament loaded outside the AMS) use an external spool holder. The H2D is a dual-nozzle printer with two external spool positions — Ext-L (left) and Ext-R (right) — each feeding its respective nozzle. Bambuddy displays both external slots and supports configuring, color-setting, and K-profile assignment for each one independently.
AMS Filament Backup¶
Bambuddy reads and controls the printer's per-printer AMS Filament Backup setting (BambuStudio's "Auto switch filament" / auto_switch_filament). When enabled, the printer automatically switches to a matching spool in another slot once one runs out, so a long print can roll across multiple spools of the same filament profile and colour.
Status badge¶
The Filaments section header on each printer card carries a small badge:
| Badge | State | Meaning |
|---|---|---|
| ON (blue circular arrow) | Auto-switch is enabled. The printer will roll over to a matching peer spool when one empties. | |
| OFF (dim) | Auto-switch is disabled. The print pauses when a spool runs out. | |
| ? | Unknown | The printer didn't advertise the state (A1 / A1 Mini family — they emit no cfg field in push_status). Click disabled. |
Click the badge to open the AMS Filament Backup modal.
Backup modal¶
A BambuStudio Auto Refill-style view of every backup pair currently formed on the printer.
- Toggle row at the top with the current ON / OFF / unsupported state and the same setting wired to the firmware via MQTT.
- One ring per backup pair, modelled on BambuStudio's "Auto Refill" widget. The ring is filled with the actual filament colour; the material name and rotation count (
N× ↻) sit in the centre; member slot labels (e.g.A·1,B·3) sit on contrast-aware pills distributed around the colour band. Lone slots (no peer) are deliberately not listed — if a slot doesn't appear in any ring, it has no backup. - R / L badges on each ring only render on dual-extruder printers (H2D / H2C / X2D) when the extruder map carries two distinct values; single-nozzle printers or printers with routing data not yet reported don't see the badges.
- Esc, click-outside, or the close button dismisses the modal.
Pairing rule¶
Two slots pair when they share the same Bambu filament preset ID (tray_info_idx, e.g. GFA00) AND the same colour (alpha-normalised — 1A1A1AFF matches 1A1A1A). This mirrors the firmware's own switch decision.
- Three PETG HF spools in different colours don't back each other up. The firmware would correctly swap PETG HF but the print would change colour mid-run.
- User-tagged spools without a Bambu preset never pair with anything else. The firmware backup logic relies on the preset, and pairing on cosmetic name match alone risks treating two visually-identical but materially-different spools as backups.
- On dual-extruder printers, pairing is scoped per extruder side. Two same-
(preset, colour)slots on opposite extruders aren't peers — the firmware can't cross.
Why the badge sits in the section header, not on each AMS
The setting is per-printer, not per-AMS. Bambuddy decodes it from bit 18 of the printer's top-level print.cfg hex string, which is a single value covering every AMS attached to that printer.
Backup-aware "insufficient filament" check¶
The pre-dispatch deficit check that gates "Print Now" / "Send" buttons (and the queue dispatcher) is backup-aware.
When AMS Filament Backup is ON, the deficit check pools remaining grams across same-(preset, colour) spools on the printer (per extruder side on dual-nozzle) before declaring a shortfall. So a 200 g print routed to a slot with 10 g remaining no longer gets blocked when a peer slot holds the same filament with 500 g spare — the firmware will swap automatically.
When AMS Filament Backup is OFF, the check falls back to strict per-slot accounting — there's no peer to roll to, so an empty slot would actually stop the print.
This works both in internal-inventory mode (via the local Spool table) and Spoolman mode (via Spoolman's filament.id + color_hex).
Interaction with "Prefer Lowest Remaining Filament"¶
The Prefer Lowest Remaining Filament setting (Settings → Filament) tells the AMS auto-mapper to pick the spool with the least remaining weight first — useful for finishing off near-empty spools so they don't accumulate. This only makes sense when AMS Filament Backup is ON, because without backup the printer will stop on the first empty spool, defeating the purpose.
When AMS Filament Backup is OFF, Bambuddy automatically suppresses the prefer-lowest sort (both backend dispatcher and the PrintModal mapping UI honour this) so it won't reach for a near-empty spool the printer can't roll off of. The setting itself isn't hidden — flip Backup back on and it takes effect again immediately.
With Backup ON, prefer-lowest picks the lowest-remaining slot within the same (preset, colour) group — so when the picked slot empties, the firmware swaps to the same-colour peer that holds more material. If only one same-(preset, colour) slot exists, prefer-lowest can't pick anything riskier than that one, and the backup-aware deficit check still catches the case where it's short.
Humidity Monitoring¶
Track humidity levels inside your AMS units:
Current Reading¶
The humidity percentage is displayed on the printer card:
| Level | Status | Action |
|---|---|---|
| < 20% | Excellent | None needed |
| 20-40% | Good | None needed |
| 40-60% | Fair | Consider drying |
| > 60% | High | Replace desiccant |
Configurable Thresholds¶
Set custom warning thresholds in Settings:
- Go to Settings > General
- Find AMS Humidity Threshold
- Set your preferred warning level
- Save changes
Filament Sensitivity
Different filaments have different humidity sensitivities. PLA is more tolerant than Nylon or PETG. If you run multi-material AMS units (e.g. one dedicated to PLA, another to Nylon), set a per-filament threshold below instead of one global value — auto-drying and the humidity alarm will trigger at the right level for each material.
Temperature Monitoring¶
For AMS-HT (High Temperature) units, temperature is also tracked:
| Reading | Description |
|---|---|
| Current temp | Live temperature inside the unit |
| Target temp | Configured drying temperature |
| Status | Heating, holding, or idle |
Remote AMS Drying¶
Control AMS drying directly from Bambuddy — no need to use the printer's touchscreen. Start, monitor, and stop drying sessions for AMS 2 Pro and AMS-HT units.
Supported Hardware¶
Remote drying requires an AMS unit with built-in heating:
| AMS Type | Module Type | Max Temp | Supported |
|---|---|---|---|
| AMS 2 Pro | n3f | 65°C | |
| AMS-HT | n3s | 85°C | |
| AMS (original) | ams | — |
Printer Firmware Requirements¶
Not all printers support remote drying commands. The following minimum firmware versions are required:
| Printer Model | Min Firmware | Notes |
|---|---|---|
| X1 / X1C | 01.09.00.00 | |
| P1P / P1S | 01.08.00.00 | |
| H2D | 01.02.30.00 | |
| H2D Pro | Any | No version gate |
| X1E | Any | No version gate |
| P2S, A1, A1 Mini | — | Not supported |
| H2S, H2C | — | Not supported |
Unknown Models
For printers not listed above (future models), Bambuddy allows the drying command. If the printer's firmware doesn't support it, the command fails gracefully with no side effects.
Power Supply Requirements¶
AMS 2 Pro and AMS-HT units require an external power supply (PSU) to run the drying heater. Without it, the AMS can only monitor humidity — it cannot actively dry.
The printer firmware reports power constraints via the dry_sf_reason field per AMS unit. Bambuddy reads these automatically:
| Reason | Code | Description |
|---|---|---|
| Insufficient Power | 1 | Too many AMS units drying simultaneously — disconnect other units or connect a PSU |
| Need Plugin Power | 8 | No external PSU connected — plug in the AMS power adapter |
| Task Occupied | 0 | Printer is busy with another operation |
| AMS Busy | 2 | AMS is performing another operation |
| Consumable at Outlet | 3 | Filament detected at the AMS outlet |
| Initiating | 4 | Drying is already starting up |
| Not Supported in 2D Mode | 5 | Cannot dry in current mode |
| Already Drying | 6 | Drying session already active |
| Upgrading | 7 | Firmware update in progress |
When a power constraint is detected, the drying button is disabled and shows a "Power required" tooltip. This applies to manual drying, queue auto-drying, and ambient drying — the scheduler skips AMS units with active dry_sf_reason entries.
PSU Not Connected
If you see the drying button greyed out with a "Power required" tooltip, connect the external power adapter to your AMS unit. This is the most common reason drying cannot start.
HMS Error Codes (AMS Power)¶
When the AMS encounters a power-related issue, the printer reports it as an HMS (Health Management System) error. These appear in Bambuddy's HMS error panel:
AMS 2 Pro Errors:
| HMS Code | Description |
|---|---|
07XX_9200_0002_0003 | Heater fan 1 can't start — PSU not connected |
07XX_9300_0002_0003 | Heater fan 2 can't start — PSU not connected |
07XX_9800_0002_0001 | PSU voltage too low |
07XX_9800_0002_0002 | PSU voltage too high |
AMS-HT Errors:
| HMS Code | Description |
|---|---|
18XX_2500_0002_0001 | Using printer power instead of dedicated adapter — connect the AMS-HT power adapter |
18XX_9200_0002_0003 | Heater fan 1 can't start — PSU not connected |
18XX_9300_0002_0003 | Heater fan 2 can't start — PSU not connected |
18XX_9800_0002_0001 | PSU voltage too low |
18XX_9800_0002_0002 | PSU voltage too high |
HMS Code Format
XX represents the AMS unit index (00–07 for units A–H). For example, 0700_9200_0002_0003 is unit A, 0701_9200_0002_0003 is unit B.
Starting a Drying Session¶
- Find the AMS 2 Pro or AMS-HT card on the Printers page
- Click the flame icon in the AMS card header
- In the drying popover:
- Select filament type — Choose from PLA, PETG, TPU, ABS, ASA, PA, PC, or PVA
- Temperature — Auto-set from BambuStudio official presets; adjust manually with the slider or input field
- Duration — Auto-set from presets (1–24 hours); adjust as needed
- Rotate spool — Optionally enable spool rotation during drying for more even heat distribution. Off by default. The toggle is automatically disabled (greyed out, with a tooltip) when any tray in the targeted AMS has filament threaded into the feed tube — the whole AMS rotates as one mechanism, so a single loaded slot mechanically locks the entire unit. The submission also clamps the value off in that state to prevent a stale toggle from leaking through
- Click Start
Filament Presets
Temperature and duration defaults come from BambuStudio's official filament profiles. You can customize them in Settings > AMS Display Thresholds > Drying Presets. These presets are shared between manual drying, queue auto-drying, and ambient drying.
Monitoring Drying Progress¶
When drying is active, a status bar appears between the AMS header and slot grid:
- Time remaining — Countdown in hours and minutes (e.g., "3h 42m" or "42m")
- The flame icon in the header turns amber to indicate active drying
Stopping a Drying Session¶
- Click the × button on the drying status bar, or
- Click the flame icon (when drying is active, it acts as a stop button)
Permissions¶
| Action | Required Permission |
|---|---|
| View drying status | No permission needed |
| Start / Stop drying | printers:control |
Drying During Prints
The AMS can dry filament while the printer is idle or printing. However, drying during a print may affect the AMS temperature readings and humidity levels.
Queue Auto-Drying¶
Automatically dry AMS filament between scheduled prints. When a printer is idle and humidity exceeds the configured threshold, Bambuddy starts a drying session to keep filament in optimal condition before the next print begins.
How It Works¶
- The scheduler checks idle printers that have scheduled queue items
- For each AMS unit, it reads the current humidity level
- If humidity exceeds the Fair (orange) threshold from Settings, drying is triggered
- The drying temperature and duration are determined by the loaded filament types using the configured drying presets
- After a minimum of 30 minutes, humidity is re-checked — if it drops to or below the threshold, drying is stopped early
- When the next scheduled print is ready to start, any remaining drying is stopped and the print begins
Conservative Temperature Selection¶
When an AMS unit contains mixed filament types (e.g., PLA and PETG in the same unit), the scheduler uses conservative parameters:
- Temperature — The lowest temperature across all loaded filaments (to avoid overheating sensitive materials)
- Duration — The longest duration across all loaded filaments
Per-Filament Humidity Threshold¶
A single global humidity threshold is a poor fit for multi-material print farms — Nylon wants to stay under 20%, PLA is happy at 60%, ASA somewhere in between. Bambuddy lets you set a different trigger threshold per filament type, in addition to the conservative drying temp/duration above.
Configure overrides in Settings > Workflow > Auto-Drying in the table directly below the Drying Presets table:
| Filament | Threshold |
|---|---|
| Default (unknown types) | 60 % |
| PLA | 60 % |
| PETG | 50 % |
| Nylon (PA) | 20 % |
| ASA | 30 % |
| ... | ... |
- Empty / unset — the editor pre-fills from your global AMS Humidity Threshold (Fair) value, so the upgrade is silent. You only need to touch the rows for materials you want to treat differently.
- Range — 5 % to 95 %.
- Clearing a row (delete the value, click away) resets that row to use the Default row.
Mixed-AMS Resolution: Most-Restrictive Wins¶
When one AMS unit holds different filament types, Bambuddy picks the lowest threshold across the loaded spools. A unit with PLA at 60 % and Nylon at 20 % triggers drying when humidity exceeds 20 % — the Nylon's level — protecting the most sensitive material in the unit.
This matches the conservative-params strategy used for drying temperature and duration above. If you want a dedicated humidity profile per material, dedicate one AMS unit per filament type.
What the Override Drives¶
The per-filament threshold is read by both:
- The auto-drying scheduler — decides when to start, stop, and skip drying per AMS.
- The hourly humidity alarm notifier — fires
on_ams_humidity_high/on_ams_ht_humidity_high(see Notifications).
Both consumers go through the same resolver, so they can never disagree on whether a given AMS is "too humid."
What this does NOT change
- The AMS humidity badge color on the printer card stays based on the single global Fair threshold from Settings > General. Badge color is per-AMS-unit, and there's no clean way to color a mixed AMS based on its most sensitive material — the override applies only to the scheduler and the alarm, which act on per-AMS firmware commands.
- The drying temperature and duration for each filament are still set in Drying Presets above (separate setting). Humidity = when to dry. Temp + duration = how to dry.
Enabling Auto-Drying¶
- Go to Settings > AMS Display Thresholds
- Set the Fair (orange) ≤ humidity threshold — this is the trigger point for auto-drying
- Scroll to Queue Auto-Drying
- Enable Enable auto-drying
- Optionally enable Wait for drying to complete (blocking mode)
Blocking vs Non-Blocking Mode¶
| Mode | Behavior |
|---|---|
| Non-blocking (default) | Prints take priority. Drying stops when a print is ready to start. |
| Blocking | Queue waits until the drying session finishes before starting the next print. |
Which mode should I use?
Non-blocking is recommended for most users — it ensures prints start on time while filling idle gaps with drying. Use blocking only if filament dryness is critical for print quality (e.g., Nylon, PC) and you don't mind delayed print starts.
When Auto-Drying Stops¶
Auto-drying is stopped automatically when:
- Humidity drops below threshold — checked every scheduler cycle; once humidity is at or below the Fair value, drying stops
- A scheduled print is ready to start (non-blocking mode)
- The queue item's schedule is removed or changed to "Queue Only"
- All scheduled items are removed from the queue
- Auto-drying is disabled in Settings
Threshold works both ways
The Fair (orange) humidity threshold controls both start and stop. Drying starts when humidity exceeds the threshold and stops when it drops back to or below it — but only after a minimum of 30 minutes of drying. This prevents rapid start/stop cycling when humidity is near the threshold.
Requirements¶
- At least one scheduled queue item (items in "Queue Only" mode do not trigger auto-drying)
- AMS 2 Pro or AMS-HT unit (original AMS does not support drying)
- Supported printer firmware (see firmware requirements above)
- Humidity above the Fair threshold
No Scheduled Prints?
If you want drying to run on idle printers regardless of whether prints are scheduled, see Ambient Drying below.
Ambient Drying¶
Automatically dry filament on any idle printer whenever AMS humidity exceeds the configured threshold — no scheduled prints required. While queue auto-drying only activates when prints are scheduled, ambient drying keeps filament dry on all idle printers at all times.
How It Works¶
- The scheduler continuously monitors all idle printers
- For each AMS unit, it reads the current humidity level
- If humidity exceeds the Fair (orange) threshold from Settings, drying is triggered
- The drying temperature and duration are determined by the loaded filament types using the configured drying presets
- After a minimum of 30 minutes, humidity is re-checked — if it drops to or below the threshold, drying is stopped early
Unlike queue auto-drying, ambient drying does not require any scheduled queue items. It runs whenever a printer is idle and its AMS humidity is above the threshold.
Enabling Ambient Drying¶
- Go to Settings > Print Queue
- Find Ambient Drying
- Enable Enable ambient drying
Using Both Modes Together¶
Ambient drying and queue auto-drying can be enabled simultaneously. They complement each other:
| Mode | Triggers when | Stops when |
|---|---|---|
| Queue auto-drying | Printer is idle with scheduled prints pending | Humidity drops below threshold, or next print is ready to start |
| Ambient drying | Printer is idle (no scheduled prints required) | Humidity drops below threshold |
When both are enabled and a printer has scheduled prints, queue auto-drying takes precedence (since it is aware of print scheduling and blocking/non-blocking behavior). On printers with no scheduled prints, ambient drying takes over.
Requirements¶
- AMS 2 Pro or AMS-HT unit (original AMS does not support drying)
- Supported printer firmware (see firmware requirements above)
- Humidity above the Fair threshold
- No active power constraints on the AMS unit (see power supply requirements)
Print Farm Use Case
Ambient drying is particularly useful for print farms where printers may sit idle for extended periods. Rather than letting humidity build up, Bambuddy keeps filament dry on every idle printer automatically.
Continue Drying While Printing¶
Bambu shipped an "AMS Print While Drying" firmware feature on selected printers that lets the AMS keep running its drying cycle concurrently with an active print. With this feature enabled in Bambuddy, the existing auto-drying scheduler can also evaluate printers that are mid-print — drying does not stop the instant a print starts.
Off by default. Opt-in toggle in Settings > Workflow > Continue drying while printing.
Firmware Requirements¶
These minimum firmware versions are verified per Bambu wiki release notes (release-note phrasing: "printing while filament is drying" / "Print While Drying"):
| Printer Model | Min Firmware |
|---|---|
| H2D | 01.03.00.00 |
| H2D Pro | 01.02.00.00 |
| H2C | 01.02.00.00 |
| H2S | 01.02.00.00 |
| X2D | 01.01.00.00 |
| X1C | 01.11.02.00 |
| P2S | 01.02.00.00 |
| A2L | 01.01.00.00 |
Not supported (intentionally excluded — wiki release notes never mention "Print While Drying" for these models):
- P1P / P1S
- A1, A1 Mini
- X1 (non-C), X1E
On an unsupported printer the toggle has no effect — the firmware reports dry_sf_reason=[0] (TaskOccupied) any time a print is running, so any attempt to start drying mid-print is rejected at the printer.
How It Works¶
- The auto-drying scheduler evaluates all active printers, not just idle ones
- For each printer, it checks model and firmware against the matrix above
- If the printer is mid-print and supports concurrent drying and AMS humidity exceeds the threshold, drying starts (or continues) using the conservative per-AMS preset
- The mid-print drying temperature is automatically capped at
max(40, preset_temp - 5)— Bambu's own release notes warn "lower drying temperature during printing" and "drying temperature must not exceed the filament's softening temperature". The 5 °C offset protects spools inside the hot enclosure during an active print - Humidity is re-checked at the same minimum interval as the idle path — drying stops early when the spool reaches the target threshold
- The firmware's per-AMS
dry_sf_reasonfield continues to arbitrate — if hardware rejects the command for any reason (busy AMS, power constraint, filament at outlet), the scheduler honours that decision per AMS
Enabling¶
- Go to Settings > Print Queue
- Find Continue drying while printing
- Enable the toggle
The toggle is independent of queue auto-drying and ambient drying — you can mix and match. With all three enabled, drying runs in idle gaps and during prints on capable hardware, stopping only when humidity reaches the per-filament target.
Safety¶
- Temperature cap —
max(40, preset_temp - 5)°C, applied automatically. The user-configured idle preset is not touched; the cap only applies to the mid-print code path - Firmware is the ultimate arbiter — Bambuddy never sends a drying command that contradicts the printer's reported state. The matrix is a UI affordance; if Bambu silently ships the feature to a new model, Bambuddy will surface the toggle there too on the next release
- Default off — existing installs see no behaviour change until the toggle is enabled
Requirements¶
- Supported printer firmware (matrix above)
- AMS 2 Pro or AMS-HT unit (original AMS does not support drying)
- Humidity above the configured threshold
- No active blocking constraints on the AMS unit (see power supply requirements)
Configurable Drying Presets¶
Customize the drying temperature and duration for each filament type. These presets are used by both manual drying, queue auto-drying, and ambient drying.
Default Presets¶
Defaults are based on BambuStudio's official filament drying profiles:
| Filament | AMS 2 Pro Temp | AMS-HT Temp | AMS 2 Pro Duration | AMS-HT Duration |
|---|---|---|---|---|
| PLA | 45°C | 45°C | 12h | 12h |
| PETG | 65°C | 65°C | 12h | 12h |
| TPU | 65°C | 75°C | 12h | 18h |
| ABS | 65°C | 80°C | 12h | 8h |
| ASA | 65°C | 80°C | 12h | 8h |
| PA | 65°C | 85°C | 12h | 12h |
| PC | 65°C | 80°C | 12h | 8h |
| PVA | 65°C | 85°C | 12h | 18h |
Editing Presets¶
- Go to Settings > AMS Display Thresholds
- Find the Drying Presets table
- Edit temperature (°C) and duration (hours) for each filament type
- Changes auto-save
AMS 2 Pro Temperature Limit
AMS 2 Pro (n3f) has a hardware maximum of 65°C. AMS-HT (n3s) supports up to 85°C.
Auto Off After Drying (Smart Plug)¶
If the printer (or its AMS) is on a smart plug, Bambuddy can cut power automatically once a drying cycle completes. The trigger works for all three drying paths — manual drying, queue auto-drying, and ambient drying — because Bambuddy detects completion from the printer's MQTT state (dry_time falling from a positive value to 0), not from how the cycle was started.
Enabling¶
- Open Settings > Smart Plugs (or expand the plug card on the dashboard)
- On the plug that powers the printer and AMS, enable Auto Off After Drying
- Set the Drying delay (minutes) — default 10 minutes, gives the AMS chamber time to cool before power is cut
How It Differs From Print-Finish Auto-Off¶
| Print-Finish Auto-Off | Auto Off After Drying | |
|---|---|---|
| Trigger | Print completes successfully | AMS dry_time reaches 0 |
| Default delay | 5 minutes | 10 minutes (chamber stays warmer) |
| Cooldown mode | Time or temperature (hotend) | Time only |
| Per-plug toggle | auto_off | auto_off_after_drying |
Both toggles are independent — you can enable either, both, or neither on the same plug.
Per-AMS routing
The trigger is plug-vs-printer-level: if your printer has multiple AMS units on one plug, the auto-off fires whenever any of them finishes a cycle. Per-AMS targeting (a separate plug for the AMS, or different plugs for AMS 0 vs AMS 1 on dual-AMS printers) is not currently supported.
Historical Charts¶
Click on the humidity or temperature indicator to view historical data:
Time Ranges¶
- 6 hours - Recent trends
- 24 hours - Daily pattern
- 48 hours - Extended view
- 7 days - Weekly overview
Chart Features¶
- Min/Max/Avg statistics
- Threshold reference lines
- Interactive tooltips
- Zoom and pan
Data Retention¶
AMS data is stored for historical analysis:
Default Retention¶
- 30 days of humidity/temperature data
- Configurable in Settings
Configuring Retention¶
- Go to Settings > General
- Find AMS Data Retention
- Set number of days (1-365)
- Older data is automatically purged
Storage Impact
Longer retention periods increase database size. Consider your available storage.
AMS Notifications¶
Get notified about AMS conditions:
Available Alerts¶
| Event | Description |
|---|---|
| High Humidity | When humidity exceeds threshold |
| Low Filament | When filament is running low |
| AMS Error | When AMS encounters issues |
Setting Up¶
- Go to Settings > Notifications
- Add or edit a provider
- Enable AMS-related events
- Save changes
AMS-HT vs Standard AMS¶
| Feature | Standard AMS | AMS-HT |
|---|---|---|
| Humidity monitoring | ||
| Temperature monitoring | ||
| Remote drying | ||
| High-temp filaments |
AMS-HT Temperature Control¶
AMS-HT units can actively dry filament. See Remote AMS Drying for setup and usage.
Custom AMS Labels¶
Assign friendly names to your AMS units to easily identify them in multi-AMS setups.
AMS Info Card¶
Hover over any AMS label (e.g. "AMS-A") on the Printers page to see a popover with:
- Serial Number — The hardware serial from MQTT
- Firmware Version — Parsed from the printer's
get_versionresponse - Friendly Name — An editable text field for your custom label
Setting a Custom Label¶
- Hover over the AMS label on the Printers page
- Type a name in the "AMS Name" field (e.g. "Silk Colours", "Workshop AMS")
- Click Save or press Enter
- To remove a label, clear the field and save, or click Clear
Permission Required
Editing AMS labels requires the printers:update permission when authentication is enabled.
Label Persistence¶
Labels are stored by AMS serial number, so they persist when the AMS is moved to a different printer. If the AMS serial is not available (older firmware), a fallback key based on printer ID and AMS position is used.
Custom labels also appear in the Inventory page location column alongside the slot identifier, making it easy to find spools across a print farm.
Slot Numbers¶
Each filament color circle now displays a 1-based slot number with automatically inverted text contrast — black text on light filaments, white text on dark filaments.
AMS Discovery¶
Bambuddy automatically discovers connected AMS units:
- Detected during printer connection
- Updates when AMS configuration changes
- No manual configuration needed
Dual-Nozzle Wiring¶
For H2D and other dual-nozzle printers, Bambuddy displays the AMS wiring configuration:
- Which AMS units feed which nozzle
- Visual diagram of connections
- Helps plan multi-material prints
Nozzle-Aware Filament Mapping¶
On dual-nozzle printers (H2D, H2D Pro), each AMS unit is physically connected to either the left or right nozzle. The 3MF file's nozzle assignment is used to pre-fill the right slot per filament; you can still manually override with a tray on the other extruder when you've intentionally loaded the required filament there.
Auto-match (pre-fill behaviour):
- The 3MF file contains
filament_nozzle_mapandphysical_extruder_mapinproject_settings.config, mapping each filament slot to a target nozzle (0 = right, 1 = left) - The printer reports
ams_extruder_mapvia MQTT, indicating which AMS unit feeds which nozzle - Auto-match prefers trays on the slicer-assigned nozzle when matching by type + colour
- If no matching tray exists on the target nozzle, auto-match falls back to the full tray list
Manual cross-extruder picks:
The per-filament slot dropdown in the Print modal shows every loaded AMS slot, regardless of which extruder it feeds. The L / R badge stays next to each filament as a hint to the slicer's intent, but it does not hide slots on the other extruder. If you've loaded the required filament into an AMS on the "wrong" side on purpose (a common H2D workflow when one AMS is busy with another colour set), you can pick it.
The printer's firmware decides at start-print whether the resulting ams_mapping is physically valid; if a cross-extruder combination really can't be served, the firmware reports the error normally.
This applies to:
- Print scheduler — automatic filament matching for queued prints (still nozzle-preferring; never picks cross-extruder on its own)
- Print modal — filament mapping for ASAP, Queue, Schedule, and Manual Start dispatch options
- Multi-printer selection — per-printer mapping for print farms
Single-Nozzle Printers
On single-nozzle printers (X1C, P1S, A1, etc.), nozzle filtering is not applied. All AMS trays are available for matching as before.
Filament Track Switch (FTS) Support¶
The Filament Track Switch is an external accessory for dual-nozzle printers that sits between an AMS and the printer's extruders, dynamically routing any AMS slot to either nozzle. With the FTS installed, the AMS is no longer wired to a single extruder — it can feed either one through the track switch.
When Bambuddy detects the FTS (via print.device.fila_switch in the printer's MQTT push), the per-nozzle filter is automatically suppressed in the print modal:
- Without FTS — each AMS unit feeds a fixed nozzle, so the dropdown only shows trays on the matching nozzle (preventing the "position of left hotend is abnormal" failure that comes from cross-nozzle assignment).
- With FTS installed — every loaded AMS slot is selectable for any nozzle's filament, since the FTS handles the routing on the fly.
Routing badges: slots currently fed into a track display an [L] or [R] badge in the dropdown, indicating which extruder the FTS is currently routing them to. Idle slots (not currently in any track) show no badge — they can be routed on demand.
Detection is automatic
There's no setting to toggle. The FTS is detected from MQTT in real time, so plugging in or removing the accessory updates the dropdown behaviour on the next status push.
Spoolman Integration¶
Sync AMS slots with Spoolman for complete filament tracking:
- Configure Spoolman integration in Settings
- AMS slots sync automatically
- Track usage across your inventory
Tips¶
Desiccant Maintenance
When humidity consistently stays high, it's time to replace or regenerate your desiccant packets.
Filament Storage
For filaments not in the AMS, store in vacuum bags with desiccant to maintain low humidity.
Historical Analysis
Review humidity charts to understand how your environment affects filament condition over time.
AMS-HT for Hygroscopic Filaments
Consider AMS-HT for moisture-sensitive materials like Nylon, PC, and PETG.
Auto-Drying Between Prints
Enable queue auto-drying to keep filament dry during long print queues, or enable ambient drying to keep filament dry on all idle printers — even when no prints are scheduled. Both use the Fair humidity threshold as the trigger point.