From RevSpace
Jump to navigation Jump to search

Project Intake Fan Controller
Simple fan controller for switching our forced air intake.
Status Completed
Contact thomas, bertrik
Last Update 2019-07-21


Sometimes the need arises to temporarily shut off our forced air intake fan. In the past we simply pulled the plug on the motor, but that naturally led to people forgetting to turn it back on (at least until someone noticed an uptick in CO2 concentration a few days later). This box of plastic is intended to remedy that problem. Pressing a button will shut off the fan and set a counter. Another press will add more time to the counter. Once the countdown completes it will just start the fan back up, no fuss.

How to use it

To turn the fan off, press the button labeled 'UIT'. Upon first press it will set a delay of 15 minutes, and each successive press adds another 15 minutes to the clock (up to a maximum off-time of 2 hours).

If you want to reset the timer and/or turn the fan back on before the delay has elapsed, just press the 'AAN' button.

What's inside

An arduino nano reads the buttons, drives the display, and switches a bistable relay. It also pulls a pin high when the fan is on, which is routed to a nodemcu used for interfacing with revspace MQTT.

A nodemcu (ESP8266) reads the fan state signal and forwards it over WiFi to the revspace MQTT stream on topic revspace/intakefan/state. The state can be 'on', 'off' or 'unknown' when the connection between the nodemcu and MQTT is lost.


The controller works fine as-is, but apart from the addition of some shiny baubles (in the form of sebastius' rgb knopjes) I do still have to improve the cable management situation. Also, opening it up is a bit of a pain at the moment, because the buttons on the front lid are hardwired to the pcb (which is itself mounted in a case that is firmly screwed to the wall). The upgraded buttons will get a connector.

Hey, it isn't working!

If the buttons are unresponsive, may I suggest turning the controller off and then on again? You will find a switch on the top side, it controls the 5v supply to the arduino/esp. If that doesn't work, I suggest throwing your hands in the air and walking away quietly. Someone will report it, i'm sure.

Want to help?

If you want to help and/or add functionality, let me know. I can give you the OTA password for the ESP and show you how to take it off the wall without breaking something.


This controller only switches a single side of the mains. Depending on the orientation of the power plug, there may be 230v present on wiring to the fan even when it isn't running!

Deze controller schakelt enkelpolig. Afhankelijk van de orientatie van de stekker kan er 230V staan op de bedrading naar de fan zelfs als deze niet draait!


Source code can be found at: