Solar Fan Controller - SOLFACON

An efficient fan controller designed for solar powered sustainable / off-grid ventilation

While having a fan controller for solar powered ventilation is not a strict necessity, it can vastly improve on important parameters such as how often and how long the fan is running. If you have ever connected a fan to a solar panel, you might already have experienced some of the potential pitfalls:

This controller is designed to address all of the above problems, and you can build your own for 20-40€ depending on which features you want.

Feature overview:

How to build

Go to the configuration tool page to configure your own controller, see the BOM, and read the build instructions.

How to use

Operation is straight forward and simple. Use the switch to turn the controller on or off, and use the dial to set a desired max fan speed.
The controller is programmed to compensate for fluctuating power input and maintain a desired fan speed. The speed of the fan can be lower if there is not enough power available, but it will never go higher than the desired speed. This also means, that the higher the max speed is set, the less headroom is available for the controller to compensate for fluctuating power input. For this reason, if the dial is set to max (turned clockwise as far as possible), there is nothing the controller can do to maintain that speed, and instead, the controller goes into adaptive speed mode, where it dynamically adjusts the fan speed to keep the fan running for as long as possible and as fast as possible. The adaptive speed mode is more power efficient, as using PWM to lower the fan speed consumes less energy than letting the voltage drop, but the fan speed/noise will however fluctuate more.

Hacks and ideas

3mm LEDs to see the status of the controller [$ - Easy]
A red LED to indicate that the 12V rail is powered, a yellow LED to indicate that the 3.3V rail (and MCU) is powered, a green LED to indicate that the MCU has enabled the fan. Pin 5 of the MCU is already programmed to go HIGH then the fan is enabled and LOW when disabled. Connect a 680Ω resistor in series with the yellow and green leds, and a 5.1KΩ resistor in series with the red LED. The LEDs combined will consume more power than the fan controller alone, but it can be useful or interesting to see what's going on. If power consumption is a concern, you can connect a switch between the LEDs and ground such that they can be enabled or disabled.

Temperature controlled operation [$ - Hard]
Connect a temperature sensor to pin 1 or 5, and modify the source code to read temperature values and control the fan accordingly. Pin 5 is not connected to anything and can be used for digital (single wire) sensors. Pin 1 can be used for both analogue and digital sensors, but since this pin is the MCU reset pin per default, you must first cut the PCB trace coming from 3.3V to the pin, and program the MCU fuses accordingly.

Q&A