Opening and Closing Vents Using Motors

Hi makers. Sorry if this is a bit long-winded.

I have off-grid power. All the control equipment is in a small room and I have to ventilate the room to keep the temperature stable. So far, I have set up a bank of 18 x 140mm PC fans that vent the warm air up through my ceiling and into the roof space.

I have temperature sensors and I vary the speed of the fans, using Node Red to switch four voltages in the range of 7V to 12V, to vary the speed of the fans. This is doing the job nicely. The problem is that the fans all come on at once and, while this is not an issue during the Summer months, it is going to create a force-9 gale which won’t be welcome during cooler months.

I have decided to 3D print some covers to go over the fans on the intake side. I intend to 3D print some gears and use some kind of motors to open the covers, That way I can control the number of covers that need to be open at any given time in order to maintain the correct room temperature with the minimum amount of air movement to do so. I am thinking that I would open the covers of two fans at a time, using a single drive motor.

So, I finally get to my questions: What would be the best motors for this purpose? The covers will be light and only have to open through a 90 degree arc. As I said, I can print some gears and use a stepper motor, but I’m wondering if a simple servo motor would do the job without gearing? In any event, I would have to control the motors somehow and I would like to continue using Node Red (which would control either relays or pins on a simple device like a ESP-32 or similar in conjunction with Home Assistant, Tasmota or ESPHome, etc.) I would really prefer not to go down the Arduino and hat road as I’m not great at sketches for those things.

Any suggestions would be very welcome.



Hey Rusty - this is a really cool project :smiley:

If you’re set on the vent idea then, yeah, a servo sounds very easy to implement and kinda perfect. There will be some parasitic power requirement but it should be pretty low compared to the fans.

If you want zero parasitic power then you can also remove power from the servos (somehow, eg. mosfet) when they are not being actively driven.

At the moment the decision point to me seems to be how easily the solution will integrate;

  1. electronically (stepper motor drivers vs. servo vs. other options). Does node red support driving servos/steppers natively?
  2. mechanically - how to connect the device to the vent

Some pictures of your hardware / ideas might be helpful.

You can jump straight to our Servo Category - we get our servos direct from the manufacturer and have a pretty flexible lineup.

Are there other options? Is it possible to further throttle the airflow by just running a reduced number of fans? This could wind up being very simple and require minimal / no additional hardware depending on your setup.

1 Like

Hi Rusty
I think Michael’s suggestion would be a better idea

I think your statement about the vents not requiring much to open or close would hold true if the fan is not running. With the fan running this is a different ball game. Depending on your vent configuration if a vent is closed with a running fan it might just require an appreciable amount of grunt to open it and vice versa if the vent opens and closes in reverse.

The down side of Michael’s switching idea is that there will be a flow of air from outside through the stationary (or freewheeling) fan (s) and exiting via the driven fan (s) with nothing contributing to the cooling of equipment. So the non powered fans would need to be blocked off to allow control of air properly. Back to vents.

I would think that fan speed control with all fans running would be the ideal solution to achieve total control if that can be implemented. If the fan motors are of the brushed type that is not difficult with PWM. If brushless you could maybe get away with a single controller with enough capacity to drive all the fans. The fans would need to be identical for this to work I think.

Another possibility is to control the quantity of air going IN to the enclosure. Working on the principle that if the air can’t get in it can’t get out.

If the actual draught is the problem you might be able to vent the exhaust air to outside. But don’t forget any air going out has to come in. There is no way around that.
Cheers Bob


Yeah that’s a pretty nice idea - only one point of control needed. Lower the overall complexity

1 Like

Here is a github project that might be useful as a starting point - GitHub - tjko/fanpico: Fanpico: Open Source Smart PWM (PC) Fan Controller

It uses a pi pico and a custom board to control up to 8 fans but the boards are available as a kit.
Optional support for MQTT reporting and a web interface if you want that to remotely monitor your fans.

Cheers, Steve


Hi Michael. Here is a link to the assembly I intend to 3D print: 140mm fan holder and vent flap

In the image shown the top part screws directly to the roof (there will be 18 fans in total, 9 banks of two.) The lower part is the moveable flap. You can see that I have splines on each side of the flap that accept an axle assembly. The way it is oriented in that picture, the motor would be at the end closest to you. The motor would simply mount in a 3D printed frame so that its shaft aligns with the spline in the flap and an adapter (shown) would connect the two. This adapter can be changed to match the shaft of the motor I end up getting.

There will be two fan assemblies mounted side-by-side and a joiner axle will connect each flap together. On the flap that will be on the far side of the view, there will be a simple stub axle.

As you can see, the flap is designed to swing through 90 degrees, which is ideal for a servo, I guess. Having thought about this, I can use ESPHome to drive multiple flap assemblies individually with an ESP32 module and the ability to switch its pins PWM fashion. I can use Node Red to open and close the flaps and control each pair of fans separately. Node Red, to my knowledge, doesn’t have native PWM support, but it can call the ESP32 Module via Home Assistant.

The flaps, btw, are hollow, so not heavy at all. I think I’ve answered my own questions pretty much, but I know nothing about servo motors, so I need recommendations as to the best to buy (given that I’ll need 9 of them, price is an issue.) I’m not overly concerned about parasitic power use. As it is now, when all 18 fans are going full-rip it uses close enough to 50W of power. A tiny bit more won’t matter.

Kind regards


1 Like

Hello Steve

Thanks for the great suggestion. As it happens I kind of went down this road myself, while I was waiting for replies. I have Home Assistant with the ESPHome addon and can use an ESP32 module to achieve pretty much the same result. Thanks for taking the time to reply.



Hi Bob

Thanks for the reply. See my reply to Michael, which has a link to the device I intend to print. The flaps and fans will be controlled using Node Red and I will be setting it up so that the fan associated with each flap will not be running as the fan is trying to open. (It won’t matter so much as the flap closes, because the fan will assist in that direction, but the same will apply - fan off, flap movement.) I don’t think that the other fans will have much of a bearing on this as they exhaust into unrestricted airspace and shouldn’t be applying any pressure to the fans and flaps that aren’t operating at the time. The whole intake area is open space as well.



Hi Russell

Sounds like you have always been going down that path so alternative air control systems have been a waste of time.

I think you will have to do that as if the flap is a good fit it will require some force to open it with a running fan.

That is probably true. Each fan will be pretty individual once housed in that little box.

A photo here would answer a lot of questions. I take it from this the equipment being cooled is not housed completely in an enclosure but has an open front. If this is the case the fans are probably just blowing air from one side to the other with no control of how much actually is removing heat from any equipment. Not a good scenario.
As I said some pics would clear up a lot of this guesswork.
Cheers Bob

Hi Bob

If you re-read my original post, I was always going down this road. What was at question was “What kind of motor to use - servo or stepper-motor?” As stated, I know nothing about these, or how to drive them. I did do some research while I was waiting for replies and it would seem that a servo motor would be easier to implement (and cheaper) but I’m still open to suggestions about this.

Some background that may help give you an idea of the bigger picture:
All of the power equipment is Victron, so I have access to every reading, status, and can even switch things using MQTT. I use Home Assistant for my existing controls and automations, in conjunction with Node Red. Currently the fans are switched using iot relays (with Tasmota firmware) and I’ll probably continue to switch the fans (though in pairs in the future build) in the same manner. So, I’ll probably move away from speed control of the fans, to having the fans go flat-chat, but only have the number of fans needed, running. All mission-critical functions are duplicated (even Home Assistant has hot standby, which was a real PITA to figure out.) The room has multiple temperature sensors, including one above each of the three inverters.

To answer your comments and questions:

Each motor will be able to be switched in and out in conjunction with it’s associated flap. There will be no need for a flap to open or close against pressure from its fan.

The equipment is in a fully enclosed room. There are relief vents in the doors (four door panels comprised of two sets of bi-fold doors) with 8 relief vents in all. The relief vents are in the lower-third of the doors, so cooler air is drawn in from outside the room, past all of the equipment and up through the fans we are talking about, then out into the ceiling space. We also have ducted evaporative air cooling in the house and as a fallback position, if all fans are running and the equipment is still not cool enough, the ducted evap. system gets switched on automatically and the cool air from the entire house gets vented out via that power room (yes, I also monitor the humidity in the room.) As I said in my original post, Summer isn’t really the problem. I’m managing to keep that room in the range of 25C to 29C, day in, day out. Winter will be different. The room outside the power room is one of the rooms we use the most and I’d like to reduce the draft in that room as much as possible. I’m trying to come up with a system that will allow me to maintain the temperature in the power room with the minimal amount of air movement to do so (sometimes none, I suspect - hence the need for the flaps.)

Thank you for your interest in my problem.



Is it possible to further throttle the airflow by just running a reduced number of fans? This could wind up being very simple and require minimal / no additional hardware depending on your setup.```

Yes, I could, but the ultimate goal is to minimise draught in the room outside the power room, during Winter (the power room and one of our most used rooms in the house are either side of the same doors (which have relief vents in them to allow air into thew power room.)) Open fans will permit convection of air and create draught, whereas fans with flaps will really enable me to control the amount of draught.



Hi Rusty

Reading your posts again, it just seems like a complex solution with so many moving parts. Wouldn’t it be easier to just isolate the power room by blocking the vents in the doors and adding a fresh air input vent in the power room ducted to the floor level?

Just my two cents,

Hi Russell

You are quite correct and I apologise. It seems everyone (including myself) digressed. Probably thinking there are easier ways to do this.

If these flaps are either fully open or fully closed possibly a lever system and a solenoid would be easier than a motor. If they are to be fully variable a motor is the only option, A servo with enough grunt might be the easiest. A bit awkward to direct drive but a simple lever system would not be hard.

I get it now, you are ventilating a whole room. i envisaged a (or some) cabinets and the ventilation on top of the cabinet(s). If this is venting into the ceiling space how is a draught going to bother anyone in the adjacent room. I can’t visualise that exact set up but as you are on the spot you are the best to know.
One of those whirly things in the roof usually does a good job of extracting air from the ceiling space.

The reason I mentioned the effort to open a vent with the fan running was I remembered many years ago I was on a TV transmitter site during installation. The standby diesel accidentally started. The access doors opened outward. The fan drew air across the engine, through the cooling radiator and vented outside. The builder had not yet cut a hole in the wall to allow air intake. Everyone had to wait until the diesel engine ran out of fuel before the doors could be opened to gain access. The hole was cut and filters installed first job next day.

You are de powering fans to operate vents so you should not have that problem.
Cheers Bob

Hi Bob

Just a note about the draught. Yes, the air that is vented out of the room, into the ceiling, is not an issue (and I do have two whirlybirds in the roof) but the air that has to go into the room in the first place has to come through an adjacent room that we use often. That is where a draught (during Winter) will be a problem.) Unfortunately, there is no way around this, so if I can at least minimise the draught, part of the battle is won.

I like the idea of solenoids. I am designing for either fully open (90 degree offset from closed), or fully closed flaps, which means that 3D printed linkages and solenoids could do the job. It would certainly be easier to implement because I’d only need relays and not PWM devices (in the case of servo motors.) I’ll look into the relative costs of solenoids compared with a servo motor/pwm driver combo.

Thanks for the thoughts, I really appreciate them.


Hi Steve
What you suggested was the original plan. Where we came unstuck was the ambient temperature in summertime. It regularly gets to the high 30s and quite often into the 40s here. Drawing air that hot into a room that has equipment I’m trying to cool just wasn’t an option. That’s where plan B came to pass. When it gets so warm that even ambient air from inside the house isn’t doing the job, the current setup enables me to switch in three other modes of cooling:

  1. Forced dry air from an evaporative ducted cooler (which vents the entire house full of air out through the ceiling vent in my power room.) This just provides faster airflow than the fans mounted in the ceiling of the power room can move. Cooling by sheer volume.
  2. Same as (1) but with the evaporative cooler cooling function enabled. This is also configured to step through the three available fan speeds of the evap. cooler itself (low, medium and high.)
  3. Same as (2) except the two refrigerated air conditioners we have in the house kick in as well. Thankfully, my heat issues are only during the hotter part of the day and that also coincides with excellent solar production which is well in excess of any power that I can possibly consume, so I’m not concerned about the refrigerated air getting pumped out of the house.

The end result is a fully automated system that works like a charm during Summer and also just happens to correspond to our human comfort levels. And therein lay the problem. In Winter the system will still generate heat which will need to be expelled somehow (the room is quite small, literally 1 metre deep by 2.8 metres wide, so it doesn’t take much to heat it up.) In itself, that isn’t a problem but with my current setup the fans in the power room have no covers, so the heat cause convection and go out through the ceiling. What goes out must come in somewhere else…

I do intend to recycle the warm air in the power room back into the adjacent room that we use but, again, that requires the fans in the ceiling to be covered in some way or else the waste heat will go to the wrong place. By installing some sort of moving covers I can achieve my aims and it will also allow me to seamlessly transition through the shoulder seasons of Autumn and Spring without manual intervention with fan covers, etc. (It’s bad enough that I have to get up on the roof of the house and put covers on the evap. cooler when Winter comes around.)

So, as you can see, I’ve given this a lot of thought and, yes, it is a fairly unique circumstance, but the short term pain will give long term gain. My weak spot in this entire exercise is servo motors and stepper motors. I’ve really had nothing to do with them even though I’ve spent a lifetime (since 1973) in electronics. Hence my questions.

Thanks for your response.


1 Like

Hi Russel
About half an hour after I replied I realised the annoying draught would be the air entering the living space to supply the cooling system. I then thought the floor idea had merit as long as you weren’t built on a slab. You would need filters with a floor vent too. I see you have been down that path as well so that really does leave you with what you have got.

One down side of solenoids could be the operating speed. They can be quite fast and the flaps might close with a bang but it should not be too difficult to arrange the flaps to be fully closed when the solenoid gets to the end of its travel or the other way around depending what your exact arrangement is. Your lever system could include some sort of spring arrangement so the flap closes or opens just before end of solenoid travel and the spring takes up any excess. You are right about the implementation being easier though. They are usually on or off.
Cheers Bob

1 Like

Hey @Russell106934 - thanks for sharing the design. yeah! servos will do really well for this :slight_smile:
Comments about project complexity and mechanical complexity aside, only you know your system and to address the original question: this looks like it would work in a robust enough way.

maybe, but solenoids go bang - bang which can be hard on mechanical parts. Also, not many solenoids are rated for continuous duty. They can get very hot if powered continuously. 5-10% duty is common for hobbyist parts.

1 Like

Hi Michael

Yes, after Bob suggested solenoids I did some research and heat immediately caught my attention. Many of the solenoids I looked at had very short duty cycles, obviously to prevent heat buildup in the coil. In my situation the coil will have to be active for long periods of time, whether it’s to hold the flap open, or closed.

I then watched a couple of videos and saw just how fierce their stroke is. I’m nor sure that the 3D printed splines would withstand that sort of punishment for long. So, it looks like servos are the best option and not too difficult to implement. I found a page on the Home Assistant Community that goes through the entire process of configuring multiple servos using ESPHome, which looks pretty easy.

My questions, now, relate to servo motor torque. The flap is going to be very light. In that design I linked to, the flap is actually hollow and has just 1mm thick walls, so I don’t think it will need a particularly high torque servo. What are your thoughts about this? Do you have any recommendations?



1 Like

I think you might get away with a FS90 micro servo. They have a rated continuous torque of 0.5kg/cm

That means it can handle holding up a 0.5kg mass, hanging from a string from a 1cm arm.
Or a 100g mass on a 5cm arm
And so forth.
So if the centre of mass of your flap is ~7cm from the axle then you could handle about a flap that weighs 70g comfortably. Maybe this is a bit less at 5V, and maybe you want to slap a 20% factor of safety in there too.

The peak torque is much higher but it’s worth being conservative for long-term projects.

There’s also a metal gear variant. Perhaps check out the servos category.

I used the (continuous) to make this mechanism that was able to run continuously for several days before the servos finally gave out. And it was changing directions and varying the speed, all on hastily designed 3d printed journal bearings.

aside: kg/cm is a cursed unit and seems to only be used in the world of servos. :person_shrugging: but if you do the dimensional analysis on it it makes no sense… not to me at least.
N•m would soothe my engineers brain. I’d even take N•cm!

1 Like

Hi Russell
Re servos. Yes a lot gentler than solenoids.
I think this project is a little above small hobby things and robots running around floors I suggest you selecta a device that might be a bit more robust that a lot of the plastic offerings and one with metal gears. I think the last thing you want to do is clamper all over your installation replacing little plastic servos. From your posts I would think you would like a fit and forget approach. The only way you are going to get that is with a bit of an upmarket philosophy in the first place. Go for a bit of quality.
Cheers Bob