OrcaSlicer Air Filtration & Exhaust Fan Control Guide | orcaslicer.pro
Wiki · Cooling & Ventilation

Air filtration & exhaust fan control in OrcaSlicer

Where the setting lives, what M106 P3 actually does, and how to wire it up correctly if you’re running Klipper.

Command: M106 P3 S(0–255) Setting level: Printer + Material Applies to: Enclosed / ducted printers

What air filtration means in OrcaSlicer

OrcaSlicer air filtration runs on a separate fan channel — not the one cooling your plastic.

OrcaSlicer air filtration is the feature that controls a dedicated exhaust or filtration fan while a print runs, and it’s a different job from the part-cooling fan, which cools freshly extruded plastic and shapes overhangs, bridges, and surface finish. The exhaust fan instead moves air out of (or through) the enclosure — into a HEPA/carbon filter, a duct to the outside, or a standalone air-cleaning unit.

This matters most on enclosed setups — if you’re not sure your printer qualifies, our list of 3D printers compatible with OrcaSlicer covers which enclosed and open-frame models are well supported.

OrcaSlicer generates the exhaust-fan G-code only when the printer profile is configured to support it. Two typical hardware layouts:

  • Enclosure → exhaust fan → HEPA/carbon filtration → filtered air back into the room
  • Enclosure → exhaust duct → outside ventilation

Which one you have determines how you’ll want to configure During print and Complete print further down this page.

Where the settings actually live

Two separate places — one enables the feature on the printer, the other configures its behavior per filament.

Printer Settings

Printer Settings → Basic Information → Printer Accessory

Toggle: Support air filtration — a Developer‑mode setting. Start from printer selection if you haven’t picked a profile yet.

  • Must be enabled before anything below becomes available

Filament / Material Settings

Filament Settings → Cooling → Exhaust fan
  • Activate air filtration
  • During print
  • Complete print

Part of the same panel covered in our filament settings guide.

Internally: the printer-level toggle is support_air_filtration; the material-level toggle is activate_air_filtration.

Turning it on, start to finish

  1. Open Printer Settings

    Select your printer profile from the top of the window — see printer selection if you’re setting one up for the first time.

  2. Go to Basic Information → Printer Accessory

    This is where the air-filtration toggle for this printer profile lives.

  3. Enable Support air filtration

    Only shows a result if the profile supports the feature — it’s a Developer-mode setting, so confirm Developer mode is on.

  4. Switch to your Filament Settings

    The exhaust fan behavior is configured per filament profile, not per printer.

  5. Open Cooling → Exhaust fan

    This section only appears once the printer-level support is enabled.

  6. Enable Activate air filtration

    This turns the exhaust fan on for this specific filament profile.

  7. Set During print and Complete print

    Covered in detail in the next section — these are the two speeds that matter.

Can’t find the setting? Don’t assume it’s broken. Two things to check first: the printer profile has to actually support air filtration, and Support air filtration only shows up in Developer mode. It’s also worth confirming you’re on a current printer profile and OrcaSlicer version — release notes (a 2.4.0 note, for example) have documented fixes to how these controls are exposed and when the filtration G-code gets generated at all.

The three exhaust fan controls, explained

Activate air filtration

Turns on exhaust/filtration control for this material profile. Internally documented as activate_air_filtration. Enabling it lets OrcaSlicer emit:

M106 P3 S(0-255)

This is a separate command from the part-cooling fan — enabling it doesn’t change how the part-cooling fan behaves.

During print

Sets the exhaust fan speed while the printer is actively working. Two variables sit behind this control:

activate_air_filtration_during_print during_print_exhaust_fan_speed
Worth knowing: the configured exhaust-fan speed here can override the speed set in filament custom G-code. If you’ve hand-tuned custom start/end G-code — see our guide to generating G-code from STL files — check for conflicts with the exhaust settings.

There’s no single “correct” percentage — the right value depends on enclosure design, fan size, filtration hardware, printer, filament, target chamber temperature, and how much airflow you actually want.

Complete print

Controls the exhaust fan once printing has finished:

activate_air_filtration_on_completion complete_print_exhaust_fan_speed

Useful if you want filtration to keep running after the last layer — extra post-print air circulation for an enclosed printer, rather than the fan cutting out the moment the print ends.

What M106 P3 actually is

This is the command doing the work, so it’s worth understanding on its own:

M106 P3 S255 // M106 = set fan speed // P3 = fan index used for the exhaust/filtration fan // S255 = speed value, 0–255

M106 P3 S0 is zero speed. M106 P3 S255 is maximum, in OrcaSlicer’s documented fan-control range.

P3 is a slicer index, not a physical pin. OrcaSlicer associates P3 with the exhaust/enclosure fan for its own fan-control logic — but which physical fan that maps to depends entirely on your printer’s firmware. This matters most with Klipper, where the mapping is something you configure yourself.
OrcaSlicer fan index reference
FanIndexTypical function
Part coolingP0Cools the printed part
Auxiliary fanP2Additional part/chamber airflow
Exhaust / filtrationP3Enclosure exhaust or filtration

Physical implementation varies by printer profile and firmware — don’t assume the slicer index maps to a hardware pin of the same number.

Why P3 matters

It’s tempting to assume every physical printer numbers its fans the same way — it doesn’t. OrcaSlicer’s documentation associates P3 with the exhaust/enclosure fan for its own fan-control logic, but the actual physical fan and firmware configuration have to be set up to honor that mapping. This distinction matters most with custom Klipper configurations, where nothing stops you from wiring P3 to the wrong fan by accident.

Setting it up with Klipper

Klipper users get the most flexibility, because a macro decides how the slicer’s fan command reaches a physical fan — you’re not locked into whatever the printer profile assumes.

OrcaSlicer M106 P3 S… Klipper M106 macro translates P value → named fan fan3 (or a custom name, e.g. EXHAUST) Physical enclosure exhaust fan

OrcaSlicer ships a reference Klipper configuration that defines fan0, fan2, and fan3, with a custom M106 macro translating the incoming P value to the right Klipper fan. The pin names in that reference config are placeholders — they need to be changed to match your actual wiring.

The current documentation also shows an index-to-name mapping approach, so you can call the fan something descriptive like EXHAUST in your config while staying compatible with OrcaSlicer’s numeric indexes. Handy if you’ve built a custom enclosure and don’t want to remember which number is which. Once it’s wired up, run it through our calibration guide before trusting it on a long print.

P3 is not automatically your physical fan. It’s an OrcaSlicer fan index, not necessarily a motherboard connector labeled “Fan 3” — your firmware decides how that command gets interpreted. The reference Klipper setup shown above demonstrates one specific path, P3 → fan3 → exhaust fan, through a custom macro. A different printer can map the same slicer command differently, which is exactly why copying a working configuration from someone else’s printer without checking the hardware and firmware mapping can cause problems.

Exhaust fan vs. part-cooling fan

Part-cooling fanExhaust / filtration fan
Fan indexP0P3
AffectsThe printed material directlyEnclosure airflow
InfluencesBridges, overhangs, layer bonding, surface quality, dimensional accuracyChamber temperature, fume/particulate removal, filtration throughput
Typical hardwareDuct/shroud at the nozzleHEPA, carbon filter, ducted exhaust, standalone air cleaner

OrcaSlicer treats these as entirely separate functions with separate G-code. Turning one on has no effect on the other, and neither affects unrelated motion settings like Z-hop.

Should the exhaust fan run during printing?

There’s no printer-wide default that’s correct here — it depends on what the enclosure is doing thermally, and it’s worth treating deliberately rather than leaving at a guessed value.

  • Enclosure temperature target for the material you’re printing
  • Printer manufacturer’s own ventilation recommendations
  • Filament thermal requirements
  • Filtration efficiency and airflow rate
  • Room ventilation (is the exhaust venting outside or recirculating?)
  • Whether the fan is pulling heated chamber air out — this can undo a warm chamber you’re relying on
Don’t treat it like the part-cooling fan. Increasing exhaust airflow changes the thermal environment inside the enclosure — that matters a lot more for ABS/ASA/Nylon than it does for PLA.

Exhaust behavior by filament

MaterialWhat to weigh
PLAUses substantial part cooling; enclosure ventilation needs depend more on your filtration hardware than the material itself.
PETGWants a different cooling balance from PLA — see our dedicated PETG profile guide rather than copying a PLA setup.
ABS / ASAWhere enclosure ventilation and filtration matter most — if you’re running Overture ABS, chamber temperature, filtration, and exhaust strategy need to be considered together.
Nylon / PCDemanding thermal requirements — excessive exhaust airflow can pull down chamber conditions you need to hold steady.

There’s no single “OrcaSlicer exhaust fan percentage” that works across materials — treat it as part of the printer’s overall thermal and filtration setup, not a fixed number to copy between profiles.

Troubleshooting

Exhaust fan not responding

  • 1 — Profile support

    Confirm the printer profile actually has Support air filtration available under Printer Accessory. Not every profile ships with it.

  • 2 — Activation

    Check Material Settings → Cooling → Exhaust fan → Activate air filtration is switched on for the filament you’re using.

  • 3 — Generated G-code

    Slice, then inspect the output for M106 P3 S…. If it’s missing, the problem is upstream in the printer profile or activation settings — not the hardware.

  • 4 — Firmware mapping

    On Klipper, verify your M106 macro correctly routes P3 to the physical exhaust fan.

  • 5 — Physical hardware

    If the correct G-code is generated but nothing happens: check fan wiring, controller output, power supply, the MOSFET/driver, Klipper config, fan pin, and PWM setup. If the slicer itself is misbehaving rather than the fan, check our Orca Slicer not working guide.

Exhaust fan stuck on

Check the generated G-code for M106 P3 commands and see what’s issued right after — that tells you whether OrcaSlicer or the firmware owns the behavior. On Klipper, re-check the M106 macro and the P-to-fan mapping; a mismatch between what the slicer expects and what the firmware has configured is the most common cause. Also worth confirming you’re not running into an unrelated Access Violation error, and that you’re on the latest release — see updating OrcaSlicer.

Recommended setup order

  1. Enable air-filtration support

    On the printer profile, under Printer Accessory.

  2. Confirm the physical fan is wired correctly

    Before touching any slicer settings.

  3. Map the fan in firmware

    Klipper users: set up the M106 macro now, before testing in the slicer.

  4. Activate air filtration in Material Settings

    Per filament profile, under Cooling → Exhaust fan.

  5. Set During print behavior

    Pick a speed appropriate to your enclosure and material — see the filament table above.

  6. Set Complete print behavior

    Only if you want filtration to continue after the print finishes.

  7. Slice a small test model

    No need to commit a full print to this yet.

  8. Inspect the G-code

    Confirm M106 P3 commands appear where expected.

  9. Test the physical fan

    Before relying on the setup for a long, unattended print. If you need to intervene mid-print, it’s worth knowing how to pause a print or change filament without losing progress.

Frequently asked questions

What is air filtration in OrcaSlicer?

A system for controlling a dedicated exhaust or filtration fan, separate from the part-cooling fan. The command behind it is M106 P3.

What is P3 in OrcaSlicer?

The fan index OrcaSlicer uses for its air-filtration/exhaust fan. The full command is M106 P3 S(0-255).

Where is the exhaust fan setting?

Filament Settings → Cooling → Exhaust fan, where you’ll find Activate air filtration, During print, and Complete print.

Is the exhaust fan the same as the auxiliary fan?

No. The auxiliary fan is M106 P2; the exhaust/filtration fan is M106 P3. They’re independently controlled.

Can OrcaSlicer control an exhaust fan on Klipper?

Yes — via a reference Klipper configuration and an M106 macro that maps the slicer’s fan index to a physical Klipper fan.

Why can’t I see the air-filtration option?

Two likely reasons: the printer profile doesn’t support the feature, or Support air filtration (a Developer-mode setting) isn’t enabled. Also confirm you’re on a current OrcaSlicer version and check the interface guide if the menu layout looks different from this walkthrough.

Final thoughts

Air filtration and exhaust fan control in OrcaSlicer is more than a single checkbox. The feature ties together several parts of the workflow — printer settings, material cooling, exhaust-fan speed, the generated G-code, fan indexes, and firmware configuration all have to agree with each other.

For most users, the settings that matter are Activate air filtration, During print, and Complete print. For anyone going further — custom enclosures, Klipper setups, multi-fan configurations — understanding M106 P3 and how it maps to your actual hardware is the part worth getting right first.

If you’re on Klipper, the M106 macro approach covered above gives you the most control over how the exhaust fan is mapped and operated — it’s worth the extra setup time on an enclosed printer.