Fan control for Linux


In the Android there is a fan control where you can set different modes. What settings to use for fan control in Armbian with kernel 3.14 (the system uses dtb data from the internal memory, that uses and Android) ?


Hi, Balbes150:
Not sure whether or not following cooling fan driver are what you looking for:



The control scripts I have. :wink:
I’m interested in specific values GPIO, which are responsible for fan control (/sys/class/gpio/???).


Hi, balbes150
You can look for:


I know how to use GPIO. :slight_smile:
I need specific values control fan interrupts GPIO, for use in commands.

I’m interested in the same consistency of the parameters (values) to the fan connector. As you described in this example.

GPIO list:

PIN33 / GPIOAO6: 6    
PIN37 / GPIOH5: 32

I tried to use the value 14 and 15 (the dtb file). But setting these values (0 and 1) not work fan.

fan {
compatible = “fanctl”;
fan_ctl0 = <&gpio GPIODV_14 GPIO_ACTIVE_HIGH>;
fan_ctl1 = <&gpio GPIODV_15 GPIO_ACTIVE_HIGH>;
trig_temp_level0 = <50>;
trig_temp_level1 = <60>;
trig_temp_level2 = <70>;


The PIN number on Kernel 3.14 for VIM2

PIN            NUM
GPIODV_14:     218
GPIODV_15:     219

Control for Fan

  • Turn off:

Set level of GPIODV_14 as low
Set level of GPIODV_15 as low
  • Low speed:

Set level of GPIODV_14 as high
Set level of GPIODV_15 as low
  • Medium speed

Set level of GPIODV_14 as low
Set level of GPIODV_15 as high
  • High speed

Set level of GPIODV_14 as high
Set level of GPIODV_15 as high


Thank you.
In kernel 4.9 (khadas git branch ubuntu-4.9) are the same values used ?


Hi @balbes150,

what fan have you purchased? Can you share link?
I saw your fan for vim but not sure if that kind of fan is compatible with vim2?



A fan, which I am currently testing has a connector for connection to the connector for the fan on the Board VIM2. I got this fan from Khadas, along with VIM2. According to preliminary tests, this fan is noticeably quieter than the VIM1 in the work and has the ability to control (in Android - preset 4 option). But this blower has a caveat - very small connector to connect. It is very difficult to connect, need miniature hands, tweezers and a magnifying glass. I also tested other fans without a special connector (I have them connected the same as VIM1 contacts 3.3 V 40 pin connector).

I would recommend Khadas, from the factory to install the fan and radiator on the model Pro and MAX. And have to be installed on all models VIM2 firmware DualOS. This will solve a lot of questions from users. Many people buy VIM2 due to the presence of the ability to use Linux. The stock factory universal firmware, will allow without the need for an independent perebroski, to assess what kind of system he needs more. If you want, anyone can go on the net with DualOS Android or Ubuntu. In the coming days I will try to publish an additional report and photos.


Hi @balbes150,

I have ordered some radiators from but still searching for adequate fan.
I need quiet one :slight_smile:

Can you recommend some fan for vim2? I think that connect to 3.3V is enough (by reading forum posts and reviews) but still none from khadas team said any recommendation for fan :frowning:



Keep in mind when selecting a fan, if using VIM2 fan header, there is a limit to this circuit. The limit is 150mA. So chosen fan should not exceed that limit, or possible damage to the circuit could result.


So what do you think if this one will work on VIM2?



That fan exceeds the 150mA limit of the VIM2’s fan header.
That fan(picture below)shows 0.2A or 200mA, it exceeds the limit by 50mA
It is a wise practice to not exceed stated maximum current(amps).

The fan may never draw the stated 0.2A, but better to look for alternate.

From VIM2 schematic, available on


The PIN number on Kernel 4.9.40 for VIM2

PIN            NUM
GPIODV_14:     74
GPIODV_15:     75


In the next days I will try to test different models of fans and will write the results.

What would the user does not have confusion. This limitation applies to a special connector for the fan on the Board VIM2. When you connect to the pins on 40-pin connector (e.g. contacts 3.3 V), is another maximum value.

Thanks for the info. I checked on the way DualOS (Ubuntu) - everything works. Now in Ubuntu also the same to control the fan. :slight_smile:


fan vim2


nice :grinning:

can you share the link where you bought a fan?



Checked on the way Armbian with kernel 3.14, the fan operates and is managed as needed. :slight_smile:

It is necessary to ask @Gouwa . :wink:
I got this fan complete with VIM2 (thanks Khadas for the supply kit). :blush:


As current arcylic case cannot assemeble the cooling fan, so we haven’t got the cooling fan launched for sale.

We are designing a new housing/case for both VIMs, and the new case can install the fan then.


Hi @Gouwa,

and if I want to build my own case what fan can I purchase (for VIM2) can you please share a link to fan?