
FloodSensor
JakobThiessen/OpenThread_Sensors
Fehler im Schlatplan!!! R7, Q1 und Q2 nicht bestücken. Verbindung von Q1/pin1 zu Q2/Pin2 wie eingezeichnet herstellen und mit GPIO ein und ausschalten.

Fehler im Schlatplan!!! R7, Q1 und Q2 nicht bestücken. Verbindung von Q1/pin1 zu Q2/Pin2 wie eingezeichnet herstellen und mit GPIO ein und ausschalten.
Moisture Sensor is an open-source printed circuit board by JakobThiessen, from the JakobThiessen/OpenThread_Sensors repository on GitHub, published under the MIT licence. It is a 2-layer board of 135.4 × 28.4 mm with 29 parts on 32 nets, routed with 144 tracks and 46 vias.
It is built around the NE555D, BAS19 and BSS123, with the BSS84 among its other parts. Its parts include 11 resistors, 6 capacitors, 3 connectors, 2 ICs and 2 diodes. It belongs with the sensors and measurement boards and the ESP32 and RISC-V boards of this library.

Kapazitiver Bodenfeuchtesensor mit ESP32-H2 und Matter over Thread
Version 1.0 — April 2026
Fehler im Schlatplan!!! R7, Q1 und Q2 nicht bestücken. Verbindung von Q1/pin1 zu Q2/Pin2 wie eingezeichnet herstellen und mit GPIO ein und ausschalten.
Batteriebetriebener kapazitiver Bodenfeuchtesensor für den Einsatz im Smart Home. Die Kommunikation erfolgt drahtlos über Matter over Thread mittels eines ESP32-H2 Supermini Moduls.
Das Sensordesign misst die Bodenfeuchte kapazitiv über eine interdigitale Elektrodenstruktur auf der PCB-Sonde und nutzt einen NE555 Timer zur Frequenzerzeugung. Die gemessene Frequenz wird vom ESP32-H2 ausgewertet und über das Thread-Netzwerk übermittelt.
| Oberseite | Unterseite |
|---|---|
![]() | ![]() |
| Parameter | Wert |
|---|---|
| Gesamtlänge (inkl. Sonde) | ca. 90 mm |
| Breite Elektronikteil | ca. 28,4 mm |
| Breite Sonde | ca. 14,2 mm |
| Bauteil | Beschreibung |
|---|---|
| ESP32-H2 Supermini | Mikrocontroller mit IEEE 802.15.4 (Thread) |
| NE555D | Timer-IC für kapazitive Frequenzmessung |
| BSS84 | P-Kanal MOSFET (Stromversorgungsschaltung) |
| BSS123 | N-Kanal MOSFET (Sensor-Enable-Schaltung) |
| BAS19 | Schaltdiode |
| 3,7 V LiPo | Lithium-Polymer-Akku (auf der Rückseite montiert) |
| Signal | Funktion |
|---|---|
SensorEN | Aktiviert die Sensorschaltung (Stromsparen) |
SensorOut | Frequenzausgang des NE555 → ESP32-H2 |
Ubat_adc | Batteriespannungsmessung über ADC |
IO4, IO5 | Weitere GPIOs des ESP32-H2 |
SensorEN (MOSFET-Schaltstufe: Q1 BSS123 → Q2 BSS84).SensorOut-Pin und berechnet den Feuchtigkeitswert.Ubat_adc überwacht (Spannungsteiler R1/R6: 2MΩ/4,7MΩ → ca. 0,55 µA Ruhestrom).Der NE555 ist als Astable-Multivibrator konfiguriert:
| Parameter | Bauteil | Wert |
|---|---|---|
| Ra (VCC → Discharge) | R2 | 330 kΩ |
| Rb (Discharge → Threshold/Trigger) | R3 | 1,6 kΩ |
| C (Timing-Kondensator) | C3 | 470 pF |
| C_probe (Sonden-Kapazität) | PCB-Elektroden | variabel |
| CV-Bypass (Pin 5) | C6 | 10 nF |
| Abblock-Kondensator | C4 | 100 nF |
$$f = \frac{1{,}44}{(R_A + 2 \cdot R_B) \cdot C_{total}}$$
Mit $R_A = 330,\text{k}\Omega$, $R_B = 1{,}6,\text{k}\Omega$:
$$R_A + 2 \cdot R_B = 333{,}2,\text{k}\Omega$$
Die Gesamtkapazität setzt sich zusammen aus dem Festkondensator C3 und der variablen Sondenkapazität:
$$C_{total} = C_3 + C_{probe} = 470,\text{pF} + C_{probe}$$
| Zustand | C_probe (geschätzt) | C_total | Frequenz |
|---|---|---|---|
| Nur C3 (kein Boden) | 0 pF | 470 pF | 9,19 kHz |
| Luft / trockene Sonde | ~10 pF | 480 pF | 9,00 kHz |
| Trockener Boden | ~50 pF | 520 pF | 8,31 kHz |
| Mäßig feucht | ~150 pF | 620 pF | 6,97 kHz |
| Nasser Boden | ~300 pF | 770 pF | 5,61 kHz |
| Gesättigt / Wasser | ~500 pF | 970 pF | 4,46 kHz |
Erwarteter Frequenzbereich: ca. 4,5 kHz – 9,2 kHz
$$D = \frac{R_A + R_B}{R_A + 2 \cdot R_B} = \frac{331{,}6,\text{k}}{333{,}2,\text{k}} \approx 99{,}5,%$$
Das Signal ist stark asymmetrisch (sehr kurze Low-Pulse). Der ESP32-H2 sollte die Periodendauer oder Frequenz messen (z. B. per Timer-Capture), nicht das Tastverhältnis.
Grundsätzlich: Ja, mit folgenden Anmerkungen:
| Aspekt | Bewertung |
|---|---|
| Frequenzbereich 4,5–9,2 kHz | Sehr gut messbar mit ESP32-H2 Timer/Counter |
| Auflösung | Bei 12-bit Timer-Capture ausreichende Auflösung über den gesamten Bereich |
| Power-Gating (BSS84/BSS123) | Sinnvolles Design für Batteriebetrieb |
| Batterie-Monitoring (2M/4,7M Teiler) | Sehr stromsparend (~0,55 µA), gutes Design |
| Interdigitale PCB-Sonde | Bewährtes Prinzip für kapazitive Feuchtemessung |
Wichtiger Hinweis — Versorgungsspannung:
⚠️ Der klassische NE555 (bipolar) ist für min. 4,5 V spezifiziert. Bei 3,3 V Betriebsspannung kann er unzuverlässig arbeiten oder gar nicht anlaufen. Es wird empfohlen, eine CMOS-555-Variante zu verwenden (z. B. LMC555, TLC555, ICM7555), die ab 1,5 V arbeitet und zudem weniger Strom verbraucht. Der Footprint (SOIC-8) ist kompatibel.
| Datei | Inhalt |
|---|---|
Moisture Sensor.kicad_sch | Schaltplan |
Moisture Sensor.kicad_pcb | PCB-Layout |
Moisture Sensor.kicad_pro | KiCad-Projektdatei |
Moisture Sensor.step | 3D-Modell der Platine |
Moisture Sensor.pdf | Schaltplan als PDF |
lib/ | Bauteilbibliotheken (Symbole, Footprints, 3D-Modelle) |
| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 100nF | Capacitor_SMD:C_0603_1608Metric | C2, C4, C5 |
| 2 | 10K | Resistor_SMD:R_0603_1608Metric | R8, R11 |
| 2 | 10nF | Capacitor_SMD:C_0603_1608Metric | C1, C6 |
| 2 | 1M | Resistor_SMD:R_0603_1608Metric | R5, R7 |
| 2 | Conn_01x02_Pin | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J1, J2 |
| 2 | LOGO | LOGO | G***, G*** |
| 1 | 0R0 | Resistor_SMD:R_0603_1608Metric | R10 |
| 1 | 100K | Resistor_SMD:R_0603_1608Metric | R9 |
| 1 | 10k | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 1k6 | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 2M0 | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 330 | Resistor_SMD:R_0603_1608Metric | R2 |
| 1 | 470pF | Capacitor_SMD:C_0603_1608Metric | C3 |
| 1 | 4M7 | Resistor_SMD:R_0603_1608Metric | R6 |
| 1 | BAS19 | Package_TO_SOT_SMD:SOT-23 | D1 |
| 1 | BSS123 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | BSS84 | Package_TO_SOT_SMD:SOT-23 | Q2 |
| 1 | Conn_01x03_Pin | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | ESP32-H2-SUPERMINI | lib:ESP32H2-Supermini | U1 |
| 1 | LED | PCM_SparkFun-LED:LED_0603_1608Metric | D2 |
| 1 | MountingHole | MountingHole:MountingHole_2.5mm | H1 |
| 1 | NE555D | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3 |

JakobThiessen/OpenThread_Sensors
Fehler im Schlatplan!!! R7, Q1 und Q2 nicht bestücken. Verbindung von Q1/pin1 zu Q2/Pin2 wie eingezeichnet herstellen und mit GPIO ein und ausschalten.

JakobThiessen/OpenThread_Sensors
Fehler im Schlatplan!!! R7, Q1 und Q2 nicht bestücken. Verbindung von Q1/pin1 zu Q2/Pin2 wie eingezeichnet herstellen und mit GPIO ein und ausschalten.

takuhoTech/CelestNavi-Combo
Ready-to-use GNSS+CLAS receiver with integrated loop antenna

efabless/chipignite_discover
This FPGA experimentation and development board was developped for efabless chipignite workshops and labs to serve as an easy to use experimentation board and stepping stone towards ASIC digital design, allowing for…

SMalasGit/2s-BMS
A repository for a 2s lithium ion BMS that utilizes the BQ28Z620. This IC is an all-in-one chip that features battery protection, cell balancing, battery charging, battery current and voltage monitoring, and gas gauging…

eihli/morse-mesh
This is the current hardware source for future Morse Mesh revisions. It is a professionally reviewed redraw of the frozen, fabricated v1 board, not a pin-compatible replacement: notably, KEYIN moved from v1 PA0 to v2…



patrickyeon/battery-characterizer
battery tester/characterizer hardware, firmware.

lwray-renesas/RL78-I1C-PMOD-Programming-Adaptor---Isolated
This piece of hardware alows connection between an E2-Lite and any of the RL78/I1C Metering PMOD's. Providing 5kv isolation.
It measures 135.4 × 28.4 mm and has 2 copper layers, 1.6 mm thick.
29 parts, built around the NE555D, BAS19, BSS123 and BSS84. 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.
From the JakobThiessen/OpenThread_Sensors repository on GitHub, at the commit this page was made from: the board is Hardware/Moisture_Sensor/Moisture Sensor.kicad_pcb and its schematic Hardware/Env_Sensor/EnvSensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).