This unit has been sitting in my bedroom for a while now. It's extremely quiet and just gradually moves the room air through the cheap disposable paper filter on an ongoing basis 24/7.
This new version has a simpler mounting with separate top plate with a small section of anti-turbulence fins. It still uses a cheap eBay illuminated 120mm fan as a good compromise between function and noise. The smaller fans tend to be a bit high pitched and noisy.
For an area where noise is less critical a stronger fan could be used.
The hole pattern is less efficient than the original square matrix, but looks much more stylish. Especially with the fan's illumination. I may look at combining the two designs to put the square hole matrix onto the round platen.
For those new to the project it's based on a conventional air purifier that draws the room air through a particulate filter. Unlike the commercial units, this one has a cheap and easy to source filter material in the form of paper towel or toilet paper. Both of those materials are based on a high density random lay of wood fibre that results in a filter medium that can potentially filter out particles in the region of one micron and up. That includes most dust and spores.
Best of all, the filter can be changed as often as you like, as it's cheap and easily available.
Do not use paper as a fan filter on a computer. They require coarse high airflow filters to keep things like fluff and hair out.
The 3D openscad scripts are below. There are four separate scripts.
If you enjoy these videos you can help support the channel with a dollar for coffee, cookies and random gadgets for disassembly at:-
http://www.bigclive.com/coffee.htm
This also keeps the channel independent of YouTube's advertising algorithms allowing it to be a bit more dangerous and naughty.
Here are the 3D printing files. You will need to copy and paste them into openscad so you can adjust the variables if you like, and then build the final model and save it as an STL file.
The first script is for the base/fan-adaptor. You can adjust the height and screw hole sizes.
//MKII adaptor for 120mm fan
$fn=100;
//You can adjust the two variables below
depth=40; //depth of air chamber (40)
hole=4; //fan screw holes (4)
difference(){
union(){
//baseplate
hull() {
for (i=[0:90:330])rotate([0, 0, i]){
translate([74,0,0])
cylinder(h=1.5, d1=15, d2=15);
}
}
//Main outer cylinder
cylinder(h=depth, d1=120, d2=120);
}
//internal cylinder
translate([0,0,-1])
cylinder(h=depth+2,d1=118,d2=118);
//screw holes
for (i=[0:90:330])rotate([0, 0, i]){
translate([74.5,0,-1])
cylinder(h=4, d1=hole, d2=hole);
}
}
The second script is for the top platen for the filter paper.
//MK3 platen for filter paper on 120mm fan
$fn=100;
//You can adjust the variables below
depth=10; //depth of lip and fins (10)
platen=1.5; //thickness of platen (1.5)
//don't adjust anything below here
hole=platen+2;
difference(){
union(){
//platen
cylinder(h=platen, d1=140, d2=140);
//Main outer cylinder
cylinder(h=depth+platen, d1=118, d2=118);
}
//internal cylinder
translate([0,0,platen])
cylinder(h=depth+platen,d1=116,d2=116);
//filter hole pattern
for (i=[0:45:330])rotate([0, 0, i]){
translate([35,0,-1])
cylinder(h=hole, d1=20, d2=20);
translate([16,0,-1])
cylinder(h=hole, d1=10, d2=10);
}
for (i=[22.5:45:350])rotate([0, 0, i]){
translate([24,0,-1])
cylinder(h=hole, d1=10, d2=10);
translate([41,0,-1])
cylinder(h=hole, d1=10, d2=10);
translate([32.5,0,-1])
cylinder(h=hole, d1=5, d2=5);
}
translate([0,0,-1])
cylinder(h=hole, d1=20, d2=20);
}
//anti turbulence fins
difference(){
for (i=[0:45:330])rotate([0, 0, i]){
translate([46,-0.5,0])
cube([12,1,depth+platen]);
}
}
The third script is for the feet. You will need to print four of them.
//MKII leg for 120mm fan
$fn=100;
//You can adjust the two variables below
depth=50; //height of leg
hole=4; //screw holes
difference(){
union(){
//Main outer cylinder
cylinder(h=depth, d1=12, d2=12);
}
//internal cylinder
translate([0,0,2])
cylinder(h=depth+2,d1=10,d2=8);
translate([0,0,-1])
cylinder(h=4,d1=hole,d2=hole);
translate([0,0,depth-1])
cylinder(h=2,d1=10,d2=10);
}
The last script is for the weighted paper ring if desired.
//Weighted ring for paper
$fn=100;
//The variables below can be adjusted if desired
depth=2; //depth (weight) of ring
inner=100; //inner hole diameter of ring
outer=140; //outer diameter of ring
difference(){
union(){
//main disk
cylinder(h=depth, d1=outer, d2=outer);
}
//hole in middle
translate([0,0,-1])
cylinder(h=depth+2,d1=inner,d2=inner);
}
This new version has a simpler mounting with separate top plate with a small section of anti-turbulence fins. It still uses a cheap eBay illuminated 120mm fan as a good compromise between function and noise. The smaller fans tend to be a bit high pitched and noisy.
For an area where noise is less critical a stronger fan could be used.
The hole pattern is less efficient than the original square matrix, but looks much more stylish. Especially with the fan's illumination. I may look at combining the two designs to put the square hole matrix onto the round platen.
For those new to the project it's based on a conventional air purifier that draws the room air through a particulate filter. Unlike the commercial units, this one has a cheap and easy to source filter material in the form of paper towel or toilet paper. Both of those materials are based on a high density random lay of wood fibre that results in a filter medium that can potentially filter out particles in the region of one micron and up. That includes most dust and spores.
Best of all, the filter can be changed as often as you like, as it's cheap and easily available.
Do not use paper as a fan filter on a computer. They require coarse high airflow filters to keep things like fluff and hair out.
The 3D openscad scripts are below. There are four separate scripts.
If you enjoy these videos you can help support the channel with a dollar for coffee, cookies and random gadgets for disassembly at:-
http://www.bigclive.com/coffee.htm
This also keeps the channel independent of YouTube's advertising algorithms allowing it to be a bit more dangerous and naughty.
Here are the 3D printing files. You will need to copy and paste them into openscad so you can adjust the variables if you like, and then build the final model and save it as an STL file.
The first script is for the base/fan-adaptor. You can adjust the height and screw hole sizes.
//MKII adaptor for 120mm fan
$fn=100;
//You can adjust the two variables below
depth=40; //depth of air chamber (40)
hole=4; //fan screw holes (4)
difference(){
union(){
//baseplate
hull() {
for (i=[0:90:330])rotate([0, 0, i]){
translate([74,0,0])
cylinder(h=1.5, d1=15, d2=15);
}
}
//Main outer cylinder
cylinder(h=depth, d1=120, d2=120);
}
//internal cylinder
translate([0,0,-1])
cylinder(h=depth+2,d1=118,d2=118);
//screw holes
for (i=[0:90:330])rotate([0, 0, i]){
translate([74.5,0,-1])
cylinder(h=4, d1=hole, d2=hole);
}
}
The second script is for the top platen for the filter paper.
//MK3 platen for filter paper on 120mm fan
$fn=100;
//You can adjust the variables below
depth=10; //depth of lip and fins (10)
platen=1.5; //thickness of platen (1.5)
//don't adjust anything below here
hole=platen+2;
difference(){
union(){
//platen
cylinder(h=platen, d1=140, d2=140);
//Main outer cylinder
cylinder(h=depth+platen, d1=118, d2=118);
}
//internal cylinder
translate([0,0,platen])
cylinder(h=depth+platen,d1=116,d2=116);
//filter hole pattern
for (i=[0:45:330])rotate([0, 0, i]){
translate([35,0,-1])
cylinder(h=hole, d1=20, d2=20);
translate([16,0,-1])
cylinder(h=hole, d1=10, d2=10);
}
for (i=[22.5:45:350])rotate([0, 0, i]){
translate([24,0,-1])
cylinder(h=hole, d1=10, d2=10);
translate([41,0,-1])
cylinder(h=hole, d1=10, d2=10);
translate([32.5,0,-1])
cylinder(h=hole, d1=5, d2=5);
}
translate([0,0,-1])
cylinder(h=hole, d1=20, d2=20);
}
//anti turbulence fins
difference(){
for (i=[0:45:330])rotate([0, 0, i]){
translate([46,-0.5,0])
cube([12,1,depth+platen]);
}
}
The third script is for the feet. You will need to print four of them.
//MKII leg for 120mm fan
$fn=100;
//You can adjust the two variables below
depth=50; //height of leg
hole=4; //screw holes
difference(){
union(){
//Main outer cylinder
cylinder(h=depth, d1=12, d2=12);
}
//internal cylinder
translate([0,0,2])
cylinder(h=depth+2,d1=10,d2=8);
translate([0,0,-1])
cylinder(h=4,d1=hole,d2=hole);
translate([0,0,depth-1])
cylinder(h=2,d1=10,d2=10);
}
The last script is for the weighted paper ring if desired.
//Weighted ring for paper
$fn=100;
//The variables below can be adjusted if desired
depth=2; //depth (weight) of ring
inner=100; //inner hole diameter of ring
outer=140; //outer diameter of ring
difference(){
union(){
//main disk
cylinder(h=depth, d1=outer, d2=outer);
}
//hole in middle
translate([0,0,-1])
cylinder(h=depth+2,d1=inner,d2=inner);
}
Think about impedance matching. If your airflow input cross-sectional area is too small with your planar filter then your fan's effort is lost. Similar to an electric circuit, where you can test the max voltage and then apply a load that generates 50% voltage drop for max power transfer, for this system you can measure the airflow without the filter, then create a filter load which reduces the airflow by 50% to get the highest amount of filtering work out of the fan. I'm pretty certain your area is too small. Probably even the square was too small. You could easily increase the surface area by 40% by rippling the surface of the filter support mesh by 45-50 degrees. Given the same PSI drop across 40% more surface area you would gain 40% more airflow. Obviously the pressure starts to drop and there is a sweet spot… that's at the 50% airflow drop vs no filter… impedance matching.
Beautiful ๐
When I get time I would love to make a version shaped like the paper and at a angle for better airflow underneath, building it into a shelf or table would be very efficient as well ๐
I'm also wondering if it works better with a single layer from a double layer tp?
Any chance of a link to that fan?
You must design your 3d prints parametrically do you? I'm new to 3d printing and my modeling skills are poor. I'm considering learning python for my freecad designs. I'm quite fluent in c/c++ but they seem to be niche languages unless you're launching rockets or designing mission critical backend systems. Haha I'm old-school when it comes to coding because I got my software engineering degree in the 90s but never used it. I decided to become a first responder instead.
Maybe switching to the self-tapping screws that holds the fan onto the computer case to simplify the parts list? Just a thought.
If you want higher performance without the noise, go with bigger fans. 200mm and 230mm computer fans are easy to get hold of, possibly larger sizes as well.
I think the circular holes would be much better if arranged in the golden ratio as it would maximise the number of holes
Now you only need to add some stepper motors, that constantly pull over a whole role of toilet paper over it at very low speed so that you only have to change the filter every few months ๐ And maybe make it a series of 2 or 3 fans.
I dug out a old script and added user input.
It generates a fin grid array, which is useful to direct the airflow in a single direction, but not takes as much space as a nozzle.
For example when you work with optics and want to point a clean air stream at your stuff.
//User input*************************************************
mm=80; //fan size(eg. 80,120,140,200)
wall=1; //Wall thickness in mm, should be nozzle size or a multiple.
//model******************************************************
steps=abs(mm/10);
dg=10-wall;
union()
{
for(x=[1:steps],y=[1:steps])
{
translate([x*10,y*10,0])
difference()
{
cube([11,11,10],center=true);
cube([dg,dg,11],center=true);
}
}
}
I wanted to test this out with a high power 120-140mm server fan. We have a huge dust problem in our house even with daily vaccuming with a roborock. Would it be possible to reduce the dust in a room with the toilet paper method?
Tyvek has the same random orientation fibres in HDPE with a fine pore size of you want finer filtration on the same principle.
I'd love a square top, with square grid, exactly the size of toilet paper bit, with a small lip to align perfectly the paper filter…
I made one out of cardboard, its sat behind my monitor running 24/7
Hello! Big fan here! Fan… :). I think the whole approach is wrong. The original idea of air-in-take chamber a.k.a air-duct is very good. But thinking that 2D mesh can create desired air flow is wrong. You have to think in 3D. You have to redirect the air flow from the center of the air intake to the fan blades. For that you will need 3D parabolic cone in the middle of your duct. Any 2D mesh you are considering is just creating turbulence you want to avoid. Also the air duct edges should be designed as 3D parabolic curves. Just look at the designs or photos of airliner jet engines. Of course you will have to experiment with different designs concerning the fan you are using is far from perfect. In aerodynamics there are no made-up solutions. You have to make hundreds of prototypes. What I am saying is โฆ choose a jet engine 3D approach and forget about 2D meshes.
I say, it is beautiful
I'd really like a version designed to be placed on it's side, that way new air is always being sucked in..