Skip to main content
Nastrotek
IoT SolutionsIoT SolutionsNew

A mini 3D-printed solder fume extractor for a small desk

Build a compact fume extractor with a 120 mm fan, 3D-printed case, and ESP32-C3 for speed control, timers, and filter reminders.

Share

LinkedInFacebookX
Hands soldering a PCB while a compact 3D-printed fume extractor pulls flux smoke away from the joint

My workbench is not large. Once the soldering iron, magnifier, power supply, and a few component boxes are on it, there is barely any room left. A large fume extractor usually ends up pushed into a corner, and a distant extractor quickly becomes little more than a desk fan.

This note is for a small box built around a standard 120 mm PC fan, with an angled stand and a slide-out filter tray. The basic version only needs a switch. If I add an ESP32-C3, I only want it to do a few concrete jobs: change fan speed, stop the fan after a soldering session, and count operating hours for filter inspection.

This is not professional extraction equipment

The visible plume during electronics soldering mainly comes from flux. The UK HSE notes that rosin-based flux fume is a significant cause of occupational asthma and recommends extraction while keeping your head out of the plume. It also warns that bench-mounted boxes have limitations unless fitted with a HEPA filter.

I would treat this mini unit as source capture for short hobby soldering sessions. If you solder regularly, work with unknown materials, or use a poorly ventilated room, a proper local exhaust system or ducted exhaust is the better direction. A thin carbon pad may reduce odor, but it should not be presented as complete protection.

A 120 mm PC fan, carbon filter, ESP32-C3, control board, and 3D-printed enclosure parts laid out on a workbench.

The mechanical build stays simple; the ESP32-C3 only adds speed control, a timer, and a filter reminder.

Parts for the first build

PartPractical choice
Fan120 x 25 mm, 12 V PWM fan; decent static pressure helps with filter resistance
Filter130 x 130 mm carbon pad cut to the tray, with room for a suitable upgraded filter layer
ControllerESP32-C3 mini plus a driver suitable for the selected fan
Power12 V adapter or 12 V USB-C PD trigger, rated for the fan and electronics
Local controlOne push button or small encoder, plus a status LED
MechanicalPLA/PETG case, M3 screws, rubber feet, and fan guards

For the fastest build, skip the ESP32 and use a switch with a small PWM controller. For the IoT version, I prefer a four-wire PC fan because its dedicated PWM input gives cleaner low-speed control and keeps the circuit straightforward.

What matters in the printed enclosure?

I would design around the real fan dimensions instead of forcing it into an elaborate shape:

  • A 20-30 degree tilt aimed at the soldering area.
  • A side-loading filter tray that does not require four screws for every change.
  • A lightly flared intake without blocking too much fan area.
  • Guards on both sides when loose cables share the desk.
  • An ESP32 compartment outside the dirty airflow, with USB-C still accessible.
  • Wide rubber feet so the unit stays put at full speed.

Print the filter tray first and check its clearance before committing to the whole enclosure. PETG is a comfortable workshop choice, although PLA is fine for a prototype that stays away from direct heat.

Two hands soldering a secured PCB while a mini fume extractor draws flux smoke away from the joint.

Keeping the intake roughly 10-20 cm from the joint usually matters more than running a distant fan at full speed.

Close placement beats a loud fan

I would place the intake about 10-20 cm from the joint, put a small amount of flux on scrap copper wire, heat it, and watch the plume. The smoke should turn clearly toward the intake before it reaches your breathing zone.

If the fan runs at 100% and smoke still passes your face, move the unit closer or adjust its angle first. More speed from the far side of the desk usually adds noise without fixing the capture problem.

Just enough IoT

Only three smart features feel worth keeping:

  1. A physical button cycles through 40%, 70%, and 100%.
  2. A 30-minute auto-off timer, while local control keeps working without Wi-Fi.
  3. An operating-hour counter with a filter inspection reminder, perhaps every 40 hours.

A minimal ESPHome starting point looks like this:

output:
  - platform: ledc
    pin: GPIO4
    frequency: 25000 Hz
    id: fan_pwm

fan:
  - platform: speed
    output: fan_pwm
    name: "Solder Fume Extractor"
    speed_count: 3
    restore_mode: ALWAYS_OFF

This is only the control outline. The electrical interface must match the selected fan, and a 12 V fan must never be powered directly from an ESP32 pin. I would also leave out the VOC sensor in version one. A gas sensor sitting in concentrated flux fumes can produce interesting numbers that are difficult to interpret, while intake distance and filter condition have a more direct effect on capture.

First-build checklist

  • Verify power polarity and current capacity before connecting the ESP32.
  • Check that the fan does not rub the enclosure at any speed.
  • Fit guards so loose wires cannot reach the blades.
  • Test the smoke path at several real soldering positions.
  • Make the filter tray seal around its edges without becoming difficult to remove.
  • Write the installation date on the filter instead of trusting only the hour counter.
  • Keep using room ventilation whenever possible.

I would judge the first build through a few real soldering sessions, not just a neat parts photo. If it pulls smoke out of my breathing path at 10-20 cm, the tray is not annoying to service, and the box does not steal desk space when stored, then it is worth refining the second enclosure around my actual bench.

References

Share

LinkedInFacebookX

Keep exploring

Read next

Related articles

View more in IoT Solutions

Nastrotek uses cookies for analytics and ad personalization to help us understand how the site is used. You can accept or decline non-essential cookies.