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.
Clock Fan Controllers


Fan Controllers PWM Output


  • 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

  • AN60590 explains diode-based temperature measurement using PSoC® 3, PSoC 4, and PSoC 5LP. The temperature is measured based on the diode forward bias current dependence on temperature. This application note details how the flexible analog architecture of PSoC 3, PSoC 4, and PSoC 5LP enables you to measure diode temperatures using a single PSoC device.

  • AN66627 demonstrates how to quickly and easily develop four-wire brushless DC fan control systems using PSoC® 3 or PSoC 5LP.

  • AN78692 demonstrates how to quickly and easily develop a four-wire brushless DC fan control system using PSoC® 1. The Fan Controller User Module, available in PSoC Designer™, helps manage the fans in a variety of configurations.

  • AN93637 shows how to implement sensorless field-oriented control (FOC) for a permanent magnet synchronous motor (PMSM) with a CY8C42xx device. A code example using the CY8CKIT-037 Motor Control Evaluation Kit is included to demonstrate sensorless FOC.

Development Kits/Boards

  • The CY8CKIT-030 PSoC® 3 Development Kit enables you to evaluate, develop and prototype high precision analog, low-power and low-voltage applications powered by Cypress’s CY8C38 high precision analog device family.

  • The PSoC Thermal Management Expansion Board Kit enables you to evaluate System Thermal Management functions and capabilities of the PSoC architecture.

  • PSoC Programmer 3.24 or later and KitProg 2.14 or later are required to program the PSoC 4200L device on the PSoC 4 L-Series Pioneer Kit. PSoC Creator installation or the kit installation automatically installs PSoC Programmer and KitProg drivers.

  • The CY8CKIT-050 PSoC® 5LP Development Kit enables you to evaluate, develop and prototype high precision analog, low-power and low-voltage applicati


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)

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.