Skip to the content
6 layers168.7 × 106.5 mmSCREEN VERSION 1.2, the printed circuit board in 3D

This is an extended version of the project I made for my computer arquitecture class.

Size
168.7 × 106.5 mm
Copper layers
6
Thickness
1.6 mm
Parts
155
Nets
227
Pads
717
Tracks, vias
1,857, 415
Pours
19
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
29 May 2025
Updated
1 Oct 2025

Overview

SCREEN VERSION 1.2 is an open-source printed circuit board by Lucasmnascimento94, from the Lucasmnascimento94/Smart-Shower repository on GitHub. It is a 6-layer board of 168.7 × 106.5 mm with 155 parts on 227 nets, routed with 1,857 tracks and 415 vias.

It is built around the ESP-12E, LM2576T-ADJ and AMS1117-3.3, with the BD80FC0WEFJ-E2 and RJ45 among its other parts. Its parts include 65 capacitors, 31 resistors, 13 connectors, 12 ICs and 12 diodes. It belongs with the ESP8266 and STM32 boards of this library.

Main components

5

README

README.md

Smart-Shower

This is an extended version of the project I made for my computer arquitecture class.

Goal

The Smart-Shower aims to provide a more efficient, personalized, and intelligent way to manage the shower experience. In many homes—mine included—it can take several minutes for water to reach a comfortable temperature due to the delay in hot water arriving through the pipes. Manually adjusting the valve each time is tedius and this system introduces a smart interface to control the shower valve (or other applicable valves) with a focus on user comfort, energy efficiency, and system safety.

Features

-> Personalized Temperature Presets: Each user can save their preferred shower temperature settings for one-touch access.

-> Remote Start Functionality: Users can activate the shower remotely, allowing the water to reach the desired temperature before they step in—eliminating wait time.

-> Hot Water Monitoring: Tracks the decline of hot water temperature and alerts the user when they are about to run out—especially useful for homes that use hot water tanks.

-> Usage Tracking: Monitors water and energy usage per session. Data is logged and associated with individual users for long-term insights and potential conservation.

-> Cold Temperature Alert: Sends a warning if pipe temperatures drop too low, helping to prevent frozen or burst pipes—especially relevant for homes in colder northern climates (like mine).

Planned Future Enhancements

-> Rich Media User Interface: Build an advanced touchscreen UI that supports media platforms such as Spotify and YouTube for a more immersive shower experience.

-> Metal Contamination Detection: Integrate a sensor to detect the presence of metals in the water—an issue that affects my home’s plumbing.

-> Smart Safety Alarms and Automation: Extend system logic to trigger alarms and automated valve actions based on detected anomalies in temperature or water quality.

The first version was made using an ATMEGA 168A, coded in assembly and all the assembled componnets were placed with loose wires in some protoboards.

Note

-> Because this application utilizes threads, I started to move away from the HAL functions. At first, when I started migrating from one thread to another multithreaded environment, I started adapting my working functions within certain threads. However, it was later on determined that the HAL function are not thread safe, and the programming was breaking randomly when trying to run some HAL functions. To solve this issue, I started to manipulate the register in a low level manner. Trying to avoid reinventing the wheel, I started reading the STM documentation and controlling the registers using the variable names in the RM and the macros that are provided in the STM header files. With this approach it was possible to create mutaxes and make sure that no race condition is preventing my code from running.

Parts

155
QtyValueFootprintReferences
36100nCapacitor_SMD:C_0402_1005MetricC3, C16, C17, C18, C19, C21, C29, C30, C31, C32, C33, C34, C35, C36, C37, C38 +20
101K5Resistor_SMD:R_0402_1005MetricR14, R15, R16, R17, R19, R20, R21, R22, R24, R25
10LEDLED_SMD:LED_0603_1608MetricD1, D3, D4, D5, D6, D7, D8, D9, D10, D11
722UCapacitor_SMD:C_0805_2012MetricC45, C48, C60, C61, C62, C73, C74
610kResistor_SMD:R_0402_1005MetricR1, R2, R3, R5, R28, R31
51k5Resistor_SMD:R_0402_1005MetricR4, R8, R9, R11, R26
410KResistor_SMD:R_0402_1005MetricR6, R7, R10, R18
4Conn_01x02_SocketConnector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ2, J11, J12, J16
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
32.2uCapacitor_SMD:C_0402_1005MetricC5, C6, C7
34.7uCapacitor_SMD:C_0603_1608MetricC28, C64, C72
3AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U9, U12, U13
20.1uFCapacitor_SMD:C_0402_1005MetricC1, C22
20.3KResistor_SMD:R_0402_1005MetricR12, R13
2100uFCapacitor_SMD:C_1210_3225Metric_Pad1.33x2.70mm_HandSolderC75, C76
210pCapacitor_SMD:C_0402_1005MetricC12, C15
210uFCapacitor_SMD:C_0805_2012MetricC25, C27
21uCapacitor_SMD:C_0603_1608MetricC46, C47
21uFCapacitor_SMD:C_0603_1608MetricC2, C20
2Conn_01x02_PinConnector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ5, J18
2Conn_01x04_SocketConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ13, J15
2SW_SPDTButton_Switch_THT:SW_Slide_SPDT_Straight_CK_OS102011MS2QSW6, SW9
2~Library:TS5A23159DGSRTS5A23159DGSR1, TS5A23159DGSR2
10.47uFCapacitor_SMD:C_0603_1608MetricC26
1100Resistor_SMD:R_0402_1005MetricR30
1100uHLibrary:SRN8040-101ML2
1120RInductor_SMD:L_0603_1608MetricFB2
11N5822Diode_THT:D_DO-201AD_P15.24mm_HorizontalD2
11UCapacitor_SMD:C_0805_2012MetricC53
11kResistor_SMD:R_0402_1005MetricR29
11uFCapacitor_SMD:C_0402_1005MetricC23
126MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSolderingY1
12K49Resistor_SMD:R_0402_1005MetricR23
14.7uFCapacitor_SMD:C_0603_1608MetricC24
14kResistor_SMD:R_0402_1005MetricR27
1ADP2108AUJ-1.8Package_TO_SOT_SMD:TSOT-23-5U6
1BD80FC0WEFJPackage_SO:HTSOP-8-1EP_3.9x4.9mm_P1.27mm_EP2.4x3.2mmU1
1BOOT0_SWTButton_Switch_THT:SW_Slide_SPDT_Straight_CK_OS102011MS2QBOOT_SWT
1BYPASS_REG SWTButton_Switch_THT:SW_Slide_SPDT_Straight_CK_OS102011MS2QBYPASS_REG_SWT
1C106DGOS-NDPackage_SIP:SIP3_11.6x8.5mmD14
1C_PolarizedCapacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm220UF1
1Conn_01x03_PinConnector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ14
1Conn_01x05_PinConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalJ3
1Conn_01x06_SocketConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ10
1Conn_01x40Connector_FFC-FPC:Hirose_FH12-40S-0.5SH_1x40-1MP_P0.50mm_HorizontalJ1
1Conn_02x10_Odd_EvenConnector_IDC:IDC-Header_2x10_P2.54mm_VerticalJTAG1
1ESP-12ERF_Module:ESP-12EU4
1FLASH_BOOT | UART SWTButton_Switch_THT:SW_Slide_SPDT_Straight_CK_OS102011MS2QSW5
1LInductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolderL1
1LM2576T-ADJPackage_TO_SOT_THT:TO-220-5_VerticalU14
1LOGOLOGOG***
1NRST_SWTButton_Switch_THT:SW_Slide_SPDT_Straight_CK_OS102011MS2QNRST_SWT
1PDR_ON SWTButton_Switch_THT:SW_Slide_SPDT_Straight_CK_OS102011MS2QPDR_SWT
1PolyfuseFuse:Fuse_1206_3216MetricF1
1RJ45Connector_RJ:RJ45_Pulse_JXD6-0001NL_HorizontalJ17
1STM32F469IITxPackage_QFP:LQFP-176_24x24mm_P0.5mmU2
1TL431DBZPackage_TO_SOT_SMD:SOT-23U10
1~Library:W9825G6KHU8
1~Library:R1501S050B-E2-FEU7
1~Connector_BarrelJack:BarrelJack_CUI_PJ-063AH_HorizontalPJ-082BH1
1~Library:W25M512JVFIQU5

More from Lucasmnascimento94/Smart-Shower

2
  • 6 layers169 × 106.5 mmSCREEN VERSION 1.1, the printed circuit board in 3D

    SCREEN VERSION 1.1

    Lucasmnascimento94/Smart-Shower

    This is an extended version of the project I made for my computer arquitecture class.

    147 parts
  • 4 layers155.4 × 116.3 mmStartTech Valve, the printed circuit board in 3D

    StartTech Valve

    Lucasmnascimento94/Smart-Shower

    This is an extended version of the project I made for my computer arquitecture class.

    107 parts

Similar boards

  • 2 layers100 × 100 mmWhiteBoy, the printed circuit board in 3D

    WhiteBoy

    nodep/NovaBox

    Circuit and PCB design of simple Bluetooth stereo receiver and amplifier

    111 parts11GPL-3.0
  • 2 layers110 × 100 mmLab Bench PSU, the printed circuit board in 3D

    Lab Bench PSU

    BojanSof/Lab-Bench-PSU

    Laboratory bench power supply with switching preregulator and LDO.

    84 parts1
  • 2 layers81 × 81 mmBMS, the printed circuit board in 3D

    BMS

    jeevv/Rover-2025

    71 parts
  • 4 layers100 × 100 mmPayloadPcbRev3, the printed circuit board in 3D

    PayloadPcbRev3

    MSzalawiga/Payload-Control-Board

    Science Payload Control Board for Queen's Space Engineering Team

    55 partsMIT
  • 2 layers108.7 × 63.5 mmRaspiCar, the printed circuit board in 3D

    RaspiCar

    phaenovum/RaspiCar

    A model car equipped with a Raspberry Pi, intended for experimenting with tools and algorithms for autonomous navigation

    71 parts
  • 2 layers45 × 45 mmZappy, the printed circuit board in 3D

    Zappy

    USSTRocketry/hardware

    15 parts1MIT
  • 2 layers33.7 × 97.8 mmHAN ESP TSS721, the printed circuit board in 3D

    HAN ESP TSS721

    UtilitechAS/amsreader-firmware

    ESP8266 and ESP32 compatible firmware to read, interpret and publish data to MQTT from smart electrical meters, both DLMS and DSMR is supported

    29 parts470
  • 2 layers53.2 × 35.3 mmEsp dsc, the printed circuit board in 3D

    Esp dsc

    synfinatic/esp-dsc

    Low Cost ESP12E Digital Setting Circles

    20 parts9GPL-3.0

Questions

How big is the SCREEN VERSION 1.2 PCB?

It measures 168.7 × 106.5 mm and has 6 copper layers, 1.6 mm thick.

What parts does the SCREEN VERSION 1.2 use?

155 parts, built around the ESP-12E, LM2576T-ADJ, AMS1117-3.3 and BD80FC0WEFJ-E2. 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 SCREEN VERSION 1.2 KiCad files?

From the Lucasmnascimento94/Smart-Shower repository on GitHub, at the commit this page was made from: the board is KICAD/SCREEN/SCREEN_V1.2/SCREEN_VERSION_1.2.kicad_pcb and its schematic KICAD/MOTOR/ESP-12E.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SCREEN VERSION 1.2 design in my own project?

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