You are here

Fan Controller | Cypress Semiconductor

Block Diagram

Design Considerations

Cypress's PSoC programmable system-on-chip architecture gives you the freedom to not only design revolutionary new products, but also the capability to get those products to market faster than anyone else. PSoC integrates more digital and analog functionality than any other mixed-signal embedded solution available. With the Fan Controller component you can design a 4-wire brushless DC fan control system faster and more reliably than any standard competitive MCU offering in the market today.

What does the PSoC Fan Controller do?

The Fan Controller component enables designers to quickly and easily develop fan controller solutions using PSoC. The component is a system-level solution that encapsulates all necessary hardware blocks including PWMs, tachometer input capture timer, control registers, status registers and a DMA controller reducing development time and effort.

The component is customizable through a graphical user interface enabling designers to enter fan electromechanical parameters such as duty cycle-to-RPM mapping and physical fan bank organization. Performance parameters including PWM frequency and resolution as well as open or closed loop control methodology can be configured through the same user interface. Once the system parameters are entered, the component delivers the most optimal implementation saving resources within PSoC to enable integration of other thermal management and system management functionality. Easy-to-use APIs are provided to enable firmware developers to get up and running quickly.

The PSoC Fan Controller Component can control up to 16 independent 4-wire DC fans. Because the design is done in hardware, the cooling system will run even when the CPU is in a sleep mode or better even, the CPU can handle other real-time critical events while the fans are controlled via a hardware control loop.

MCU's Can't, PSoC Can

Fan control, for either a 3- or 4-wire fan, is typically implemented via complex firmware instructions in an MCU utilizing a timer driven PWM interface to adjust the duty cycle of the PWM period and modify the actual fan’s speed. Once the fans out number the quantity of discrete PWMs, the control and optimizations through independent fan control are limited.

Further, to calculate the actual fan speed, each of the fans output a tachometer signal that are then interfaced with a timer to determine the RPM-speed of the fan. While some applications do not necessarily care what the exact RPM is of a given fan, this signal is extremely important in detecting a fan stall or rotor lock failure. More advanced fan control applications can additionally use this tachometer fan-response to closely control the fan speeds in systems to implement fan noise reduction techniques or otherwise minimize power consumed by the fans in a system.

The PSoC device’s programmable logic-based solution removes the constraints a typical MCU implementation may have by enabling the ability to independently control more fans than any other solution. Additionally, with the ability to independently control and monitor each fan in a given system you gain the ability to:

  • Implement hardware/logic-based closed-loop speed control;
  • Optimize each fans’ speed, thereby control the level of acoustic noise and energy consumption, for exactly what the system needs to maintain a target temperature
  • Implement advanced predictive fan failure and fan-aging algorithms never before possible

Discover the Power of PSoC Creator

  • PSoC Creator uses components, “Virtual chips” represented by an icon in Cypress’s PSoC Creator software, which are “dragged and dropped” as component icons into PSoC Creator designs.
  • The Fan Controller component provides an ultra-fast design interface to setup the fan hardware parameters and implement a full fan control solution with a near-zero code implementation.
  • Using PSoC Creator makes accessing related information extremely easy. By simply right clicking on the Fan Control Component, you can find all the necessary information through its extensive data sheet.
  • Like all PSoC Creator components, the APIs are pre-written so, if you need to customize a portion of the solution and write code, all the user has to do is to call the functions provided. No need to be an expert in PWM and fan control, just select the Fan Controller Component.



  • Support for up to 16 PWM controlled, 4-wire brushless DC fans
  • Individual or banked PWM outputs with tachometer inputs
  • Supports 25 kHz, 50 kHz or user-specified PWM frequencies
  • Supports fan speeds up to 25,000 RPM
  • Supports 4-pole and 6-pole motors
  • Supports fan stall / rotor lock detection on all fans
  • Supports firmware controlled or hardware controlled fan speed regulation
  • Customizable alert pin for fan fault reporting

Application Notes

Development Kits/Boards


PSoC® 3 and PSoC® 5 are true programmable embedded system-on-chips which integrate configurable analog and digital peripherals, memory and a microcontroller all on a single chip. These breakthrough architectures boost performance through:

  • Integrated high-precision 20-bit resolution analog
  • Ultra low power with industry’s widest voltage range
  • Programmable PLD-based logic
  • Single-Cycle 8051 core up to 67 MHz (PSoC 3)
  • 32-bit ARM® Cortex™-M3 CPU up to 67 MHz (PSoC 5)


  • This video demonstrates how to quickly and easily develop fan control/management systems using the supplied FanController system-level component within the AN66627 application note. The component supports up to 16 pulse width modulator (PWM) controlled 4-wire fans and through an intuitive graphical interface, enables designers to quickly configure the number of fans, their electromechanical properties, organization into banks (if desired) and the control algorithm type - firmware or hardware based.  This video is a demonstration of one of the five example projects described in this application note.

    For further details, refer to Cypress's Application Note: AN66627.

Software and Drivers

  • PSoC Creator

    PSoC Creator is a state-of-the-art software development IDE combined with a revolutionary graphical design editor to form a uniquely powerful hardware/software co-design environment.

  • PSoC Designer

    PSoC Designer is the revolutionary Integrated Design Environment (IDE) that you can use to customize PSoC to meet your specific application requirements. PSoC Designer software accelerates system bring-up and time-to-market.