Skip to the content
PCBKitNew board
2 layers136 × 100 mmClimateSprinklerController, the printed circuit board in 3D

ClimateSprinklerController

kbx81/ClimateSprinklerController56

ESP32-based climate and sprinkler controller for use with ESPHome

Size
136 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
187
Nets
142
Pads
704
Tracks, vias
1,478, 151
Pours
11
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
27 Jun 2020
Updated
8 Jan 2022

Overview

ClimateSprinklerController is an open-source printed circuit board by kbx81, from the kbx81/ClimateSprinklerController repository on GitHub. It is a 2-layer board of 136 × 100 mm with 187 parts on 142 nets, routed with 1,478 tracks and 151 vias.

It is built around the ESP32-WROOM-32D, 2N6073BG and BME280, with the DHT22, SHTC3 and MOC3043 among its other parts. Its parts include 62 resistors, 31 capacitors, 15 ICs, 14 diodes and 12 transistors. It belongs with the home automation and IoT boards and the ESP32 boards of this library.

Main components

7

README

README.md

kbx's Climate and Sprinkler Controller

Climate and Sprinkler Controller Climate and Sprinkler Controller

A DIY Thermostat and/or Sprinkler (Valve) Controller

Here you'll find plans for an ESP32-based controller designed with ESPHome in mind. It is primarily designed for switching 24-volt AC circuits but it is flexible by design and should be adaptable to other types of electrical workloads.

In the Preface you will find background information about this project such as how it came to be and some personal thoughts and experiences I've had with home automation through the years.

In the Hardware document you will find a general explanation of the theory of operation of a thermostat as well as a design overview of this device, some handy tips (should you choose to build one), construction, usage, and installation detail.

Finally, the Hardware Detail document aims to explain why I did what I did -- design decisions, etc.

Design Versions

At present there are two major "versions" of (iterations on?) the device -- a version that supports an OLED display such as the SSD1325 and a version (well, actually three versions) that supports a Nextion touchscreen display. The project files for each can be found in its respective directory:

PCB and BoMs

The schematic and PCB were drawn in KiCAD. I had PCBs fabricated by Elecrow but nearly any PCB fabricator should be able to manufacture these without any issues.

On Octopart I have posted a bill of materials (BoM) for each design version:

Important!

Save money by reading through the build guide before you order any parts, as you likely do not need every part in the linked BoMs! (For example, there are footprints multiple sensors on each PCB. You do not need all of the sensors!)

ESPHome Configuration & Code

I've created a separate repository for my ESPHome configurations; if you're looking for a starting point/example configuration, please have a look there.

Legal stuff and License

Everything you see here is provided to you free of charge. You are free to use it however you please within the constraints of the license -- but you do so at your own risk. I accept absolutely no liability if you cause damage to your property, HVAC system, or any other hardware you choose to connect to this device.

The circuit schematics, PCBs and enclosures found here are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.

Creative Commons License badge

Thanks for visiting!

Parts

187
QtyValueFootprintReferences
11100 nFCapacitor_SMD:C_0805_2012MetricC2, C4, C10, C11, C17, C18, C19, C20, C21, C22, C23
1110KResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR1, R2, R3, R4, R5, R6, R13, R17, R18, R19, R23
8.01 uFCapacitor_SMD:C_0805_2012MetricC24, C25, C26, C27, C28, C29, C30, C31
8180Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR39, R40, R41, R42, R43, R44, R45, R46
8270Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR31, R32, R33, R34, R35, R36, R37, R38
82N6073BClimateSprinklerController:TO-225-3_VerticalQ6, Q7, Q8, Q9, Q10, Q11, Q12, Q13
839Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR55, R56, R57, R58, R59, R60, R61, R62
8820Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR47, R48, R49, R50, R51, R52, R53, R54
8MOC3043Package_DIP:SMDIP-6_W9.53mmU9, U10, U11, U12, U13, U14, U15, U16
51K5Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR24, R25, R28, R29, R30
5MountingHole_PadMountingHole:MountingHole_3.2mm_M3_Pad_ViaH1, H2, H3, H4, H5
42N7002Package_TO_SOT_SMD:SOT-23Q2, Q3, Q4, Q5
347 uFCapacitor_SMD:C_1210_3225MetricC14, C15, C16
3560Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR20, R21, R22
3G5Q-1-DC5Relay_THT:Relay_SPDT_Omron-G5Q-1K1, K2, K3
3N/ADiode_SMD:D_SOD-123D5, D7, D9
210 uFCapacitor_SMD:CP_Elec_5x5.8C9, C12
2100KResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR9, R10
22K7Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR26, R27
23K3Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR7, R8
24.7 uFCapacitor_SMD:C_0805_2012MetricC5, C6
2IO26Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP6, JP7
11 uFCapacitor_SMD:C_0805_2012MetricC8
110 uFCapacitor_SMD:C_0805_2012MetricC1
110KConnector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalTH1
1120Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR15
115 uHInductor_SMD:L_Wuerth_WE-PD-Typ-LSL1
11K6Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR12
1220 nFCapacitor_SMD:C_0805_2012MetricC7
1220 uFCapacitor_SMD:CP_Elec_8x10C13
124.9KResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR11
1300 mAFuse:Fuse_2920_7451MetricF1
13V3LED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD2
1470 uFCapacitor_SMD:CP_Elec_16x17.5C3
15KResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR14
15VLED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD4
17.5 TO 40 VConnector_BarrelJack:BarrelJack_HorizontalJ1
18K2Resistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR16
1BME280Package_LGA:Bosch_LGA-8_2.5x2.5mm_P0.65mm_ClockwisePinNumberingU7
1BME280_A0Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mmJP15
1ClimateSprinklerControllerQRClimateSprinklerController:ClimateSprinklerControllerQRQR*****
1DHT22Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalU6
1DHT22_VCCJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP14
1DISPLAY_1Connector_PinSocket_2.54mm:PinSocket_1x20_P2.54mm_VerticalJ9
1DISPLAY_2Connector_PinSocket_2.54mm:PinSocket_1x11_P2.54mm_VerticalJ10
1ESP32-WROOM-32DRF_Module:ESP32-WROOM-32U1
1EXT_ENCConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ3
1GLED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD11
1HVACClimateSprinklerController:PhoenixContact_SPTAF_1_12-3.5-IL_1x12_P3.50mm_VerticalJ11
1I2CConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ6
1IO_EXPConnector_PinSocket_2.54mm:PinSocket_1x18_P2.54mm_VerticalJ8
1J4_V_SELJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP4
1LD1086DT33TRPackage_TO_SOT_SMD:TO-252-2U4
1LMR36520Package_SO:Texas_HSOP-8-1EP_3.9x4.9mm_P1.27mm_ThermalViasU3
1MCP23017_A0Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mmJP1
1MCP23017_A1Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mmJP2
1MCP23017_A2Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mmJP3
1MCP23017_SOPackage_SO:SOIC-28W_7.5x17.9mm_P1.27mmU2
1MISC1LED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD16
1MISC2LED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD17
1MISC3LED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD18
1MODEButton_Switch_THT:SW_Tactile_SPST_Angled_PTS645Vx58-2LFSSW2
1MountingHoleMountingHole:MountingHole_5mmH6
1N/ADiode_SMD:Diode_Bridge_Bourns_CD-MBL2xxSD1
1N/AClimateSprinklerController:RV_Disc_D7mm_W4mm_P5mmRV1
1PEC11S-929K-S0015ClimateSprinklerController:RotaryEncoder_Bourns_PEC11S-Switch_Vertical_H9.5mmSW3
1PG_TO_~RESETJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP9
1PIRConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ7
1POWER SELConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_VerticalJ2
1RELAYClimateSprinklerController:PhoenixContact_SPTAF_1_12-3.5-IL_1x12_P3.50mm_VerticalJ12
1RELAY1LED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD6
1RELAY2LED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD8
1RELAY3LED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD10
1RESETButton_Switch_THT:SW_Tactile_SPST_Angled_PTS645Vx58-2LFSSW1
1SD_CD_TO_B6Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP13
1SD_CS_TO_IO26Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP11
1SERIALConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ4
1SHTC3Package_DFN_QFN:AMS_QFN-4-1EP_2x2mm_P0.95mm_EP0.7x1.6mmU8
1SPIConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ5
1STATUSLED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD3

The 174 most common of 187 parts.

Questions

How big is the ClimateSprinklerController PCB?

It measures 136 × 100 mm and has 2 copper layers, 1.6 mm thick.

What parts does the ClimateSprinklerController use?

187 parts, built around the ESP32-WROOM-32D, 2N6073BG, BME280 and DHT22. 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 ClimateSprinklerController KiCad files?

From the kbx81/ClimateSprinklerController repository on GitHub, at the commit this page was made from: the board is WROOM/ClimateSprinklerController.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the ClimateSprinklerController design in my own project?

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

More from kbx81/ClimateSprinklerController

3
  • 2 layers136 × 100 mmClimateSprinklerController, the printed circuit board in 3D

    ClimateSprinklerController

    kbx81/ClimateSprinklerController

    ESP32-based climate and sprinkler controller for use with ESPHome

    194 parts56
  • 2 layers169.5 × 84 mmClimateSprinklerController, the printed circuit board in 3D

    ClimateSprinklerController

    kbx81/ClimateSprinklerController

    ESP32-based climate and sprinkler controller for use with ESPHome

    184 parts56
  • 2 layers136.5 × 54.9 mmClimateSprinklerController, the printed circuit board in 3D

    ClimateSprinklerController

    kbx81/ClimateSprinklerController

    ESP32-based climate and sprinkler controller for use with ESPHome

    120 parts56

Similar boards

  • 2 layers73 × 94 mm8FilPilotes Base, the printed circuit board in 3D

    8FilPilotes Base

    LudovicLemarinel/EspHomeAutomation

    Home Automation based on ESP8266 and MQTT

    75 parts3
  • 4 layers44 × 48.1 mmDimmer esp v1 main, the printed circuit board in 3D

    Dimmer esp v1 main

    dagroe/zigbee-rotary-dimmer-switch

    a rotary dimmer switch

    59 parts24MIT
  • 2 layers71 × 73 mmAlarm, the printed circuit board in 3D

    Alarm

    bbokser/persuasive_waker

    An open source hardware alarm clock that can't be snoozed or turned off.

    71 parts3MIT
  • 2 layers121 × 73 mmPonictron, the printed circuit board in 3D

    Ponictron

    bbokser/ponictron

    75 partsMIT
  • 4 layers338.8 × 170.4 mmSlack, the printed circuit board in 3D

    Slack

    Dreamy-Jy/slack

    An ergonomic relaxing keyboard.

    392 parts
  • 4 layers63.5 × 44.5 mmClock Controller, the printed circuit board in 3D

    Clock Controller

    Fish-in-a-Barrel/Nixie

    This is my Nixie clock project. It was created as an excuse to learn more about electronics and it touches on power circuits, microcontrollers, serial communications, and more.

    48 parts
  • 6 layers108 × 60 mmTrashFlash, the printed circuit board in 3D

    TrashFlash

    serillius/TrashFlash

    157 parts