Skip to content

Ventilatore is an automatic bathroom fan controller built using the NodeMCU.

License

Notifications You must be signed in to change notification settings

mlesniew/ventilatore

Repository files navigation

logo

Ventilatore is an automatic bathroom fan controller built using the NodeMCU.

Build Status License

How it works

The air humidity inside and outside the bathroom is measured using two Bosch BME280 sensors. If the humidity difference (inside minus outside) raises above a given threshold, the fan gets started through a relay. The fan is kept running until the humidity difference drops to an acceptable value.

Pictures

Outside

Inside

Web interface

If connected to a WiFi network, a web interface is exposed with live measurements and configuration options.

Web interface

Prometheus metrics

Besides the web page, a Prometheus metrics endpoint is exposed. These metrics can be then be visualized on Grafana dashboards:

Grafana

Grafana dashboard configuration

Electronics

Required parts

  • NodeMCU
  • Bosch BME280 sensor x2
  • 5V relay
  • TM1637 4-digit 7-segment display
  • MTS on-off-on toggle switch
  • LEDs: red and blue
  • Resistors: 220 Ω, 100 Ω, 2x 4,7 kΩ
  • Monostable push button

Schema

Schema

Compilation

The project can be built using PlatformIO. Nothing else needs to be installed, all required libraries are linked to the project as git submodules.

Steps to download, build and upload:

git clone https://github.com/mlesniew/ventilatore.git
cd ventilatore
git submodule init
git submodule update
pio run
pio run --target=upload
pio run --target=uploadfs

About

Ventilatore is an automatic bathroom fan controller built using the NodeMCU.

Topics

Resources

License

Stars

Watchers

Forks