

Hushbox fan control
I tested esp32-idf4-20191220-v1.12.bin and esp32-idf4-20191220-v1.13.bin from https://micropython.org/download/esp32/.
- Size
- 57.1 × 53.3 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 34
- Nets
- 43
- Pads
- 124
- Tracks, vias
- 184, 6
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 15 Nov 2020
- Updated
- 20 Oct 2026
Overview
Hushbox fan control is an open-source printed circuit board by mhoyer, from the mhoyer/hushbox-control repository on GitHub. It is a 2-layer board of 57.1 × 53.3 mm with 34 parts on 43 nets, routed with 184 tracks and 6 vias.
It is built around the DS18B20, AMS1117-5.0 and IRLML2502, with the MMBT3904 among its other parts. Its parts include 11 resistors, 5 ICs, 4 capacitors, 4 diodes and 4 transistors. It belongs with the ESP32 boards of this library.
Main components
4DS18B20
TO-92-55℃~+125℃ 12bit 3V~5.5V 750ms Single-bus ±0.4℃ TO-92 Temperature Sensors ROHSUMWTemperature SensorsAMS1117-5.0
SOT-223-40℃~+125℃ 1 1.3V 15V 1A 5V 60dB Fixed Positive Short Circuit Protection、Thermal shutdown SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsIRLML2502
SOT-23-40℃~+150℃ 1 N-channel 1.25W 20V 4.2A 50mΩ@2.5V 600mV 66pF 740pF 8nC@10V SOT-23 MOSFETs ROHSGuangdong HottechMOSFETsMMBT3904
SOT-23-55℃~+150℃ 1 NPN 100 100nA 200mA 200mW 300MHz 300mV 40V 6V NPN SOT-23 Bipolar (BJT) ROHSJiangsu Changjing Electronics Technology (CJ)Bipolar (BJT)
README
README.mdESP32 - Fan Control
Resources
ESP32 Pin Out
Fan Control
- ESP32 Fan Controller
- 4-Wire PWM Controlled Fans - Pinout
- How to read RPM from 3-wire fan
- Raspberry Pi - Building a PWM Fan Controller with DotNet IoT
- IRLML2502 - MOSFET for switching the fan on/off
- 0x1A Transistor (MOSFET) als Schalter
Temperature Reading
- Dallas DS18B20 - 1-Wire Digital Thermometer
- Interfacing DS18B20 1-Wire Digital Temperature Sensor with Arduino
Micropython
Flashing the firmware:
- Press and hold the BOOT button and run:
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash - Now run:
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 460800 write_flash -z 0x1000 esp32-idf4-20200902-v1.13.bin
I tested esp32-idf4-20191220-v1.12.bin and esp32-idf4-20191220-v1.13.bin from https://micropython.org/download/esp32/.
Getting infos about ESP32
While the ESP32 is connected to the serial adaptor you can run this esptool command and instantly have to press the BOOT button on the ESP32:
$ ./esptool --baud 921600 flash_id
esptool.py v4.4
Found 1 serial ports
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision v1.0)
Features: WiFi, BT, Dual Core, Coding Scheme None
Crystal is 40MHz
MAC: 24:0a:c4:13:9a:90
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Manufacturer: c8
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...Reading out the existing memory as a backup
./esptool --baud 921600 read_flash 0 0x400000 backup.binParts
34| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 100 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R3, R6 |
| 2 | 100n | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C2 |
| 2 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R7, R8 |
| 2 | 1N4001 | Diode_SMD:D_SMA_Handsoldering | D1, D2 |
| 2 | 20 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R10, R12 |
| 2 | 330 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R9, R11 |
| 2 | 4.7k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2 |
| 2 | DS18B20 | Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | U3, U4 |
| 2 | Fan_Tacho_PWM | Connector:FanPinHeader_1x04_P2.54mm_Vertical | M1, M2 |
| 2 | IRLML2502 | Package_TO_SOT_SMD:SOT-23_Handsoldering | Q1, Q2 |
| 2 | LD271 | Connector_JST:JST_XH_S2B-XH-A_1x02_P2.50mm_Horizontal | D3, D4 |
| 2 | MMBT3904 | Package_TO_SOT_SMD:SOT-23_Handsoldering | Q3, Q4 |
| 1 | 100u | Capacitor_THT:CP_Radial_D8.0mm_P2.50mm | C3 |
| 1 | 10u | Capacitor_THT:CP_Radial_D5.0mm_P2.50mm | C4 |
| 1 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4 |
| 1 | AMS1117-5.0 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | Barrel_Jack_MountingPin | Connector_BarrelJack:BarrelJack_Horizontal | J1 |
| 1 | Conn_01x15_Male | Connector_PinSocket_2.54mm:PinSocket_1x15_P2.54mm_Vertical | J2 |
| 1 | ESP32-DevKit-V1 | Doit:Doit_ESP32_DevKit_V1 | U2 |
| 1 | PinSocket_1x01_P2.54mm_Vertical | Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical | 3V3 |
| 1 | SW_SPST | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | SW1 |
| 1 | TSDP341xx | Connector_JST:JST_XH_S3B-XH-A_1x03_P2.50mm_Horizontal | U5 |
Questions
How big is the Hushbox fan control PCB?
It measures 57.1 × 53.3 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Hushbox fan control use?
34 parts, built around the DS18B20, AMS1117-5.0, IRLML2502 and MMBT3904. 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 Hushbox fan control KiCad files?
From the mhoyer/hushbox-control repository on GitHub, at the commit this page was made from: the board is pcb/hushbox-fan-control.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Hushbox fan control design in my own project?
Its repository states no licence, so its author keeps all rights: ask mhoyer before reusing the design.
Similar boards
- 2 layers

- 2 layers100 × 70 mm

- 2 layers290 × 100 mm

ESP32-Wall Clock
SkullKill/ESP32-Wall-Clock-PCB
ESP32 based 30cm Wall Mounted Clock. WiFi, NTP, SNMP, web interface, MicroUsb, Type-C, HG3613 Retrofit
207 parts3GPL-3.0 - 2 layers100 × 100 mm

Pcb moduloDidaticoSCADA
wvianna/pcb-moduloDidatico-SCADA-IoT
Projeto de uma PCB para utilização de protocolos: Modbus RTU, Modbus TCP, MQTT, OPC UA pub/sub. Finalidade didática. O firmware também está implementado.
98 parts1 - 2 layers45 × 85 mm

- 2 layers80 × 75 mm

Planta control
cesar191/diseno_PCB
diseño de una pcb de control el cual puede tener diferentes estructuras
55 parts - 2 layers61.6 × 36.8 mm

- 2 layers99 × 90 mm

Esp32-relay-24v
LeanderM99/esp32-warmduscher-autoterm
ESP32 controller board for a tigerexped Warmduscher Kit 2.0: 16 A relay for the 24 V/300 W boiler element plus AUTOTERM Air 4D 5 V UART control, driven from Home Assistant. KiCad PCB generated from Python.
27 parts