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
194
Nets
142
Pads
747
Tracks, vias
1,543, 161
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 194 parts on 142 nets, routed with 1,543 tracks and 161 vias.

It is built around the ESP32-WROVER, 2N6073BG and BME280, with the DHT22, MOC3043 and PEC11S-929K-S0015 among its other parts. Its parts include 65 resistors, 33 capacitors, 14 ICs, 13 diodes and 11 transistors. It belongs with the home automation and IoT boards and the ESP32 boards of this library.

Main components

6

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

194
QtyValueFootprintReferences
1310KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R3, R4, R5, R6, R7, R8, R16, R20, R21, R22, R26
11100 nFCapacitor_SMD:C_0805_2012MetricC2, C4, C10, C11, C19, C20, C21, C22, C23, C24, C25
8.01 uFCapacitor_SMD:C_0805_2012MetricC26, C27, C28, C29, C30, C31, C32, C33
8180Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR42, R43, R44, R45, R46, R47, R48, R49
8270Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR34, R35, R36, R37, R38, R39, R40, R41
82N6073BClimateSprinklerController:TO-225-3_VerticalQ5, Q6, Q7, Q8, Q9, Q10, Q11, Q12
839Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR58, R59, R60, R61, R62, R63, R64, R65
8820Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR50, R51, R52, R53, R54, R55, R56, R57
8MOC3043Package_DIP:SMDIP-6_W9.53mmU10, U11, U12, U13, U14, U15, U16, U17
51K5Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR27, R28, R31, R32, R33
5MountingHole_PadMountingHole:MountingHole_3.2mm_M3_Pad_ViaH1, H2, H3, H4, H5
31 uFCapacitor_SMD:C_0805_2012MetricC8, C15, C16
32N7002Package_TO_SOT_SMD:SOT-23Q2, Q3, Q4
347 uFCapacitor_SMD:C_1210_3225MetricC14, C17, C18
3560Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR23, R24, R25
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.20x1.40mm_HandSolderR11, R13
22K7Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR29, R30
23K3Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR9, R10
24.7 uFCapacitor_SMD:C_0805_2012MetricC5, C6
2IO26Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP8, JP9
110 uFCapacitor_SMD:C_0805_2012MetricC1
110KConnector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalTH1
1120Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR18
115 uHInductor_SMD:L_Wuerth_WE-PD-Typ-LSL1
11K6Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR15
1220 nFCapacitor_SMD:C_0805_2012MetricC7
1220 uFCapacitor_SMD:CP_Elec_8x10C13
124.9KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR14
1300 mAFuse:Fuse_2920_7451MetricF1
13V3LED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD2
14.7Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR12
1470 uFCapacitor_SMD:CP_Elec_16x17.5C3
15KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR17
15VLED_SMD:LED_1206_3216Metric_ReverseMount_Hole1.8x2.4mmD4
17.5 TO 40 VConnector_BarrelJack:BarrelJack_HorizontalJ1
18K2Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR19
1BME280Package_LGA:Bosch_LGA-8_2.5x2.5mm_P0.65mm_ClockwisePinNumberingU8
1BME280_A0Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mmJP16
1ClimateSprinklerControllerQRClimateSprinklerController:ClimateSprinklerControllerQRQR*****
1DHT22Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalU7
1DISPLAY_1Connector_PinSocket_2.54mm:PinSocket_1x20_P2.54mm_VerticalJ9
1DISPLAY_2Connector_PinSocket_2.54mm:PinSocket_1x11_P2.54mm_VerticalJ10
1ENJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP7
1ESP32-WROVERClimateSprinklerController:ESP32-WROVERU1
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
1INTA_TO_IO36Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP5
1INTB_TO_IO39Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP4
1IO_EXPConnector_PinSocket_2.54mm:PinSocket_1x18_P2.54mm_VerticalJ8
1J4_V_SELJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP6
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_ENJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP11
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.5mmJP15
1SD_CS_TO_IO26Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP13
1SERIALConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ4

The 177 most common of 194 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?

194 parts, built around the ESP32-WROVER, 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 WROVER/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

    187 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