

Pwm Colex
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
3CH224K
ESSOP-10-150mil-1mm-40℃~+90℃ 100W 4V~30V 5V、9V、12V、15V、20V Overvoltage Protection、Thermal Protection PD 3.0 Power Receiver Controller ESSOP-10-150mil-1mm USB PD ROHSWCH (Nanjing Qinheng Microelectronics)USB ConvertersNE555DR
SOP-80℃~+70℃ 100kHz 4.5V~16V SOP-8 555 Timers / Counters ROHSUMWTimers / CountersAO3400A
SOT-23-55℃~+150℃ 1 N-channel 1.45V 1.4W 30V 48mΩ@2.5V 5.7A 50pF 630pF 75pF 7nC@10V N-Channel SOT-23 MOSFETs ROHSAlpha & Omega SemiconductorMOSFETs
README
README.mdCooleX
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
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 processBill of materials
| Part | Qty | Where | Price | Link |
|---|---|---|---|---|
| Xilence XPF80.R.PWM fans (80mm, 4-pin) | up to 5, recommended 2-4 | Amazon | $16.90 total (For 5) | Link |
| PCB (custom) | 1 | JLCPCB | ~$2 | Upload gerbers zip |
| Electronic components | set | Mouser/Digikey | ~$3 | See hardware/pwm_Colex.csv |
| 3D printed stand | 1 | Your printer | ~$2 filament | mechanical/*.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
- Solder everything to the PCB
- Drop the five fans into the stand's mounting holes
- Wire fans to the PCB headers (J2 through J6)
- Mount the PCB in the little mount on the backside - May or May Not need Hot glue
- 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| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | Conn_01x03 | PCM_SparkFun-Connector:1x03_P2.54mm | J2, J3, J4, J5, J6 |
| 2 | 1N4148 | PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2 |
| 1 | 100 | PCM_SparkFun-Resistor:R_0603_1608Metric | R5 |
| 1 | 100nF | PCM_4ms_Capacitor:C_0603 | C2 |
| 1 | 10k | PCM_SparkFun-Resistor:R_0603_1608Metric | R4 |
| 1 | 10nF | PCM_4ms_Capacitor:C_0603 | C3 |
| 1 | 10uF | PCM_4ms_Capacitor:C_0805 | C5 |
| 1 | 1N5819 | PCM_Diode_THT_AKL:D_DO-41_SOD81_P7.62mm_Horizontal | D3 |
| 1 | 1k | PCM_SparkFun-Resistor:R_0603_1608Metric | R3 |
| 1 | 1nF | PCM_4ms_Capacitor:C_0603 | C4 |
| 1 | 1uF | PCM_4ms_Capacitor:C_0603 | C1 |
| 1 | 24k | PCM_SparkFun-Resistor:R_0603_1608Metric | R1 |
| 1 | 50k | PCM_SparkFun-Resistor:Bourns-PDB18 | R2 |
| 1 | AO3400A | PCM_Package_TO_SOT_SMD_AKL:SOT-23 | Q1 |
| 1 | CH224K | easyeda2kicad:ESSOP-10_L4.9-W3.9-P1.0-LS6.0-TL-EP | U2 |
| 1 | NE555DR | easyeda2kicad:SOIC-8_L4.9-W3.9-P1.27-LS6.0-BL | U1 |
| 1 | USB_C_Receptacle | PCM_SparkFun-Connector:USB-C_16 | J1 |
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 mm

- 4 layers130 × 105 mm

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 layers

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 mm

- 4 layers560.1 × 158.8 mm

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 mm

- 2 layers80 × 60 mm

MM PowerBoard Draft
MatteoBuxman/EEE3089F_Power_Subsystem
Power Subsystem CAD Design for Micromouse.
49 parts - 2 layers94.6 × 72.5 mm

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