

Fan controller
A fan controller for my DL380e gen8, should work with similar servers as well. It takes the fan signal from the mainboard and divides it by 2, expect it is over 70% then it just passed it as it is.
- Size
- 100 × 35 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 64
- Nets
- 69
- Pads
- 219
- Tracks, vias
- 458, 31
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 13 May 2020
- Updated
- 13 May 2020
Overview
Fan controller is an open-source printed circuit board by mschaf, from the mschaf/hp_dl380_fan_controller repository on GitHub. It is a 2-layer board of 100 × 35 mm with 64 parts on 69 nets, routed with 458 tracks and 31 vias.
It is built around the PIC24FJ128GB204-I/PT. Its parts include 29 resistors, 22 capacitors, 4 connectors, 3 diodes and 2 ICs. It belongs with the PIC boards of this library.
Main components
1README
README.mdHP DL380 Fan Controller
A fan controller for my DL380e gen8, should work with similar servers as well. It takes the fan signal from the mainboard and divides it by 2, expect it is over 70% then it just passed it as it is.
It gets its power and commands from the internal USB port of the server. It acts like a serial device and can be configured via the serial console.
Firmware for the PIC microcontroller is written with MPLAB X in c. The PCB layout is made in KiCAD and can be ordered from services like JLCPCB with the files from the gerbers directory.
Its not perfect, there are still some features it should have, like saving the config to survive a power cylce.
The cables needed can either be hacked together with some spare fan cables from HP or made yourself. The connectors are somewhat custom, or at least I could not find them online. You can use 2mm pitch standart pin sockets and grind them down a litte ti fit in the header on the mainbaord.

Parts
64| Qty | Value | Footprint | References |
|---|---|---|---|
| 13 | 10k | Resistor_SMD:R_0805_2012Metric | R1, R2, R3, R4, R5, R6, R7, R11, R12, R13, R14, R15, R16 |
| 12 | 100n | Capacitor_SMD:C_0805_2012Metric | C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 |
| 7 | 100 | Resistor_SMD:R_0805_2012Metric | R8, R9, R10, R17, R18, R19, R20 |
| 6 | 470 | Resistor_SMD:R_0805_2012Metric | R23, R24, R25, R26, R27, R28 |
| 4 | C_Small | Capacitor_SMD:C_0805_2012Metric | C19, C20, C21, C22 |
| 3 | LED_Dual_AACC | my_footprints:EVL 15-22 R6G6C | D1, D2, D3 |
| 2 | 10u | Capacitor_SMD:C_1206_3216Metric | C1, C17 |
| 2 | 15p | Capacitor_SMD:C_0805_2012Metric | C14, C15 |
| 2 | Conn_02x05_Odd_Even | Connector_IDC:IDC-Header_2x05_P2.54mm_Vertical | J1, J2 |
| 1 | 100K | Resistor_SMD:R_0805_2012Metric | R21 |
| 1 | 1u | Capacitor_SMD:C_0805_2012Metric | C18 |
| 1 | 240 | Resistor_SMD:R_0805_2012Metric | R29 |
| 1 | 390 | Resistor_SMD:R_0805_2012Metric | R22 |
| 1 | 8 MHz | my_footprints:smd_quarz | Y1 |
| 1 | CP | Capacitor_SMD:CP_Elec_4x5.4 | C16 |
| 1 | ICSP | Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical | J3 |
| 1 | Jumper_NC_Dual | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | JP1 |
| 1 | LM317_3PinPackage | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U2 |
| 1 | MountingHole_3.2mm_M3_Pad_Via | MountingHole:MountingHole_3.2mm_M3_Pad_Via | M3 |
| 1 | MountingHole_4.3mm_M4_Pad_Via | MountingHole:MountingHole_4.3mm_M4_Pad_Via | M4 |
| 1 | PIC24FJ128GB204 | Package_QFP:TQFP-44_10x10mm_P0.8mm | U1 |
| 1 | USB_B_Micro | my_footprints:USB_BWM | J4 |
Similar boards
- 2 layers57.3 × 41.2 mm

- 2 layers76.5 × 120 mm

Numpad project
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
64 parts915 - 2 layers160 × 99.1 mm

Flat hierarchy
drandyhaas/KiCadRoutingTools
A set of Python/Rust tools to aid routing in KiCad
64 parts744MIT - 2 layers49 × 53.2 mm

DB25 External
BlueSCSI/BlueSCSI-v2
BlueSCSI v2/Ultra - an open source, open hardware, SCSI emulator using the Pi Pico PR2040 and Pico 2 RP2350
64 parts459GPL-3.0 - 2 layers90 × 71 mm

- 2 layers28 × 30 mm

- 2 layers192.9 × 59.5 mm

Alpha pro micro
PyrooL/Alpha
A 28-key semi-ortholinear mechanical keyboard designed by PyroL
64 parts298MIT - 2 layers128 × 88 mm

Fireball revD
ugcs/ddc
Drone Show Software is software designed for drone shows, allowing flight path planning as well as control of dozens of drones simultaneously in a synchronized manner.
64 parts223
Questions
How big is the Fan controller PCB?
It measures 100 × 35 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Fan controller use?
64 parts, built around the PIC24FJ128GB204-I/PT. 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 Fan controller KiCad files?
From the mschaf/hp_dl380_fan_controller repository on GitHub, at the commit this page was made from: the board is hardware/fan_controller/fan_controller.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Fan controller design in my own project?
Its repository states no licence, so its author keeps all rights: ask mschaf before reusing the design.