Skip to the content
4 layers65 × 56.5 mmHAT+, the printed circuit board in 3D

Raspberry Pi 5 HAT+: EMC2303 controller for 3 case fans + GNSS (UART/PPS) breakout. KiCad 10, CERN-OHL-S v2.

Size
65 × 56.5 mm
Copper layers
4
Thickness
1.62 mm
Parts
41
Nets
53
Pads
203
Tracks, vias
305, 108
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
25 Oct 2026
Updated
26 Oct 2026

Overview

HAT+ is an open-source printed circuit board by cvaldess, from the cvaldess/Rpi3FanHatPlus repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 4-layer board of 65 × 56.5 mm with 41 parts on 53 nets, routed with 305 tracks and 108 vias.

It is built around the EMC2303-1-KP-TR, AT24CS64-MAHM-T and AT24CS64-SSHM-B, with the HRC0603F4701ENTN, HRC0603F3901ENTN and CC0603KRX7R9BB104 among its other parts. Its parts include 14 resistors, 6 connectors, 4 capacitors, 3 ICs and 3 transistors. It belongs with the interfaces and adapters and radio and wireless boards of this library.

Main components

12

README

README.md

Rpi3FanHatPlus

Raspberry Pi 5 HAT+ that drives the three fans of a case with a Microchip EMC2303 fan controller and breaks out the Pi's UART and a PPS input for a GNSS module (J2).

3D view

Status: revision 1, not yet manufactured or tested.

PCB from PCBWay

Features

  • EMC2303 I²C fan controller on the Pi's I²C1 bus (address 0x2E, ALERT on GPIO5).
  • Fan 1 / Fan 2 (J5, J6): standard 4-pin PWM fans with tachometer, e.g. Noctua NF-A4x10 PWM (12 V).
  • Fan 3 (J4): small 2-wire 12 V fan (up to 100 mA) that cools the GNSS module, switched on the low side by an AO3400A MOSFET with an SS14 flyback diode.
  • GNSS connector (J2): connects a GNSS module (a Unicore UM982 in this build) to the Raspberry Pi: UART0 (GPIO14/15), PPS on GPIO18, 5 V and GND.
  • 12 V input (J3) for the fans, protected by a 0.5 A resettable fuse.
  • HAT+ ID EEPROM (AT24CS64) as required by the HAT+ specification.
  • 4-layer board, 65 × 56.5 mm HAT+ outline, M3 mounting holes. Designed to sit on top of a PoE HAT.

Connectors

RefFunctionPinout
J1Raspberry Pi 40-pin GPIO (Samtec HLE-120-02-F-DV-BE-A, bottom-entry SMT socket)Standard Raspberry Pi header
J2GNSS module to Raspberry Pi (2×6, 2.54 mm, right angle)1: PPS → GPIO18 · 3: +5 V · 5: GPIO14 TXD (Pi → GNSS RX) · 7: GPIO15 RXD (GNSS TX → Pi) · 9: GND · others not connected
J312 V input (1×2, 2.54 mm)1: +12 V · 2: GND — not keyed, check polarity
J4Fan 3, 2-wire (1×2, 2.54 mm)1: +12 V · 2: Fan − (switched)
J5, J6Fan 1, Fan 2, 4-pin PWM (Molex 47053)1: GND · 2: +12 V · 3: Tach · 4: PWM

GNSS signals on J2 are 3.3 V logic: the module's UART and PPS must not exceed 3.3 V.

Raspberry Pi resources

SignalGPIONotes
I²C SDA / SCLGPIO2 / GPIO3EMC2303 at 0x2E
Fan controller ALERTGPIO5Active low, 4.7 kΩ pull-up
UART TXD / RXDGPIO14 / GPIO15GNSS module (J2)
GNSS PPSGPIO18
HAT+ ID EEPROMGPIO0 / GPIO1

Example config.txt lines:

text
dtparam=i2c_arm=on
enable_uart=1
dtoverlay=pps-gpio,gpiopin=18

Fan controller notes

  • PWM1/PWM2 reach the 4-pin fans through non-inverting 2N7002 stages: the EMC2303's default PWM polarity and open-drain output are correct.
  • The fans stop at 0 % duty. At power-up the EMC2303 watchdog drives all fans to full speed after 4 s until the host writes a fan setting.
  • Fan 3 has no tachometer: run it in direct-drive mode (no RPM control loop).

Manufacturing

The HATPlus/fab/ folder contains:

  • Rpi3FanHatPlus-gerbers.zip: Gerber (4 copper layers, masks, paste, silkscreen, outline) and Excellon drill files.
  • HAT+-BOM-PCBWay.csv: bill of materials with manufacturer part numbers and LCSC codes.
  • HAT+-CPL-PCBWay.csv: component placement file, in millimetres, top side only.

The files are prepared for PCB fabrication and assembly (PCBA) at PCBWay. Board: 4 layers, 1.6 mm, ENIG recommended, minimum track/space 0.15 mm, minimum drill 0.4 mm.

Design files and tools

KiCad 10 project in HATPlus/ (HAT+.kicad_pro); project footprint libraries in HATPlus/libs/ and libs/.

The schematic review, design changes, footprints and fabrication outputs were done with Konnect, an AI-assisted PCB design tool for KiCad 10, driven by Anthropic's Claude through Claude Code.

Credits

Based on the Raspberry Pi HAT+ KiCad template by Helge Wurst (CERN-OHL-S v2).

License

Copyright © 2024 Helge Wurst (HAT+ template), © 2026 CValdesS.

This source describes Open Hardware and is licensed under the CERN-OHL-S v2 (LICENSE). You may redistribute and modify this source and make products using it under the terms of the CERN-OHL-S v2. This source is distributed WITHOUT ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY AND FITNESS FOR A PARTICULAR PURPOSE. Please see the CERN-OHL-S v2 for applicable conditions.

Source location: https://github.com/cvaldess/Rpi3FanHatPlus

Parts

41
QtyValueFootprintReferences
74.7KResistor_SMD:R_0603_1608MetricR5, R6, R7, R8, R9, R10, R11
43.9kResistor_SMD:R_0603_1608MetricR1, R2, R3, R4
4MountingHole 3.2mmMountingHole:MountingHole_3.2mm_M3_DIN965H1, H2, H3, H4
3100n 50VCapacitor_SMD:C_0603_1608MetricC1, C2, C3
22.2KResistor_SMD:R_0603_1608MetricR12, R13
22N7002Package_TO_SOT_SMD:SOT-23Q4, Q5
2TestPoint_AltTestPoint:TestPoint_Pad_D1.0mmGND1, WP1
10.5AFuse:Fuse_1206_3216MetricF1
110KResistor_SMD:R_0603_1608MetricR14
110u 50VCapacitor_SMD:C_1206_3216MetricC4
112VConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ3
1AO3400APackage_TO_SOT_SMD:SOT-23Q6
1AT24CS64-MAHMPackage_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.3x1.5mmU2
1AT24CS64-SSHMPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU1
1EMC2303-1-KP-TRlibs:TQFN-12_L4.0-W4.0-P0.80-BL-EP2.1_PasteGridU3
1FAN1Connector:FanPinHeader_1x04_P2.54mm_VerticalJ5
1FAN2Connector:FanPinHeader_1x04_P2.54mm_VerticalJ6
1Fan3Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_HorizontalJ4
1GNSSConnector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_HorizontalJ2
1LOGOoshw-logo-outlined-blackG***
1LOGOlibs:pcway_logoG***
1RPi_40PinConnector_Samtec_Reverse:Samtec_HLE-120-02-xxx-DV-BE-A_2x20_P2.54mm_Horizontal_ReverseJ1
1SS14easyeda2kicad:SMA_L4.3-W2.6-LS5.1-RDD1
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmA0

Similar boards

  • 4 layers65 × 56.5 mmHAT+, the printed circuit board in 3D

    HAT+

    Digital-Naturalism-Laboratories/Mothbox_Electronics

    This is where the electronics for the Mothbox are developed, such as the PCB! It's copied over from https://github.com/Digital-Naturalism-Laboratories/Mothbox/tree/main/Hardware/PCB so you can check that out if you want…

    15 parts3MIT
  • 4 layers100 × 100 mmPhmod, the printed circuit board in 3D

    Phmod

    gallicchio/AMOD-and-RFMOD

    The tutorial's 2x12 adapter (/mudd/133electronics/icepi-zero-dac-adc/adapterboard/) with a 2 x 6 right-angle Pmod socket on a 15 mm extension of its right-hand end, so an Icepi Zero can drive AMOD-A's and RF-MOD's Pmod…

    234 parts
  • 4 layers134 × 84.7 mmHomectrl rB, the printed circuit board in 3D

    Homectrl rB

    jeevan9s/homectrl-sys

    home automation controller

    136 parts2
  • 4 layers42 × 42 mmPower Board, the printed circuit board in 3D

    Power Board

    Harveyn4444/TocoSat-powerboard

    The TocoSat power board hardware and software files

    74 parts1
  • 2 layers40 × 40 mmLDO, the printed circuit board in 3D

    LDO

    Ken-2511/LDO

    Two KiCad 10 projects, stacked on the same 40x40 mm footprint:

    26 parts
  • 4 layers60.5 × 100.5 mmVCU, the printed circuit board in 3D

    VCU

    matatma23-gento/embedded-portfolio

    This repository collects KiCad hardware design projects. Project specifications, validation results, and individual contributions are being documented; the presence of design files does not imply production readiness or…

    166 parts
  • 2 layers80 × 50 mmOpen PSU Meter ESP32, the printed circuit board in 3D

    Open PSU Meter ESP32

    nitefood/opsum

    OPSUM - The Open PSU Meter project

    51 parts5MIT
  • 4 layers90 × 160 mmTool power supply v1, the printed circuit board in 3D

    Tool power supply v1

    UBC-Hacker-Fab/tool-power-supply

    general power supply for tools

    125 parts1

Questions

How big is the HAT+ PCB?

It measures 65 × 56.5 mm and has 4 copper layers, 1.62 mm thick.

What parts does the HAT+ use?

41 parts, built around the EMC2303-1-KP-TR, AT24CS64-MAHM-T, AT24CS64-SSHM-B and HRC0603F4701ENTN. 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 HAT+ KiCad files?

From the cvaldess/Rpi3FanHatPlus repository on GitHub, at the commit this page was made from: the board is HATPlus/HAT+.kicad_pcb and its schematic HATPlus/HAT+.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the HAT+ design in my own project?

Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).