Arduino Attiny85 Smart Fan Controller

Introduction: Arduino Attiny85 Smart Fan Controller


Are you annoyed by the loud fan noise? I did.

I have many tools that has a fan. And some tool's fan always runs at maximum speed.
So I made it more quiet.

Step 1: Design, BOM

Its design is simple. But I want to make it really small.

So I can put in my tools.

**so there are no upload pin to sketch uploading**

There are temperature sensing part and MOSFET switching part.

Attiny85 checks temperature and if temperature is high then it outputs PWM frequency high.

And there is one potentiometer. It can be used as adjuster.

I made it as temperature adjuster.

If I rotate it then Attiny85 thinks it is hotter or cooler than real.

So I can move the fan slower or faster.

But it can adjust PWM or maximum temperature or anything if you edit the sketch.

Temperature sensor is 100K thermistor

Step 2: How to Upload Sketch to Attiny85

I will not explain too much. There are many good manual if you google it.

But I didn't made upload pin on the board. So you should upload before solder it.

I used SOIC socket from here:

Step 3: Sketch

void setup(void) {

TCCR0B = TCCR0B & 0b11111000 | 0b001; //changing PWM frequency.

Arduino's PWM frequency is audible. So I change it higher to I cannot hear it.

The temperature unit is Celsius and I programmed it minimum 25 to maximum 35 degree.

You should change it to your needs.

Be the First to Share


    • Rice & Grains Challenge

      Rice & Grains Challenge
    • Lamps Challenge

      Lamps Challenge
    • CNC and 3D Printing Contest

      CNC and 3D Printing Contest



    Question 5 months ago on Step 3

    Hey!A small question about this connection.Does this circuit automatically adjust the fan speed more or less according to how the NTC resistor warms up ????