Skip to the content
4 layers75 × 67.7 mmPcie water loop controller, the printed circuit board in 3D

Pcie water loop controller

agmlego/water-cooling-controller2

The intent of this project is to monitor and control an external chiller system for a PC water-cooling loop with a liquid-liquid heat exchanger to separate the internal and external loops.

Size
75 × 67.7 mm
Copper layers
4
Thickness
1.6 mm
Parts
58
Nets
112
Pads
265
Tracks, vias
224, 34
Pours
4
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
19 Aug 2023
Updated
12 Jun 2025

Overview

Pcie water loop controller is an open-source printed circuit board by agmlego, from the agmlego/water-cooling-controller repository on GitHub. It is a 4-layer board of 75 × 67.7 mm with 58 parts on 112 nets, routed with 224 tracks and 34 vias.

It is built around the MAX3232ID, BME280 and CNY17-3. Its parts include 15 resistors, 13 connectors, 11 diodes, 6 capacitors and 5 ICs. It belongs with the computers and single-board computers boards and the NXP (LPC, Kinetis, i.MX RT) boards of this library.

Main components

3

README

README.md

External Water-Cooling Loop Controller

The intent of this project is to monitor and control an external chiller system for a PC water-cooling loop with a liquid-liquid heat exchanger to separate the internal and external loops.

There is a PCIe x1 card inside the PC, tapping into SMBus and +3V3AUX, to monitor the flow, inlet, and outlet temperatures for the internal and external loops, and intercept the front panel power switch to prevent boot or to initiate a shutdown if the loops are not working correctly. The Teensy 3.2 will communicate to the PC, pretending to be a common SMBus device such as those from Winbond or Nuvoton. It also talks with an external board in the chiller over RS232. Onboard WS2811B and an OLED screen show immediate diagnostics. An onboard BME280 lets the Teensy monitor internal case ambient temperature and humidity, to ensure that the chiller does not drop below the local dewpoint to prevent condensation.

The external board listens to RS232 and adjusts the chiller's power state and setpoint. It also reports the local BME280 results and has an onboard OLED screen for system status.

Internal PCIe Card

PinTypeSignalDirectionPurpose
1POWERGNDDigital ground plane
2DIGITALD0INPUTInternal loop flow sensor
3DIGITALD1INPUTExternal loop flow sensor
7DIGITALD5OUTPUTLevel shifter output enable, active low
8DIGITALD6INPUTPCIe #PERST status
9DIGITALD7OUTPUTWS2811B data
11RS232RXINPUTRS232 receive
12RS232TXOUTPUTRS232 transmit
21ANALOGA0INPUTExternal loop outflow temperature, 10k NTC
22ANALOGA1INPUTExternal loop inflow temperature, 10k NTC
23ANALOGA2INPUTInternal loop inflow temperature, 10k NTC
24ANALOGA3INPUTInternal loop outflow temperature, 10k NTC
25I2CSDA0BIDISMBus I2C data
26I2CSCL0BIDISMBus I2C clock
29DIGITALD22OUTPUTFront panel power switch output
30DIGITALD23INPUTFront panel power switch input
31POWER3V33.3V AUX input
32POWERAGNDAnalog ground plane
42POWER3V33.3V AUX input
46I2CSDA1BIDILocal I2C data
47I2CSCL1BIDILocal I2C clock
53POWERGNDDigital ground plane

WS2811B

  1. External loop temperature status
  2. External loop flow status
  3. Internal loop temperature status
  4. Internal loop flow status

RS232 DE-9

  1. Chassis earth
  2. N/C
  3. PC RX
  4. PC TX
  5. N/C
  6. 0VDC
  7. N/C
  8. N/C
  9. N/C
  10. +5V

Images

top bottom Interactive BOM

Chiller Controller

PinTypeSignalDirectionPurpose
1POWERGNDDigital ground
2RS232RXINPUTRS232 receive
3RS232TXOUTPUTRS232 transmit
41-WIRED2BIDIDS18B20 bus
10DIGITALD8OUTPUTExpansion valve relay
11DIGITALD9OUTPUTCompressor relay
12DIGITALD10OUTPUTFan PWM
13DIGITALD11INPUTBottom fan RPM sensor
14DIGITALD12INPUTTop fan RPM sensor
20DIGITALD13OUTPUTStatus lights/buzzer relay
21DIGITALD14OUTPUTPump relay
22DIGITALD15INPUTFlow switch, active low
23I2CSCL0BIDILocal I2C clock
24I2CSDA0BIDILocal I2C data
25DIGITALD18INPUTEncoder switch
26DIGITALD19INPUTEncoder quadrature B
27DIGITALD20INPUTEncoder quadrature A
28ANALOGA7INPUTFilter check diff. pressure sensor
29ANALOGA8INPUTReservoir eTape Rref 2000Ω
30ANALOGA9INPUTReservoir eTape Rsense 400-2000Ω
31POWER3V33.3V output
32POWERAGNDAnalog ground
33POWER5V5V input from CAN

JST-XH Connectors

RS232
PinTypeSignalDirectionPurpose
1POWER5V5V from PCIe card
2POWERGNDDigital ground
3RS232RXINPUTRS232 receive
4RS232TXOUTPUTRS232 transmit
Flow
PinTypeSignalDirectionPurpose
1DIGITALD15INPUTFlow switch
2POWERGNDDigital ground
DS18B20 One-Wire
PinTypeSignalDirectionPurpose
11-WIRED2BIDIDS18B20 bus
2POWERGNDDigital ground
3POWER3V33.3V output
Filter Diff. Pressure
PinTypeSignalDirectionPurpose
1POWER3V33.3V output
2POWERAGNDAnalog ground
3ANALOGA7INPUTFilter check diff. pressure sensor
Reservoir Level eTape
PinTypeSignalDirectionPurpose
1ANALOGA9INPUTRsense 400-2000Ω
2ANALOGA8INPUTRref 2000Ω
3POWERAGNDAnalog ground
4POWERAGNDAnalog ground
Fans
PinTypeSignalDirectionPurpose
1DIGITALD12INPUTTop fan RPM sensor
2DIGITALD11INPUTBottom fan RPM sensor
3DIGITALD10OUTPUTFan PWM
Dual-Relay Module
PinTypeSignalDirectionPurpose
1POWERGNDDigital ground
2DIGITALD13OUTPUTStatus lights/buzzer relay
3DIGITALD14OUTPUTPump relay
4POWER5V5V input from CAN
SSRs
PinTypeSignalDirectionPurpose
1POWERGNDDigital ground
2DIGITALD9OUTPUTCompressor relay
3POWERGNDDigital ground
4DIGITALD8OUTPUTExpansion valve relay

NF-A14 Control

  • PWM: 40μs period, 5Vpp
  • 8.76% minimum kickon => 468RPM (64ms/15.6Hz on tach.)
  • 100% => 3180RPM (9.4ms/106.4Hz on tach.)

Images

top bottom Interactive BOM

Parts

58
QtyValueFootprintReferences
7GREENLED_SMD:LED_1206_3216MetricD1, D2, D3, D4, D5, D6, D11
60.1uFCapacitor_SMD:C_1206_3216MetricC1, C2, C3, C4, C5, C6
6220Resistor_SMD:R_1206_3216MetricR9, R12, R13, R14, R15, R16
4100kResistor_SMD:R_1206_3216MetricR3, R4, R5, R6
410kResistor_SMD:R_1206_3216MetricR1, R7, R8, R17
4OLEDMountingHole:MountingHole_2.2mm_M2H3, H4, H5, H6
2PCIe BracketMountingHole:MountingHole_3.2mm_M3_Pad_ViaH1, H2
1200Resistor_SMD:R_1206_3216MetricR2
174125Package_SO:TSSOP-14_4.4x5mm_P0.65mmU5
1BME280MountingHole:MountingHole_3.2mm_M3H7
1BME280 I2CConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ7
1Bus_PCI_Express_x1Connector_PCBEdge:BUS_PCIexpress_x1J1
1CNY17-3Package_DIP:SMDIP-6_W7.62mmU3
1Disp I2CConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ8
1Ext FloConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_HorizontalJ10
1Ext Flo StatLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD8
1Ext T HiConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ5
1Ext T LoConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ6
1Ext T StatLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD7
1Int FloConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_HorizontalJ9
1Int Flo StatLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD10
1Int T HiConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ3
1Int T LoConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ4
1Int T StatLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD9
1MAX3232Package_SO:TSSOP-16_4.4x5mm_P0.65mmU2
1Pololu U3V16F5Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalU4
1RS232Connector_Dsub:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mmJ2
1SMBusConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ13
1SW InConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ11
1SW OutConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ12
1Teensy3.2teensy:Teensy30_31_32_All_PinsU1

The 57 most common of 58 parts.

More from agmlego/water-cooling-controller

1
  • 2 layers85 × 46 mmCw-5200 controller, the printed circuit board in 3D

    Cw-5200 controller

    agmlego/water-cooling-controller

    The intent of this project is to monitor and control an external chiller system for a PC water-cooling loop with a liquid-liquid heat exchanger to separate the internal and external loops.

    37 parts2

Similar boards

  • 2 layers150 × 100 mmKettcar Control HW, the printed circuit board in 3D

    Kettcar Control HW

    CatoLynx/Kettcar_Control_HW

    Central controller for my hoverboard-powered Kettcar

    121 parts
  • 2 layers113 × 49 mmTH8200Control, the printed circuit board in 3D

    TH8200Control

    CatoLynx/TH8200Control

    Control board for Siemens TH8200 hand dryer

    43 parts
  • 2 layers181.1 × 139.9 mmCampervan management, the printed circuit board in 3D

    Campervan management

    akladnig/CamperVan

    - CamperVan Design and Arduino Circuit Design - Campervan Design Overview - Dashboard App - Electrical System - Sensors - Circuit Design - Battery and voltage monitoring - Voltage Divider Design - Low Pass Filter - TODO

    116 parts
  • 2 layers189.5 × 204.9 mmSmartSpin2k Panelized, the printed circuit board in 3D

    SmartSpin2k Panelized

    doudar/SmartSpin2k

    Transform your spin bike into a Smart Trainer!

    749 parts292GPL-2.0
  • 2 layers193 × 113 mmSerial hat, the printed circuit board in 3D

    Serial hat

    colinleroy/a2tools

    Stuff I write for my Apple //c

    35 parts92
  • 2 layers81.6 × 44.5 mmELTerm, the printed circuit board in 3D

    ELTerm

    zephray/ELTerm

    ANSI/VT100-compatible serial terminal built with Raspberry Pi Pico and EL640.480-AM/AG screen

    31 parts92MIT
  • 2 layers87 × 71 mmSocket, the printed circuit board in 3D

    Socket

    eddyem/STM8_samples

    Some code samples and ready projects based on STM8 (deprecated)

    89 parts80
  • 2 layers100 × 93 mmSpeeduino base, the printed circuit board in 3D

    Speeduino base

    Tjeerdie/SPECTRE

    Speeduino compatible engine control unit (ECU) based around black STM32F407VET6 board.

    213 parts59GPL-3.0

Questions

How big is the Pcie water loop controller PCB?

It measures 75 × 67.7 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Pcie water loop controller use?

58 parts, built around the MAX3232ID, BME280 and CNY17-3. 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 Pcie water loop controller KiCad files?

From the agmlego/water-cooling-controller repository on GitHub, at the commit this page was made from: the board is hardware/electrical/pcie_water_loop_controller/pcie_water_loop_controller.kicad_pcb and its schematic hardware/electrical/cw-5200_controller/cw-5200_controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Pcie water loop controller design in my own project?

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