Skip to the content
PCBKitNew board
2 layers27.2 × 38.6 mmFanCTRL, the printed circuit board in 3D

Controls the fan speed using an additional PCB, especially for fans with a 4-pin connector (plus, minus, PWM, tacho)

Size
27.2 × 38.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
20
Nets
26
Pads
66
Tracks, vias
110, 12
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
25 May 2026
Updated
25 May 2026

Overview

FanCTRL is an open-source printed circuit board by Code99it, from the Code99it/FanCTRL repository on GitHub. It is a 2-layer board of 27.2 × 38.6 mm with 20 parts on 26 nets, routed with 110 tracks and 12 vias.

It is built around the AP2112K-3.3 and BSS138. Its parts include 6 resistors, 3 capacitors, 2 ICs, 2 transistors and 2 connectors. It belongs with the STM32 boards of this library.

Main components

2

README

README.md

FanCTRL

Controls the fan speed using an additional PCB, especially for fans with a 4-pin connector (plus, minus, PWM, tacho).

Features

  • 4-Pin Fan Support: Full control over standard 4-pin cooling fans, utilizing all signals:
    • Power: V+ (Plus)
    • Ground: GND (Minus)
    • PWM: Precise speed control via Pulse Width Modulation.
    • Tacho: RPM feedback interpretation (Tachometer signal).
  • Dedicated Hardware: Designed to offload fan management to a custom, additional PCB.
  • Efficient Control: Optimized timing and frequency handling for silent and reliable fan operation.

Pinout & Signals

PinDescriptionSignal Type
+ / V+Power SupplyInput (e.g., 12V)
- / GNDGroundReference
PWMPulse Width ModulationControl Input (Target Speed)
TACHOTachometer / FGOutput (RPM Feedback)

Hardware Setup

Connect the 4-pin fan connector directly to the designated header on the FanCTRL PCB. Ensure that the logic level of the microcontroller (e.g., 3.3V or 5V) matches the PWM input specifications of your fan or is properly shifted on the PCB.

Getting Started

  1. Clone the repository:
    bash
    git clone https://github.com/Code99it/FanCTRL.git

Parts

20
QtyValueFootprintReferences
210kResistor_SMD:R_0805_2012MetricR301, R401
22k4Resistor_SMD:R_0805_2012MetricR302, R402
25k9Resistor_SMD:R_0805_2012MetricR303, R403
2BSS138Package_TO_SOT_SMD:SOT-23Q301, Q401
2Conn_01x04_PinConnector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ201, J202
1100nCapacitor_SMD:C_0805_2012MetricC201
110µ 6V3Capacitor_SMD:CP_Elec_5x4.5C203
14,7µ 6V3Capacitor_SMD:CP_Elec_4x3.9C202
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U201
1SPI_GNDTestPoint:TestPoint_Pad_1.5x1.5mmH203
1SPI_NRSTTestPoint:TestPoint_Pad_1.5x1.5mmH204
1SPI_SWCLKTestPoint:TestPoint_Pad_1.5x1.5mmH201
1SPI_SWDIOTestPoint:TestPoint_Pad_1.5x1.5mmH205
1SPI_VCCTestPoint:TestPoint_Pad_1.5x1.5mmH202
1STM32G030F6PxPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU202

Questions

How big is the FanCTRL PCB?

It measures 27.2 × 38.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the FanCTRL use?

20 parts, built around the AP2112K-3.3 and BSS138. 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 FanCTRL KiCad files?

From the Code99it/FanCTRL repository on GitHub, at the commit this page was made from: the board is KiCad/FanCTRL.kicad_pcb and its schematic KiCad/FanCTRL.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the FanCTRL design in my own project?

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

Similar boards

  • 4 layers74 × 104 mmBeepy, the printed circuit board in 3D

    Beepy

    sqfmi/beepy-hardware

    Beepy Hardware

    160 parts348MIT
  • 4 layers70 × 54 mmPicoLab, the printed circuit board in 3D

    PicoLab

    CoretechR/PicoLab

    Web-GUI Embedded Multitool

    285 parts327GPL-3.0
  • 2 layers390 × 120.2 mmKeyboard, the printed circuit board in 3D

    Keyboard

    joshajohnson/entropy

    Strange keyboard with a left hand numpad

    334 parts97
  • 2 layers312.5 × 122.3 mmSHEGO75-V5, the printed circuit board in 3D

    SHEGO75-V5

    Charading/Shego75HE

    My endgame 75% hall effect keyboard

    392 parts75
  • 2 layers89 × 124 mmHub20, the printed circuit board in 3D

    Hub20

    joshajohnson/Hub20

    Hub20 is a numpad with a bunch of features you never knew you needed.

    183 parts68
  • 2 layers220 × 70 mmBemini rp, the printed circuit board in 3D

    Bemini rp

    ianklug/bemini

    A miniature mechanical keyboard controller with a rotary encoder for staggered-key rhythm games.

    70 parts55CC-BY-SA-4.0
  • 2 layers27 × 40.3 mmPanasonic aircon, the printed circuit board in 3D

    Panasonic aircon

    jnicolson/panasonic_ac_wifi

    Module to interface with the CN-CNT port on Panasonic airconditioner units

    26 parts28CC-BY-4.0
  • 2 layers196.7 × 31.5 mmClock, the printed circuit board in 3D

    Clock

    Matir/hacks

    Miscellaneous Hacks

    90 parts18BSD-2-Clause