
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.

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.
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.
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.
| Pin | Type | Signal | Direction | Purpose |
|---|---|---|---|---|
| 1 | POWER | GND | Digital ground plane | |
| 2 | DIGITAL | D0 | INPUT | Internal loop flow sensor |
| 3 | DIGITAL | D1 | INPUT | External loop flow sensor |
| 7 | DIGITAL | D5 | OUTPUT | Level shifter output enable, active low |
| 8 | DIGITAL | D6 | INPUT | PCIe #PERST status |
| 9 | DIGITAL | D7 | OUTPUT | WS2811B data |
| 11 | RS232 | RX | INPUT | RS232 receive |
| 12 | RS232 | TX | OUTPUT | RS232 transmit |
| 21 | ANALOG | A0 | INPUT | External loop outflow temperature, 10k NTC |
| 22 | ANALOG | A1 | INPUT | External loop inflow temperature, 10k NTC |
| 23 | ANALOG | A2 | INPUT | Internal loop inflow temperature, 10k NTC |
| 24 | ANALOG | A3 | INPUT | Internal loop outflow temperature, 10k NTC |
| 25 | I2C | SDA0 | BIDI | SMBus I2C data |
| 26 | I2C | SCL0 | BIDI | SMBus I2C clock |
| 29 | DIGITAL | D22 | OUTPUT | Front panel power switch output |
| 30 | DIGITAL | D23 | INPUT | Front panel power switch input |
| 31 | POWER | 3V3 | 3.3V AUX input | |
| 32 | POWER | AGND | Analog ground plane | |
| 42 | POWER | 3V3 | 3.3V AUX input | |
| 46 | I2C | SDA1 | BIDI | Local I2C data |
| 47 | I2C | SCL1 | BIDI | Local I2C clock |
| 53 | POWER | GND | Digital ground plane |
| Pin | Type | Signal | Direction | Purpose |
|---|---|---|---|---|
| 1 | POWER | GND | Digital ground | |
| 2 | RS232 | RX | INPUT | RS232 receive |
| 3 | RS232 | TX | OUTPUT | RS232 transmit |
| 4 | 1-WIRE | D2 | BIDI | DS18B20 bus |
| 10 | DIGITAL | D8 | OUTPUT | Expansion valve relay |
| 11 | DIGITAL | D9 | OUTPUT | Compressor relay |
| 12 | DIGITAL | D10 | OUTPUT | Fan PWM |
| 13 | DIGITAL | D11 | INPUT | Bottom fan RPM sensor |
| 14 | DIGITAL | D12 | INPUT | Top fan RPM sensor |
| 20 | DIGITAL | D13 | OUTPUT | Status lights/buzzer relay |
| 21 | DIGITAL | D14 | OUTPUT | Pump relay |
| 22 | DIGITAL | D15 | INPUT | Flow switch, active low |
| 23 | I2C | SCL0 | BIDI | Local I2C clock |
| 24 | I2C | SDA0 | BIDI | Local I2C data |
| 25 | DIGITAL | D18 | INPUT | Encoder switch |
| 26 | DIGITAL | D19 | INPUT | Encoder quadrature B |
| 27 | DIGITAL | D20 | INPUT | Encoder quadrature A |
| 28 | ANALOG | A7 | INPUT | Filter check diff. pressure sensor |
| 29 | ANALOG | A8 | INPUT | Reservoir eTape Rref 2000Ω |
| 30 | ANALOG | A9 | INPUT | Reservoir eTape Rsense 400-2000Ω |
| 31 | POWER | 3V3 | 3.3V output | |
| 32 | POWER | AGND | Analog ground | |
| 33 | POWER | 5V | 5V input from CAN |
| Pin | Type | Signal | Direction | Purpose |
|---|---|---|---|---|
| 1 | POWER | 5V | 5V from PCIe card | |
| 2 | POWER | GND | Digital ground | |
| 3 | RS232 | RX | INPUT | RS232 receive |
| 4 | RS232 | TX | OUTPUT | RS232 transmit |
| Pin | Type | Signal | Direction | Purpose |
|---|---|---|---|---|
| 1 | DIGITAL | D15 | INPUT | Flow switch |
| 2 | POWER | GND | Digital ground |
| Pin | Type | Signal | Direction | Purpose |
|---|---|---|---|---|
| 1 | 1-WIRE | D2 | BIDI | DS18B20 bus |
| 2 | POWER | GND | Digital ground | |
| 3 | POWER | 3V3 | 3.3V output |
| Pin | Type | Signal | Direction | Purpose |
|---|---|---|---|---|
| 1 | POWER | 3V3 | 3.3V output | |
| 2 | POWER | AGND | Analog ground | |
| 3 | ANALOG | A7 | INPUT | Filter check diff. pressure sensor |
| Pin | Type | Signal | Direction | Purpose |
|---|---|---|---|---|
| 1 | ANALOG | A9 | INPUT | Rsense 400-2000Ω |
| 2 | ANALOG | A8 | INPUT | Rref 2000Ω |
| 3 | POWER | AGND | Analog ground | |
| 4 | POWER | AGND | Analog ground |
| Pin | Type | Signal | Direction | Purpose |
|---|---|---|---|---|
| 1 | DIGITAL | D12 | INPUT | Top fan RPM sensor |
| 2 | DIGITAL | D11 | INPUT | Bottom fan RPM sensor |
| 3 | DIGITAL | D10 | OUTPUT | Fan PWM |
| Pin | Type | Signal | Direction | Purpose |
|---|---|---|---|---|
| 1 | POWER | GND | Digital ground | |
| 2 | DIGITAL | D13 | OUTPUT | Status lights/buzzer relay |
| 3 | DIGITAL | D14 | OUTPUT | Pump relay |
| 4 | POWER | 5V | 5V input from CAN |
| Pin | Type | Signal | Direction | Purpose |
|---|---|---|---|---|
| 1 | POWER | GND | Digital ground | |
| 2 | DIGITAL | D9 | OUTPUT | Compressor relay |
| 3 | POWER | GND | Digital ground | |
| 4 | DIGITAL | D8 | OUTPUT | Expansion valve relay |
| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | GREEN | LED_SMD:LED_1206_3216Metric | D1, D2, D3, D4, D5, D6, D11 |
| 6 | 0.1uF | Capacitor_SMD:C_1206_3216Metric | C1, C2, C3, C4, C5, C6 |
| 6 | 220 | Resistor_SMD:R_1206_3216Metric | R9, R12, R13, R14, R15, R16 |
| 4 | 100k | Resistor_SMD:R_1206_3216Metric | R3, R4, R5, R6 |
| 4 | 10k | Resistor_SMD:R_1206_3216Metric | R1, R7, R8, R17 |
| 4 | OLED | MountingHole:MountingHole_2.2mm_M2 | H3, H4, H5, H6 |
| 2 | PCIe Bracket | MountingHole:MountingHole_3.2mm_M3_Pad_Via | H1, H2 |
| 1 | 200 | Resistor_SMD:R_1206_3216Metric | R2 |
| 1 | 74125 | Package_SO:TSSOP-14_4.4x5mm_P0.65mm | U5 |
| 1 | BME280 | MountingHole:MountingHole_3.2mm_M3 | H7 |
| 1 | BME280 I2C | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J7 |
| 1 | Bus_PCI_Express_x1 | Connector_PCBEdge:BUS_PCIexpress_x1 | J1 |
| 1 | CNY17-3 | Package_DIP:SMDIP-6_W7.62mm | U3 |
| 1 | Disp I2C | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J8 |
| 1 | Ext Flo | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Horizontal | J10 |
| 1 | Ext Flo Stat | LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D8 |
| 1 | Ext T Hi | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Horizontal | J5 |
| 1 | Ext T Lo | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Horizontal | J6 |
| 1 | Ext T Stat | LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D7 |
| 1 | Int Flo | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Horizontal | J9 |
| 1 | Int Flo Stat | LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D10 |
| 1 | Int T Hi | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Horizontal | J3 |
| 1 | Int T Lo | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Horizontal | J4 |
| 1 | Int T Stat | LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D9 |
| 1 | MAX3232 | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U2 |
| 1 | Pololu U3V16F5 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | U4 |
| 1 | RS232 | Connector_Dsub:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mm | J2 |
| 1 | SMBus | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J13 |
| 1 | SW In | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Horizontal | J11 |
| 1 | SW Out | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Horizontal | J12 |
| 1 | Teensy3.2 | teensy:Teensy30_31_32_All_Pins | U1 |
The 57 most common of 58 parts.

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.

CatoLynx/Kettcar_Control_HW
Central controller for my hoverboard-powered Kettcar


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

doudar/SmartSpin2k
Transform your spin bike into a Smart Trainer!


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


Tjeerdie/SPECTRE
Speeduino compatible engine control unit (ECU) based around black STM32F407VET6 board.
It measures 75 × 67.7 mm and has 4 copper layers, 1.6 mm thick.
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.
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.
Its repository states no licence, so its author keeps all rights: ask agmlego before reusing the design.