Skip to the content
PCBKitNew board
2 layers23.5 × 41.5 mmPwm Colex, the printed circuit board in 3D

A cooler for any PC (As long as the dimensions are ok

Size
23.5 × 41.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
22
Nets
29
Pads
82
Tracks, vias
148, 12
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
18 Oct 2026
Updated
19 Oct 2026

Overview

Pwm Colex is an open-source printed circuit board by TherealONE12, from the TherealONE12/CoolEX repository on GitHub. It is a 2-layer board of 23.5 × 41.5 mm with 22 parts on 29 nets, routed with 148 tracks and 12 vias.

It is built around the CH224K, NE555DR and AO3400A. Its parts include 6 connectors, 5 capacitors, 5 resistors, 3 diodes and 2 ICs.

Main components

3

README

README.md

CooleX

A laptop cooling stand with up to 5 fans and custom PWM control. Built because my laptop kept overheating and commercial cooling pads are overpriced.

And also why not?

What it is

This is a 3D printed stand with five 80mm fans that sit directly under your laptop. The fans are controlled by a custom PCB that generates PWM signals from a simple analog circuit. Power comes from any USB-C PD charger that can do 12V.

The whole thing costs around $20-25 to build and hopefuly works better than those $60 "gaming" cooling pads on Amazon.

Project structure

text
hardware/
├── gerbers/
│   └── pwm_Colex_gerbers.zip    ← send this to JLCPCB
├── pwm_Colex.kicad_pro
├── pwm_Colex.kicad_sch           ← schematic
├── pwm_Colex.kicad_pcb           ← PCB layout
├── pwm_Colex.csv                 ← detailed component list
└── BOM.csv                       ← shopping list

mechanical/
├── Part_Studio_1_-_Part_1.step   ← CAD model
└── Part_Studio_1_-_Part_1.stl    ← print this

docs/
└── JOURNAL.md                     ← dev log from the build process

Bill of materials

PartQtyWherePriceLink
Xilence XPF80.R.PWM fans (80mm, 4-pin)up to 5, recommended 2-4Amazon$16.90 total (For 5)Link
PCB (custom)1JLCPCB~$2Upload gerbers zip
Electronic componentssetMouser/Digikey~$3See hardware/pwm_Colex.csv
3D printed stand1Your printer~$2 filamentmechanical/*.stl

Total: ~$24

Key components on the PCB

  • U1: NE555DR timer - generates the PWM signal
  • U2: USB PD chip - asks your charger for 12V
  • Q1-Q5: MOSFETs - switch each fan on/off
  • D1-D5: Flyback diodes - protect the MOSFETs from voltage spikes
  • R_POT: Potentiometer - this is your speed knob

How it works

Power: USB-C PD controller negotiates 12V from whatever charger you plug in

PWM generation: The NE555 is wired as an oscillator. Frequency is set by resistors/caps, duty cycle is adjustable with the pot. This gives you smooth fan speed control from silent to full blast.

Fan control: Each fan gets constant 12V on the positive rail. The MOSFETs switch the ground connection on/off rapidly (that's the PWM).

Why I built this

My laptop would hit 95°C and throttle down to like 1.2GHz whenever I tried to compile or game anything. Regular cooling pads either:

  • Don't actually blow air WHERE the laptop intakes it
  • Use loud DC fans with no speed control
  • Cost $40-60 for what's basically fans and plastic

I wanted PWM control (so it can be quiet when idle), proper positioning under the intake vents, and USB-C power. Nothing on the market did all three without being stupidly expensive.

Also I didn't want to use a microcontroller for this. It's literally just "make a square wave with adjustable duty cycle" - the NE555 has been doing that since 1972. Why overcomplicate it?

Build notes

PCB

Upload hardware/gerbers/pwm_Colex_gerbers.zip to JLCPCB or PCBWay. Default options are fine (2-layer, 1.6mm, HASL finish). Order 5 boards for like $2 + shipping.

Components are all through-hole for easy soldering. Check hardware/pwm_Colex.csv for part numbers. Total BOM cost is around $3-4 if you buy from Mouser/Digikey.

3D print

Print mechanical/Part_Studio_1_-_Part_1.stl in PLA or PETG. Use supports for the overhangs. 20% infill is plenty.

The design has cutouts for USB ports and stuff - these are sized for MY laptop (check JOURNAL.md for which one). You might need to modify them in CAD if your laptop has different port positions.

Assembly

  1. Solder everything to the PCB
  2. Drop the five fans into the stand's mounting holes
  3. Wire fans to the PCB headers (J2 through J6)
  4. Mount the PCB in the little mount on the backside - May or May Not need Hot glue
  5. Plug in USB-C and adjust the pot for desired speed

Usage

Put your laptop on the stand. Plug the USB-C into any PD charger. Turn the pot to adjust fan speed. That's it.

The PD controller will automatically request 12V - if your charger can't do 12V it'll fallback to 9V/5V and the fans will just run slower (still works fine).

Development

Built for Hack Club's Half Life program. See docs/JOURNAL.md for the full build log including all the mistakes I made (there were several).

Main learning: I spent 90 minutes trying to build a sawtooth generator from scratch before realizing the NE555 could just... do that. Read datasheets before reinventing wheels.

Tools used

  • OnShape for CAD (because SolidWorks doesn't run on Linux)
  • KiCad 10.0 for PCB design

Future ideas

  • Add a temp sensor so it can auto-adjust based on laptop temperature
  • Maybe some LEDs to show fan speed
  • Modular mounting holes for different laptop sizes
  • USB hub passthrough would be neat

License

MIT - do whatever you want with it. If you build one, send me a picture!

Credits

Built by Jakob for Hack Club Half Life

Thanks to asktheman for the sawtooth generator reference image that I ended up not using because the NE555 exists

Built by Jakob. With lots of <3 and some Bugs :)

Parts

22
QtyValueFootprintReferences
5Conn_01x03PCM_SparkFun-Connector:1x03_P2.54mmJ2, J3, J4, J5, J6
21N4148PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2
1100PCM_SparkFun-Resistor:R_0603_1608MetricR5
1100nFPCM_4ms_Capacitor:C_0603C2
110kPCM_SparkFun-Resistor:R_0603_1608MetricR4
110nFPCM_4ms_Capacitor:C_0603C3
110uFPCM_4ms_Capacitor:C_0805C5
11N5819PCM_Diode_THT_AKL:D_DO-41_SOD81_P7.62mm_HorizontalD3
11kPCM_SparkFun-Resistor:R_0603_1608MetricR3
11nFPCM_4ms_Capacitor:C_0603C4
11uFPCM_4ms_Capacitor:C_0603C1
124kPCM_SparkFun-Resistor:R_0603_1608MetricR1
150kPCM_SparkFun-Resistor:Bourns-PDB18R2
1AO3400APCM_Package_TO_SOT_SMD_AKL:SOT-23Q1
1CH224Keasyeda2kicad:ESSOP-10_L4.9-W3.9-P1.0-LS6.0-TL-EPU2
1NE555DReasyeda2kicad:SOIC-8_L4.9-W3.9-P1.27-LS6.0-BLU1
1USB_C_ReceptaclePCM_SparkFun-Connector:USB-C_16J1

Questions

How big is the Pwm Colex PCB?

It measures 23.5 × 41.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Pwm Colex use?

22 parts, built around the CH224K, NE555DR and AO3400A. 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 Pwm Colex KiCad files?

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

Can I use the Pwm Colex design in my own project?

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

Similar boards

  • 2 layers17 × 90.5 mmMicroscope, the printed circuit board in 3D

    Microscope

    rakennus/microscope-led-retrofit

    27 parts
  • 4 layers130 × 105 mmHomeDeck, the printed circuit board in 3D

    HomeDeck

    Kilan777/HomeDeck

    Jarvis HomeDeck: a Raspberry Pi CM4 carrier board and voice-assistant software for a 7-inch smart display (KiCad hardware, generated from Python, plus the Python/JS assistant)

    228 parts1
  • 2 layersLightclock, the printed circuit board in 3D

    Lightclock

    Anvarys/lightclock

    Light Clock A custom PCB-based Clock/Alarm with a runrise alarm, a circle of capacitive touch controls to easily choose the time and a 2.42" OLED display

    202 parts
  • 4 layers100 × 60 mmPocKETlab, the printed circuit board in 3D

    PocKETlab

    bublinak/PocKETlab

    127 partsMIT
  • 4 layers560.1 × 158.8 mmKeyboard, the printed circuit board in 3D

    Keyboard

    DEV-ajthedj/Keyboard

    A custom RGB keyboard that features three 1D capacitive touch sliders, two joysticks, an OLED screen, a fingerprint sensor, and plenty of macro keys!

    439 parts
  • 4 layers196.5 × 100 mmDonkeyDrift MUS4, the printed circuit board in 3D

    DonkeyDrift MUS4

    DonkeyDrift/Hardware

    Hardware for DonkeyDrifter

    263 partsApache-2.0
  • 2 layers80 × 60 mmMM PowerBoard Draft, the printed circuit board in 3D

    MM PowerBoard Draft

    MatteoBuxman/EEE3089F_Power_Subsystem

    Power Subsystem CAD Design for Micromouse.

    49 parts
  • 2 layers94.6 × 72.5 mmSmart room V2, the printed circuit board in 3D

    Smart room V2

    MohamadAminGhanoum/Smart-room-V2

    I have since around 1 year done a smart room, where i made a custom pcb, and salvaged some parts from an old laptop motherboard to be able to control the LED strip that i have and also open and close my curtain, but…

    64 parts