Skip to the content
2 layers68 × 50.5 mmFanspeed, the printed circuit board in 3D

A simple, low-cost DC fan speed controller built around the classic NE555 timer IC operating in astable mode. Fan speed is adjusted by varying the PWM duty cycle via a potentiometer, while a TIP122 Darlington transistor handles the switching current for the fan load.

Size
68 × 50.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
19
Nets
11
Pads
66
Tracks, vias
93, 2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
26 Aug 2026
Updated
26 Aug 2026

Overview

Fanspeed is an open-source printed circuit board by Aniket95-code, from the Aniket95-code/Fan-Speed-Controller-NE555-PCB-design repository on GitHub. It is a 2-layer board of 68 × 50.5 mm with 19 parts on 11 nets, routed with 93 tracks and 2 vias.

It is built around the NE555P and TIP122. Its parts include 4 diodes, 3 capacitors, 3 resistors, 2 connectors and 1 IC.

Main components

2

README

README.md

Fan Speed Controller — NE555 PWM Circuit

A simple, low-cost DC fan speed controller built around the classic NE555 timer IC operating in astable mode. Fan speed is adjusted by varying the PWM duty cycle via a potentiometer, while a TIP122 Darlington transistor handles the switching current for the fan load.

Overview

This circuit generates a variable-duty-cycle square wave using the NE555 and uses it to drive a power transistor that switches the fan on and off rapidly (PWM). By independently controlling the charge and discharge paths of the timing capacitor (via D2/D3 and the potentiometer RV1), the duty cycle can be adjusted from low to high while keeping the oscillation frequency relatively stable — giving smooth, flicker-free speed control over the fan.

Features

  • Adjustable fan speed via a single potentiometer
  • Wide input voltage range (typical 12 V fan supply)
  • Reverse/flyback protection diode on the fan output
  • Power-on LED indicator
  • Bulk input filtering for clean, stable operation
  • Simple, low component count — easy to build and debug

Schematic Description

ReferenceDescriptionFunction
J12-pin screw terminalDC power input
C11000 µF electrolytic capacitorInput power supply filtering / decoupling
R12.2 kΩ resistorCurrent-limiting resistor for power LED
D4LEDPower-on indicator
R21 kΩ resistorCharge-path resistor for 555 timing network
D2, D31N4007 diodesSteer charge/discharge current through separate paths for independent duty-cycle control
RV1PotentiometerAdjusts PWM duty cycle → controls fan speed
C2, C3100 nF capacitorsTiming/frequency-setting capacitors for the 555 oscillator
U2NE555PAstable oscillator generating the PWM signal
R31 kΩ resistorBase drive resistor for switching transistor Q1
Q1TIP122NPN Darlington power transistor — switches fan current
D11N4007Flyback/freewheeling diode across the fan (inductive load protection)
J22-pin screw terminalFan output connector
PWR_FLAG / GNDPower flagsNet markers used for ERC (electrical rules check) — not physical components

Theory of Operation

  1. Power input enters through J1 and is bulk-filtered by C1. R1 and D4 provide a visual power-on indication.
  2. The NE555 (U2) is configured in astable mode, oscillating based on the RC timing network formed by R2, RV1, D2, D3, and C2/C3.
  3. D2 and D3 split the charge and discharge paths of the timing capacitor through opposite halves of the potentiometer RV1. This lets RV1 independently vary the duty cycle of the output waveform without significantly changing the oscillation frequency.
  4. The 555's OUT pin (pin 3) drives R3, which feeds the base of Q1 (TIP122 Darlington transistor).
  5. Q1 switches the fan (connected at J2) on and off at the PWM frequency and duty cycle set by the 555 timer network — effectively controlling the average voltage/current delivered to the fan, and therefore its speed.
  6. D1 (1N4007) is placed across the fan output to clamp the back-EMF spike generated when the inductive fan motor winding is switched off, protecting Q1 from voltage transients.

Adjusting Fan Speed

Turning the potentiometer RV1:

  • One direction increases the PWM duty cycle → fan runs faster.
  • Other direction decreases the PWM duty cycle → fan runs slower.

At very low duty cycles, some fans may stall due to insufficient starting torque — this is a normal limitation of open-loop PWM fan control.

Bill of Materials (BOM)

QtyReferenceValue / PartPackage Notes
1U2NE555PDIP-8 / SOIC-8
1Q1TIP122TO-220 (Darlington NPN)
4D1, D2, D3, D_flyback1N4007Rectifier diode
1D4LED (5 mm or SMD)Power indicator
1C11000 µF electrolyticRated ≥ input voltage + margin
2C2, C3100 nF ceramic555 timing capacitors
1R12.2 kΩLED current limiting
1R21 kΩTiming resistor
1R31 kΩBase drive resistor
1RV1PotentiometerValue per desired frequency range (e.g. 10 kΩ–100 kΩ)
2J1, J2Screw Terminal, 1×02Power in / fan out

Note: Exact potentiometer and timing capacitor values should be selected based on the desired PWM switching frequency (typically 100 Hz–25 kHz for fan control, chosen to stay outside the audible whine range while remaining compatible with the fan's driver electronics).

Design Notes / Recommendations

  • Q1 (TIP122) should be heatsinked if driving fans with current draw approaching its thermal limits, especially in enclosed housings.
  • Confirm the PWM frequency is compatible with the target fan. Many 2-wire/3-wire DC fans respond well to PWM in the low-kHz range; very low frequencies can cause audible motor noise or juddering at low speeds.
  • If used with a 4-wire PWM fan (separate PWM control pin), this circuit could instead drive the fan's dedicated PWM input rather than switching the main power rail — reducing motor stress and improving low-speed reliability.
  • Add a flyback diode rating check: ensure D1 can handle the fan's peak inductive current.
  • Consider adding a fuse or PTC resettable fuse in series with J1 for over-current protection.

License

This design is provided as-is for personal and educational use. Adapt component values as needed for your specific fan and supply voltage.

Parts

19
QtyValueFootprintReferences
4MountingHole_2.2mm_M2_DIN965_Pad_TopBottomMountingHole:MountingHole_2.2mm_M2_DIN965_Pad_TopBottomH1, H2, H3, H4
31N4007Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1, D2, D3
21kResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR2, R3
2Screw_Terminal_01x02TerminalBlock:TerminalBlock_Xinya_XY308-2.54-6P_1x06_P2.54mm_HorizontalJ1, J2
11000ufCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC1
1100nfCapacitor_THT:CP_Radial_D10.0mm_P5.00mm_P7.50mmC3
1100nfCapacitor_THT:C_Disc_D4.7mm_W2.5mm_P5.00mmC2
12.2kResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1
1LEDLED_THT:LED_D5.0mmD4
1NE555PPackage_DIP:DIP-14_W7.62mmU2
1R_PotentiometerPotentiometer_THT:Potentiometer_Alps_RK163_Single_HorizontalRV1
1TIP122Package_TO_SOT_THT:TO-220-3_VerticalQ1

Similar boards

  • 2 layersDC motor speed controller, the printed circuit board in 3D

    DC motor speed controller

    arijit-arijit/pcb_design

    my journey in learning to design PCBs from scratch through tutorials and projects

    19 parts1
  • 2 layers65.3 × 33.8 mmDC Motor Speed Controller, the printed circuit board in 3D

    DC Motor Speed Controller

    adityajoshi2008/555-Timer-PWM-DC-Motor-Speed-Controller

    **555 timer-based PWM DC motor speed controller designed and developed in KiCAD for practical motor speed control.

    20 parts
  • 2 layers167.5 × 124 mmMINORAVG, the printed circuit board in 3D

    MINORAVG

    apekg-blip/PWM-based-dc-motor-speed-controller

    Built an analog DC motor speed controller using an NE555 timer IC and LM3914 LED bar graph for duty-cycle visualization. Designed the circuit schematic in KiCad, gaining experience in PWM and analog motor control

    60 parts
  • 2 layers58.3 × 35 mmDC Motor Speed Controller, the printed circuit board in 3D

    DC Motor Speed Controller

    Hirusha785/DC-Motor-Speed-Controller-PCB

    ⚡ NE555 PWM DC motor speed controller PCB designed in KiCad, featuring adjustable speed control, TIP122 driver stage, flyback protection, screw terminals, and 3D PCB renders.

    21 parts
  • 2 layers62.7 × 28.9 mmDC moter speed controller, the printed circuit board in 3D

    DC moter speed controller

    Mahender0408/Embedded-Systems-Projects

    Embedded Systems, IoT and PCB Design Projects

    19 parts
  • 2 layers57 × 32.5 mmDC MOTOR SPEED CONTROLER USING TIMER IC, the printed circuit board in 3D

    DC MOTOR SPEED CONTROLER USING TIMER IC

    MuhammadAbuzarCUI/DC-Motor-Speed-Controller-Using-555-Timer-IC-PCB-Designed-in-KiCad

    PCB design of a DC motor speed controller using the 555 timer IC to generate a PWM signal for speed control. Includes circuit schematic and PCB layout for motor speed regulation by adjusting the PWM duty cycle.

    15 parts
  • 2 layers50.4 × 33.3 mmDC motor speed controller, the printed circuit board in 3D

    DC motor speed controller

    Noraiz963/DC-Motor-Controller

    A 555-timer-based DC motor speed controller designed in KiCad — uses a variable-duty-cycle PWM signal driven through a power transistor to control motor speed with a single potentiometer.

    21 parts
  • 2 layersDc motor speed controller 5, the printed circuit board in 3D

    Dc motor speed controller 5

    Rohit85885/Dc-motor-speed-controller-

    > **Designed a DC Motor Speed Controller PCB using KiCad 9. The project regulates DC motor speed through efficient control circuitry, featuring schematic design, PCB layout, optimized routing, and ERC/DRC verification.

    19 partsMIT

Questions

How big is the Fanspeed PCB?

It measures 68 × 50.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Fanspeed use?

19 parts, built around the NE555P and TIP122. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Fanspeed KiCad files?

From the Aniket95-code/Fan-Speed-Controller-NE555-PCB-design repository on GitHub, at the commit this page was made from: the board is PCB_files/fanspeed.kicad_pcb and its schematic PCB_files/fanspeed.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Fanspeed design in my own project?

Its repository states no licence, so its author keeps all rights: ask Aniket95-code before reusing the design.