Skip to the content
2 layers49 × 91 mmTank PCB, the printed circuit board in 3D

Zigbee Water tank monitor for Home Assistant

Size
49 × 91 mm
Copper layers
2
Thickness
1.6 mm
Parts
64
Nets
51
Pads
214
Tracks, vias
378, 32
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
21 Oct 2024
Updated
21 Nov 2025

Overview

Tank PCB is an open-source printed circuit board by akira215, from the akira215/zTank repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 49 × 91 mm with 64 parts on 51 nets, routed with 378 tracks and 32 vias.

It is built around the ESP32-C6-WROOM-1-N8, ADS1115IDGS and MCP1826S-3302E/DB, with the ESDALC5-1BT2Y, 1N5819HW-7-F-01 and BSMD0805-035-6V among its other parts. Its parts include 23 resistors, 19 capacitors, 7 diodes, 4 ICs and 4 connectors. It belongs with the ESP32 and RISC-V boards of this library.

Main components

7

README

PCB/README.md

zTank PCB

A dedicated PCB using ESP32C6 µC as been designed to optimize reliability and costs.

Iso view of zTank PCB

Tools

The design of the PCB has been done with KiCad 9.0. Particular footprint and 3D STEP file are included in the /footprints folder for sake of maintenance

Design

The design is based on ESP32C6 WROOM with the following peripherials:

  • USB for power, flash device and output serial debug / info.
  • Powering circuit is done using MCP1826S
  • A 4-20mA loop is built based on a LM2735X (1.6MHz) to raise voltage to about 20V
  • 4 channels 4-20mA sensors is provided and converted using ADS1115IDGS. It communicate with µC with i2c port
  • a debounced contact is provided for pulse counter
  • A push button is also provided for very simple HMI
  • PCB is also equipped by a LED for simpl HMI
  • Finally PCB is equipped with header that can be used for a touchscreen device in case of future needs (software lib already written and tested)

Component size has been selected to 0805, except ESD protective diodes that are smaller.

USB

USB schematic

USB socket is grounded to the main ground planes (2 sides). USB Lines USB- and USB+ are directly connected to ESP32C6 to flash and monitor µC. VBUS is used to provide +5V (which is in fact lower than +5V) via a protective diode D3.

All this 3 lines are protected by ESD protective diode.

Voltage regulator

Regulator schematic

All the board is powered using +3.3V. This voltage is provided by a fixed low-voltage regulator MCP1826S-3302E that can provide up to 1000mA. Fixed voltage regulator requires only few external component, in this case only capacitors are installed as per datasheet.

4-20mA Voltage circuit

LM2735X schematic

To avoid noise on lines and due to voltage drop at each stage, 4-20mA loop voltage shall be at around 20V. Care shall be taken when changing this voltage as it may require adjustment (in the shunt values for instance) to avoid damaging other components.

This voltage is produced from +5V using a boost type regulator LM2735X (@1.6MHz). Computation of the external components are provided in the LibreOffice Spreadsheet PCB comput spreadsheet. A 33µH inductance has been selected to get a clean output voltage to avoid noise on sensors line.

4-20mA conversion

4 channel connector schematic

4 channels are available via Phoenix contact 8 poles connector. Each channel input current is injected in a 133R shunt (low tolerance resistor) to output a voltage below 3.3V. A 100nF capacitor is provided to reduce noise.

ADS1115 schematic

Each channel voltage is then converted in a digital signal using an ADS1115IDGS, that communicate with µC using i2c protocol. A ready pin is used to trigger an interrupt to the µC when data are available. External components are:

  • 10k resistor connected to the ground for the address of the device (only one on board so gnd is the common one)
  • 10k pull-up resistor on each signal (SCL, SDA, RDY) connected to µC
  • Decoupling capacitor for power lines and rearmable fuse to protect circuit

Debounced contact

Debounced pulse schematic

An harware RC filter has been set up on this input to avoid false triggering. The computation of this filter is detailed in the spreadsheet file PCB comput spreadsheet, bouncing duration has been measured using an oscilloscope in a unique water meter equiped with dry contact pulse output. It may be required to adjust this filter if the water meter seems to input false pulse to the µC.

The only other component is a pull-up resistor to not let a float input.

µC ESP32C6 WROOM

µC schematic

ESP32C6 power up is done using decoupling capacitor (10µF // 100nF).

The EN pin is driven to the +3.3V to enable the µC.

GPIO9 shall be pulled up to +3.3V to set the µC in normal execution mode (instead of ROM serial bootloader when GPIO9 is pulled to the ground). Despite the doc says that it has an internal pull-up, µC will not boot normally after reporg if not driven to +3.3V.

GPIO8 shall be driven to +3.3V as doc says, in order to enter the serial bootloader reliably.

Push Button

Push button has been connected to GPIO9, so it can be used to boot/flash device by driving the pin low. Indeed, no operation is required on this button to flash µC using USB directly, and push button is used by software for HMI purpose.

Led

A led is connected to GPIO23 for HMI purpose as well. Resistor has been calculated according to LED spec to grant the required current.

Header

A header is available to drive a touchscreen if required. It has not been integrated in the enclosure of this repo. It was planned and tested using a ILI9341 TFT touchscreen.

PCB fabrication

Gerber files are included for fabrication. A batch of PCB has been produced by JLCPCB with the following configuration:

Base MaterialFR-4Layers2
Dimension49 mm* 91 mmPCB Qty20
Product TypeIndustrial/Consumer electronicsDifferent Design1
Delivery FormatSingle PCBPCB Thickness1.6mm
Specify StackupnoLayer Sequence
PCB ColorPurpleSilkscreenWhite
Material TypeTG135Via CoveringTented
Surface FinishENIG Gold Thickness: 1U"Deburring/Edge roundingNo
Outer Copper Weight1 ozGold FingersNo
Electrical TestFlying Probe Fully TestCastellated Holesno
Edge PlatingNoMark on PCBOrder Number
Blind SlotNoMin via hole size/diameter0.3mm/(0.4/0.45mm)
4-Wire Kelvin TestNoPaper between PCBsNo
Appearance QualityIPC Class 2 StandardConfirm Production fileNo
Silkscreen TechnologyInk-jet/Screen Printing SilkscreenPackage BoxWith JLCPCB logo
Inspection ReportNoBoard Outline Tolerance±0.2mm(Regular)
UL MarkingNoCountersink HoleNo

Assembly

A stencil as been produced by JLCPCB, so the assembly has been done using solder paste, manually placing components, and reflow is done using an hot plate.

The components that generate issues during that process are:

  • USB connector J5 : often some bridges are created due to the high density of pin. It has to be manually fixed
  • ESD protection diodes D4, D5 & D6: are they are really small and light, they moved during the reflow process. It has to be manually fixed with a soldering iron, as hot air gun make them move anyway whaterver the airflow is
  • Care should be taken on the pin of ADS converter U1(bridges) and µC U4 (alke of solder)
  • Obviously connector J1, J2 and J3 have to be solded manually

Usage

For routing simplicity, 4-20mA channels are not reparted logically on the board, please consider the scheme here below.

Debounced pulse contact don't have polarity.

Board connectors

Parts

64
QtyValueFootprintReferences
6100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2, C16, C17, C18, C19
610kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R3, R4, R12, R13
40RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR20, R21, R22, R23
4100nF 25VCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC9, C12, C14, C15
410µF 25VCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC7, C8, C11, C13
4133R 0,1%Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR8, R9, R10, R11
310k 1%Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR14, R17, R18
3ESDALC5-1BT2Diode_SMD:D_SOD-882DD4, D5, D6
25.1k 1%Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR15, R16
11.8V 2mADiode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolderD7
1100kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR5
110k 0,1%Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR6
110uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC4
1150k 0,1%Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR7
11N4148Diode_SMD:D_SOD-323_HandSolderingD2
11N5819HW-7-FDiode_SMD:D_SOD-123D3
11µF 16VCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC10
122uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3
133nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC6
133uHInductor_SMD:L_10.4x10.4_H4.8L1
1470pFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC5
1750RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR19
1ADS1115IDGSPackage_SO:TSSOP-10_3x3mm_P0.5mmU1
1BSMD0805-035-6VFuse:Fuse_0805_2012MetricF1
1ESP32-C6-WROOM-1zTankFootprints:ESP32-C6-WROOM-1U4
1LM2735X (1.6MHz)Package_TO_SOT_SMD:SOT-23-5U3
1MCP1826S-3302E/DBPackage_TO_SOT_SMD:SOT-223-3_TabPin2U5
1PTSA 1,5/ 2-3,5-ZzTankFootprints:Phoenix Contact PTSA 2J2
1PTSA 1,5/ 8-3,5-ZzTankFootprints:Phoenix Contact PTSA 8J3
1Schottky 500mADiode_SMD:D_SOD-123D1
1TFTConnector_PinHeader_2.54mm:PinHeader_1x14_P2.54mm_VerticalJ1
1TS07-667-30-BK-100-SMT-TRzTankFootprints:CUI switch SW_TS07-667-30-BK-100-SMT-TRS1
1USB4110GFAzTankFootprints:GCT_USB4110GFAJ5

The 60 most common of 64 parts.

Similar boards

  • 4 layers185 × 110 mmBd845-pwb, the printed circuit board in 3D

    Bd845-pwb

    bluedot-arcade/bd845-pwb-board

    A clone of the original Konami GN845-PWB(B) Stage I/O board for DDR machines.

    186 parts4CERN-OHL-S-2.0
  • 4 layers45 × 30 mmPcb Crimp ER, the printed circuit board in 3D

    Pcb Crimp ER

    theopenguino99/esp32-qiyang

    ESP32 climbing training tool

    52 parts1MIT
  • 6 layers90 × 90 mmSolarDataLogger, the printed circuit board in 3D

    SolarDataLogger

    brokebit/SolarDataLogger

    Firmware for custom data logger for Victron MPPT charge controllers via the Ve.Direct port/protocol.

    70 partsCC0-1.0
  • 4 layers70 × 70 mmHdmi breakout, the printed circuit board in 3D

    Hdmi breakout

    dacut/hdmi-breakout

    PCB design for munging HDMI EDID signals

    77 parts
  • 2 layers42 × 59.5 mmESP32 adon, the printed circuit board in 3D

    ESP32 adon

    Stan-debakker/grap-6TWEA

    Daarnaast moest ik ervoor zorgen dat de nieuwe sensoren correct werken. Ik ben gestart met experimenteren via Arduino IDE, zie "codearduinoIDE".

    37 parts
  • 4 layers102.4 × 83.1 mmPLC4UNI, the printed circuit board in 3D

    PLC4UNI

    0sirys/Juan_Pimentel_Electiva_2026_C2

    209 partsMIT
  • 2 layers102.1 × 82.7 mmPLC Electiva, the printed circuit board in 3D

    PLC Electiva

    JosueHerrera05/Josue_Herrera_Electiva_2026_C2

    Repositorio Electíva Diseño Mecatrónico 2026-C2

    198 partsMIT

Questions

How big is the Tank PCB PCB?

It measures 49 × 91 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Tank PCB use?

64 parts, built around the ESP32-C6-WROOM-1-N8, ADS1115IDGS, MCP1826S-3302E/DB and ESDALC5-1BT2Y. 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 Tank PCB KiCad files?

From the akira215/zTank repository on GitHub, at the commit this page was made from: the board is PCB/tank_PCB.kicad_pcb and its schematic PCB/tank_PCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tank PCB design in my own project?

Its repository publishes it under the GPL-3.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).