Circuits, sawdust, and everything in-between

Arduino Fan Controller (to Dry Laundry)

This is a project I’ve wanted to do for almost a year and never found the time until now. The idea is simple: place a fan over your clothes rack and they should dry faster, right?

This is my clothes drying rack: it’s 3 sets of IKEA Grundtal racks that are neatly mounted in a corner of my basement bathroom.

Honestly it’s a great solution and it neatly and compactly gets the clothes out of the rest of my house. I’m very pleased with it except for one thing: the clothes take a really long time to dry. Like upwards of 2 days sometimes. Often I’ll walk into the room after doing laundry and in that corner the air just feels heavy with water. My suspicion is that the air is saturating and without any movement, no more evaporation could occur.

The project idea was pretty simple:

  • Mount a bunch of 120mm case fans somewhere on top of the rack
  • Use an Arduino to control their speed
  • Power the whole thing off a wall plug

The Arduino I settled on for the project is the adorably small Arduino Micro:

Arduino’s are brains, not brawn. They can’t output a lot of power and are intended for low-voltage signaling. So to control a bank of fans using wall outlet power, we’d need an adapter board. I created a mainboard in Fusion360 that the Arduino could plug into and sent the PCB to fab:

You can probably make out most of the components, but the board has:

  • A power MOSFET to switch the main fans on-and-off for speed control
  • A couple pin headers to connect external components
  • A barrel plug for the 12V power supply
  • A couple indicator LED’s

Speed control would be handled by a rotary potentiometer with an integrated switch. It has 5 wires and neatly mates with the mainboard using that 5-pin header:

A quick test of the board on the oscilloscope showed what I wanted to see: a nice square wave pulse train to toggle the FET on-and-off.

Something you can’t see in the picture: Arduino’s default to ~400hz PWM frequency. The first time I hooked it up to a fan the noise was TERRIBLE. Driving a motor at such low frequency causes terrible audible noise as the current slams repeatedly into the motor. I had to mess with the registers in the ATMEGA to increase the PWM frequency to 30kHz, at which point the fans made no extra noise at all.

With the brains done, it was time to move onto the muscle. I bought 3x 120mm 2-wire case fans off Digikey, spent a bit of time mocking up a housing for them in Fusion, and sent them to the printer:

The fans would be suspended above the clothes racks on stainless steel tubing. Sanding the rods from 150 -> 2000 grit took a long time and turned my arms to noodles, but they look really nice and shiny:

For routing the fan wires, I designed these little clips on the back of each fan housing but they didn’t survive being bent. PLA was too brittle I guess. I hot-glued them back in place.

The fan assembly mounts to the top laundry rack with a couple of risers. They have a dovetail joint to pull the whole thing tight. It’s quite slick.

The fans need powered in parallel off the FET supply, so I soldered up their leads.

A quick test showed that everything was working as expected:

To keep the fan housings from vibrating/moving (and to add a pop of contrast) I printed some caps for some socket head screws:

The last bit of design work was the housing for the controls. I wanted good airflow since there are a couple FETS and two 1/4W resistors living in there. So I did a little hexagonal insert for the front and a stylish little knob for the rotary pot. I think it turned out quite nice. 🙂

At full power, the assembly uses just over 7W of power, which is pretty low!

I (of course) wanted to know if the fans made any difference in drying time. So I conducted a simple experiment where I wet a facecloth to the same weight and let it hang dry.

The drying times:

  • Without fans: 15 hours
  • With fans: 3 hours

The best part is that a FULL RACK of clothes dries at approximately the same 4x faster speed. Even the clothes on the bottom! I think just getting the air moving to carry away the moisture is enough to do the trick.

So there you have it! Don’t let your dreams just be dreams, even if your coworkers and family members roll their eyes at your silly ideas. 🙂 Until next time everyone!