After spending years blowing solder fumes away from my face (or giving up and just breathing them in), I had enough and built a fume extractor out of custom 3D-printed parts and stuff from the junk bin. The resulting tool ended up being a compromise between noise level and effectiveness at reducing my exposure to fumes.
The fan used to suck fumes away from my face, a Noctua industrialPPC series PC case fan, was left-over from another project and extremely quiet for how much air it moved. While I could have used another, more powerful fan, I took the challenge of optimizing the extractor around this particular one.
With that constraint, the 3D-printed fan shroud became the focus of the project, because its shape had the next greatest influence on the effectiveness of the extractor. Some research was required on filter media used to capture the fumes, which I also compromised on.
Shroud Version 1: It looks like it'll work
In the first version of the fan shroud, I just modeled something that looked like it would work. It resembled industrial fume extractors I'd seen in labs and kitchens, albeit without any of the design nuances that make those expensive units worthwhile.
I made sure to create a 'switch box' feature protruding from the body that matched the original lamp's geometry.
After researching what household fume hoods use, I purchased some cheap activated carbon (charcoal) filter material intended for air purifiers. I cut it to size and shoved it into the back of the shroud. It did seem to work, and I could have stopped here if that was good enough for me.
Fumes were pulled away from my face when it was positioned close to the workpiece, but there were regions around the face of the shroud where smoke was being blown away from it, rather than being sucked up into it. My suspicion was that the simple rectangular shape of the shroud was reducing airflow efficiency through it, or even actively working against it.
I also realized many dimensions were way too tight, mostly within the switch box, and I neglected to add a hole for the power cord to pass through.
Downloads - Version 1
Type | Filename + Description | Date | Size | SHA256 |
---|---|---|---|---|
![]() | Shroud V1.0 3D model | 2020-11-25 | 181.7 KiB | |
![]() | Shroud V1.0 3D model | 2020-11-25 | 2.0 MiB |
Resources - Version 1
Type | Name + Description |
---|---|
![]() | Shroud V1.0 3D model |
Shroud Version 2: It simulates like it'll work
My goal for version 2 of the shroud was to maximize the distance from the front face of the shroud from which fumes could be extracted. In other words, I wanted to optimize the design so a usefully high air velocity is present at a further distance from the fan.
This would result in more room around a workpiece and make soldering a little more comfortable. Plus, I figured that by optimizing the shape of the shroud, the issue with fumes being blown around would also be solved.
With little intuition in the field of fluid dynamics, and no experience in simulations (CFD), I dove right into learning how to use SimScale.
Simulations
Method
Although the final design for V2 is considerably different from V1, when running simulations I only focused on interior shape of shroud and did not experiment with the external shape of the shroud. I created a few classes of shroud profiles to test: Control (resembling V1), Elliptical, Conical, and Flared.
Each candidate design was modeled in OnShape, then 'boxed up' to define the volume for the simulation. The geometry was then imported into SimScale and the Open Inner Region geometry operation was performed, with the following options:
- Boundary faces: All 6 outer faces of the enclosing box
- Seed faces: Inner surface of the shroud
After that operation completed, an Incompressible Fluid Flow simulation was created from it. The following boundary conditions were assigned to it:
- Pressure inlets: All 6 outer faces of the enclosing box
- Velocity output: Face corresponding to fan output
The velocity output was set to a fixed value of -3.29 \(m/s\), normal to the selected face. While the direction of flow is a result of how the part was drawn, the magnitude was calculated based on Noctua's specifications for the NF-A14 industrialPPC-2000 PWM fan. Given an airflow of 182.5 \(m^3/h\) and a diameter of 140mm, the air velocity can be calculated:
$$ V = \frac{Q}{\pi r^2} $$
Where \(Q\) is the airflow for the specified area and \(r\) is its radius.
$$ V = \frac{182.5 * (1/3600)}{\pi (0.140/2)^2} = 3.29 m/s $$
All simulations were done using a simplified version of the shroud, with no other features or geometry, since I assumed that the other features - for mounting the fan, switch, articulating arm, etc. - would be dictated by the design that performs the best, so I wouldn't try to account for them in the simulations.
All of my conclusions have been drawn by visually inspecting simulation results, velocity magnitude and vector plots. When analyzing simulation results, I assume that low-velocity regions inside the shroud (as seen in a cross-sectional view of the vector/magnitude plots) contribute to fumes being blown away from the shroud, particularly near the outer edges.
The velocity magnitude plots shown below are simply screenshots taken from SimScale, after setting the scale as 0 to 5 \(m/s\). The overall depths of each shroud are identical, except for the control profile. The differences between each simulation run tended to be subtle, so it was helpful to adjust the transparency of the plots and overlay them for comparisons.
Control Profile
No shroud, with depth equal to that of the fan alone.
Iteration | Magnitude Plot | Diameter |
---|---|---|
0 | ![]() |
140 |
Rectangular Profile and Rectangular Shroud
A close replica of Version 1, purely for comparison purposes.
Iteration | Magnitude Plot |
---|---|
0 | ![]() |
Elliptical Profile and Rectangular Shroud
Created by revolving an ellipse. The intention was to vary the short dimension and long dimension of the ellipse, as well as its offset from the origin. After two trials, I wasn't optimistic that the low-velocity ring would be solved, so I moved on.
Iteration | Magnitude Plot | Short | Long | Offset | Fillets | Notes |
---|---|---|---|---|---|---|
0 | ![]() |
215 | 352 | 170 | No | Notable low-velocity ring |
1 | ![]() |
215 | 352 | 170 | Yes (10mm inner front face) | Low-velocity ring |
Conical Profile and Rectangular Shroud
Created by revolving a cone. Two dimensions were varied to adjust the diameter of the cone at the front and rear of the shroud.
Iteration | Magnitude Plot | Inner | Outer | Fillets |
---|---|---|---|---|
0 | ![]() |
76 | 100 | No |
1 | ![]() |
76 | 100 | Yes |
2 | ![]() |
76 | 90 | No |
3 | ![]() |
76 | 90 | Yes |
4 | ![]() |
85 | 90 | No |
5 | ![]() |
85 | 90 | Yes, 10mm |
6 | ![]() |
85 | 90 | Yes, 20mm |
7 | ![]() |
73 | 90 | No |
8 | ![]() |
73 | 90 | Yes |
Flared Profile and Circular Shroud
Instead of revolving a sketch to create the inner profile within a fixed solid, the outer geometry was created through a revolution and then shelled to create a complementary inner profile.
Iteration | Magnitude Plot | Inner | Outer | Depth |
---|---|---|---|---|
0 | ![]() |
70 | 100 | 60 |
1 | ![]() |
80 | 100 | 60 |
2 | ![]() |
60 | 100 | 60 |
3 | ![]() |
60 | 80 | 60 |
4 | ![]() |
60 | 60 | 60 |
5 | ![]() |
60 | 40 | 60 |
6 | ![]() |
60 | 120 | 60 |
Comparison and Analysis
After reviewing all magnitude plots, I deemed Conical 3 and Flared 0 to be the best-performing. Both of these showed the most desirable velocity profiles, with both sufficient 'reach' and minimal low-velocity regions inside the shroud.
While not shown, I also reviewed the vector plots overlaid on the magnitude plots. Without delving into them, they showed what I would expect to see: For the most part, air was being pulled from the open volume the simulation region, through the shroud. Vectors within low-velocity regions inside shroud opposed this flow.
Ultimately, I picked Flared 0 to base the shroud version 2 on.
Design
Having a 3D-printable design was still one of main objectives of this project. In order to make that happen, I scrapped the single-piece design from version 1 and broke it into 4 separate pieces.
All parts, including the articulated arm and shroud, are attached to the fan box. The filter box attaches to the back of the fan box assembly, and holds the filter in place behind the fan. The switch box cap was hot glued into place after the fan box was mounted to the articulated arm and the fan and switch were installed.
Shroud
Fan Box
Filter Box
Fan Box Cap
3D Printing Notes
Admittedly, the final design of the shroud is not the most 3D-printable, due to the corner overhang of its main body.
I opted to use support material rather than eliminate the exterior profile, as leaving the volume filled in would be a waste of material. Someone with a better-tuned printer may have better luck printing the overhang without supports than I did.
Being PLA, the supports broke away cleanly from the part's body.
Filter Selection
For version 1, I assumed that activated carbon (charcoal foam) filters would be sufficient, since that's what many inexpensive fume extractors use.
This setup wasn't doing nearly as much as I believed. Under my bright workbench light, I heated up my soldering iron and pushed some 63/37 rosin-core solder into its tip to produce a stream of smoke. Against the light, it was clear that smoke was being pulled through the fan and two layers of carbon filter, and being dispersed into a cloud.
It was obvious that activated carbon wasn't going to cut it, at least on its own. This prompted some research on the topic.
Research
Thankfully, I'm not the first to question how well carbon filters work in this application, and I was able to track down several papers 1 2 3 on the topic. To briefly summarize them:
The content of the solder fume is mostly (99.5% 3) particulates 1 (referred to as "particulate phase fume"), while only a small portion (0.5% 3) vapor ("vapor phase") 1 3. The particles in solder fume that pose the greatest threat to human health are lead particles larger than 0.1 μm 3.
A team of researchers at the Health and Safety Laboratory (HSE) in the United Kingdom explored the capture efficiency (using a gas) and filtration efficiency of various local exhaust ventilation (LEV) solutions (using actual solder fumes and other aerosols). By controlling the amount of particulates and vapor being released, they could measure how much of it was actually captured by each of the test units. 1
This team found that units that relied solely carbon foam had poor capture efficiency - between 40% and 50% - against both particulates and vapors. In contrast, units that implemented HEPA filtration had ~99% capture efficiency against particulates. Carbon foam also failed to capture vapors effectively, but they were already at low levels to begin with. 1
Another paper published by the HSE 2 assessed the effectiveness of various LEVs in controlling personal exposure to solder fumes. One of these LEV units, referred to as an "air displacement box", closely resembled what I had built, featuring a carbon foam filter.
These authors, too, found that while it was capable of extracting fumes from the working zone if used correctly, its filtration of the exhausted air was ineffective and its use could lead to secondhand exposure by increasing the background concentration of the fumes in their test room. They eventually discussed calling it a "fume disperser" rather than a "fume extractor" 2.
Conclusions
My main takeaway from these papers was that proper HEPA (or near-HEPA) filter would be drastically more effective at capturing the majority of the solder fumes' components than my current setup with the carbon filter.
The carbon filter isn't quite worthless - manufacturers definitely include them in their industrial-grade LEVs for a reason - but because the vapor content is low and not the main health hazard, the benefit of having it in my extractor is miniscule. If I were willing to tolerate a higher noise level, I could run both types of filter in series with a more powerful fan, just like commercial units.
The remarks regarding the "fume disperser" in the Pocock and Saunders paper 2 reaffirmed what I saw. The carbon foam filter captured nothing visible and allowed my unit to act as a disperser. While a fan alone could pull fumes away from the work zone, in a room with little to no air exchange (like my 10' x 10' lab, especially with the window closed), secondhand exposure is inevitable. To address this, I would have to find a more suitable filter.
Testing a New Filter
I made a trip to a big-name home improvement store and perused its selection of furnace filters. No true HEPA filters were found that day, so I settled for a 3M Filtrete 1900 filter, with a MERV-13 rating.
According to the EPA, a MERV-13 rating translates to a 62% filtering efficiency for particles smaller than 0.3μm, which increases as particle size increases. I figured this would be acceptable and possibly even ideal, since a higher rating would also mean a higher airflow impedance, something that the Noctua fan might not be able to handle.
There was quite a bit of carnage involved in freeing the filter media from its cardboard and wire frame. Divided into 3 x 7 squares cut to size for the shroud's filter box, I should be able to get at 21 fume extractor-sized pieces out of this single filter before another blood sacrifice is required.
Once installed in my extractor, I repeated the soldering test against the bright workbench light. The difference was immediately apparent - all of the fumes were sucked into front of the extractor, with no cloud created under the workbench light.
I don't believe for one second that this setup is capturing all of the harmful particles coming off of my iron's tip, given that this is only a MERV-13 filter. But coupled with some air exchange in the room I work in, I believe this is an acceptable and a considerable improvement over what I had before - nothing.
Final Assembly
Bill of Materials
Item | Part | Qty. |
---|---|---|
Extractor Shroud | fume-extractor-shroud-2.1 | 1 |
Extractor Fan Box | fume-extractor-fan-box-2.1 | 1 |
Extractor Filter Box | fume-extractor-filter-box-2.1 | 1 |
Extractor Fan Box Cover | fume-extractor-fan-box-cap-2.1 | 1 |
140mm Fan | Noctua NF-A14 industrialPPC-2000 | 1 |
Case Fan Mount Screws | N/A (junk bin) | 4 |
12V Power Supply | N/A (junk bin) | 1 |
Articulating Desk Lamp | N/A (junk bin) | 1 |
SPDT Toggle Switch | N/A (junk bin; Switch Components # TA2-1D-DC-6 is close) | 1 |
M3 x 30mm SHCS (Shroud) | McMaster-Carr # 91290A123 or equivalent | 4 |
M3 x 20mm SHCS (Filter Box) | McMaster-Carr # 91290A171 or equivalent | 4 |
M3 Nuts | McMaster-Carr # 90592A085 or equivalent | 8 |
Furnace Filter | 3M Filtrete MPR 1900 | 1 4 |
Downloads - Version 2
Type | Filename + Description | Date | Size | SHA256 |
---|---|---|---|---|
![]() | Fan box V2.1 3D model | 2021-02-28 | 158.0 KiB | |
![]() | Fan box V2.1 3D model | 2021-02-28 | 1.9 MiB | |
![]() | Fan box cap V2.1 3D model | 2021-02-28 | 24.3 KiB | |
![]() | Fan box cap V2.1 3D model | 2021-02-28 | 70.6 KiB | |
![]() | Filter box V2.1 3D model | 2021-02-28 | 88.0 KiB | |
![]() | Filter box V2.1 3D model | 2021-02-28 | 1.4 MiB | |
![]() | Shroud V2.1 3D model | 2021-02-28 | 185.6 KiB | |
![]() | Shroud V2.1 3D model | 2021-02-28 | 1.7 MiB | |
![]() | All 3D models for Fume Extractor V2.1 | 2021-03-27 | 1.5 MiB | |
![]() | Magnitude plots from all simulation runs | 2021-03-17 | 584.8 KiB |
Resources - Version 2
Type | Name + Description |
---|---|
![]() | All fume extractor V2.1 3D models: Shroud, fan box, fan box cap, and filter box |
![]() | All simulation runs for fume extractor V2.0 |
Closing Notes
Without the fancy methods the HSE used to measure various fume extractors 1, it's hard to quantify how well the finished product performs, especially between version 1 and 2. But with my own eyes (and nose), I can tell that the work paid off.
I'm calling this done, but if I revisit it, there are some things I'd consider for a future revision:
- Eliminate octagonal geometry in filter box to make the filter media easier to cut
- Add a DC power jack where the power cable passes through the switch box
- Use a desk or shelf-mount clamp instead of the weighted base plate that came with the lamp arm
- Source filter material from elsewhere, preferably in a package that doesn't involve a sharp wire mesh
- Test filters with higher MERV ratings, possibly using other fans with higher airflow specifications
-
Johnson, A.E.; Brown, R.C.; (1998). "Measurement of the Performance of Air Cleaners Against the Particulate Element of Rosin-based Solder Flux Fume" Annuals of Occupational Hygiene. 42 8: 511-519 doi:10.1093/annhyg/42.8.511 ↩ ↩ ↩ ↩ ↩ ↩
-
Pocock, D.; Saunders, C.J; "Visualisation and control of solder fume exposure" (Report). The Health and Safety Executive. 2011. ↩ ↩ ↩ ↩
-
Cooper Tools. Fume Extraction. Retrieved March 2021. ↩ ↩ ↩ ↩ ↩
-
One 16" x 25" x 1" furnace filter yielded 21 pieces ↩