

Moisture sensor
Capacitive moisture sensor
- Size
- 40 × 125 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 35
- Nets
- 33
- Pads
- 120
- Tracks, vias
- 281, 86
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 6 (file 20211014)
- Created
- 8 Nov 2022
- Updated
- 5 Dec 2022
Overview
Moisture sensor is an open-source printed circuit board by friedrich, from the friedrich/soil-moisture-sensor repository on GitHub. It is a 2-layer board of 40 × 125 mm with 35 parts on 33 nets, routed with 281 tracks and 86 vias.
It is built around the ESP32-C3-WROOM-02-N4, TPS631000DRL and RC0805FR-0710KL, with the GRM21BR71A106KA73, GRM21A5C2E180JW01 and GRM21BR61A476ME15L among its other parts. Its parts include 14 resistors, 8 capacitors, 3 ICs, 3 diodes and 1 connector. It belongs with the sensors and measurement boards and the ESP32 and RISC-V boards of this library.
Main components
12ESP32-C3-WROOM-02-N4
SMD,20x18mm-105dBm -40℃~+85℃ 2.4GHz 20.5dBm 345mA 3V~3.6V 82mA Bluetooth5.0 ESP32-C3 Chip Integrated Bluetooth function、Support USB interface On-board PCB Antenna UART、SPI、I2C、I2S、JTAG、USB SMD,20x18mm WiFi Modules ROHSEspressif SystemsWiFi ModulesTPS631000DRL
SOT-583-40℃~+125℃ 1.2V~5.3V 1.6V~5.5V 2.2MHz 2A 8uA Adjustable Buck-Boost Buck-Boost Built-in Overcurrent Protection、Light load efficient mode、Load disconnect SOT-583 DC-DC Converters ROHSTexas InstrumentsDC-DC ConvertersRC0805FR-0710KL
UncategorisedUnknown makerGRM21BR71A106KA73
080510V 10uF X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSMurataMultilayer Ceramic Capacitors MLCC - SMD/SMTGRM21A5C2E180JW01
080518pF 250V C0G ±5% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSMurataMultilayer Ceramic Capacitors MLCC - SMD/SMTGRM21BR61A476ME15L
0805UncategorisedMurataLTST-C170KGKT
0805-55℃~+85℃ 130° 20mA 2V 35mcd 571nm 574nm 75mW Discrete Diode Water Clear Yellow Green 0805 LED Indication - Discrete ROHSLite-OnLED Indication - DiscreteGRM2165C2A102JA01
0805100V 1nF C0G ±5% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSMurataMultilayer Ceramic Capacitors MLCC - SMD/SMTGRM219R7YA105KA12
08051uF 35V X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSMurataMultilayer Ceramic Capacitors MLCC - SMD/SMTDFE252012P-1R0M=P2
10081uH 4.3A 4.3A 42mΩ ±20% 1008 Power Inductors ROHSMurataPower InductorsABS07-32.768KHZ-T
SMD3215-2P-40℃~+85℃ 12.5pF 32.768kHz 70kΩ Crystal Oscillator ±20ppm SMD3215-2P Crystals ROHSAbraconCrystalsUSB4110-GF-A
SMD-40℃~+85℃ 1 48V 5A Black Female Surface Mount, Right Angle Type-C USB 2.0 SMD USB Connectors ROHSGlobal Connector Technology (GCT)USB Connectors
README
README.mdMoisture sensor
A capacitive moisture sensor board employing an ESP32-C3 RISC-V microcontroller capable of transmitting measurements via Wi-Fi and Bluetooth 5 (LE). The board is powered by a single cell LiPo battery, which can be charged using the USB-C port.

Components are spaced quite far apart, with the goal of making it easier to solder them by hand.
Sensor circuit

The sensor circuit consists of the following building blocks:
- The microcontroller generating a square wave, depicted as voltage source $U_0$.
- A low pass filter made up of resistor $R_1$ and capacitor $C_1$. Capacitor $C_1$ stands for sensor wires together with the medium to be measured acting as a dielectric. Its value is to be determined by the circuit.
- A peak voltage detector made up of diode $D_1$, resistor $R_2$ and capacitor $C_2$.
- The microcontroller measuring voltage $U_2$.
Since resistor $R_2$ is chosen to be quite large, the impact of the peak voltage detector on the low pass filter becomes negligible, as soon as $C_2$ reaches a stable voltage. Just considering the voltage source together with the low pass filter leads to a peak voltage of
$$ U_p = U_+ \frac{1 - e^{-\omega T D}}{1 - e^{-\omega T}}, $$
where $U_+$ is the high voltage of the voltage source, $T$ the period, $D$ the duty cycle, and $\omega = 1/(R_1 C_2)$. The peak voltage has a range from $U_+$ for zero $C_2$ down to $D U_+$ for infinite $C_2$.
Possible future circuit improvements
- Add battery protection circuit.
- Add a switch for turning the device on and off.
- Add a button to put the device into a mode where it acts as an access point or can be connected via Bluetooth.
- Make it possible for the microcontroller to measure battery voltage and to know if it is powered using USB or the battery. Detect USB using an RTC GPIO port to be able to wake the microcontroller when plugged in.
- Replace the battery solder pads with a connector.
- Remove sensing traces from the top so that it matters less how deep the sensor is pushed into the soil. Additionally, moisture variations are more relevant deeper down than on the top.
- Increase the length of the probe.
- Make it possible to power the board without a battery, using USB-C only. This is currently possible by bypassing the battery charge management controller by connecting VDD and +BATT. Otherwise, the power supply voltage of the microcontroller is not stable.
- Expose JTAG pins for development since the USB-to-JTAG interface is turned off during deep sleep.
Parts
35| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2, R3, R10 |
| 2 | 10uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C8, C9 |
| 2 | 18pF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C2, C3 |
| 2 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4, R9 |
| 2 | 47uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C4, C5 |
| 2 | 5.1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R6, R7 |
| 2 | Conn_01x01 | Connector_Wire:SolderWire-0.25sqmm_1x01_D0.65mm_OD1.7mm | -BATT1, +BATT1 |
| 2 | LED | Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D1, D2 |
| 1 | 1M | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R14 |
| 1 | 1nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C6 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1 |
| 1 | 1uH | Inductor_SMD:L_1008_2520Metric_Pad1.43x2.20mm_HandSolder | L1 |
| 1 | 220R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R12 |
| 1 | 3.3k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R13 |
| 1 | 32.768kHz | Crystal:Crystal_SMD_G8-2Pin_3.2x1.5mm_HandSoldering | Y1 |
| 1 | 47R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R11 |
| 1 | 511k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R5 |
| 1 | 91k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R8 |
| 1 | D | Diode_SMD:D_SOD-323_HandSoldering | D3 |
| 1 | ESP32-C3-WROOM-02 | library:ESP32-C3-WROOM-02 | U1 |
| 1 | EVQ-Q2F03W | Button_Switch_SMD:SW_SPST_EVQP2 | RESET1 |
| 1 | Jumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | BOOT1 |
| 1 | MCP73832 | Package_TO_SOT_SMD:SOT-23-5_HandSoldering | U4 |
| 1 | TPS631000 | Package_TO_SOT_SMD:SC-70-8 | U2 |
| 1 | USB4110 | library:USB4110-GF-A_REVB | J3 |
Similar boards
- 2 layers

- 4 layers42 × 65 mm

Icarus Flight Computer
daedalus-ind/icarus-hardware
Hardware of the onboard flight computer for the Icarus rocket.
106 parts2MIT - 6 layers64.2 × 40.6 mm

- 4 layers96 × 71.9 mm

260510-Digital hearing aid
RV-crtl/Digital-Hearing-Aid-G1
Anna — controls · Ryan — BT/telecoil · Mariya — microphone/DSP · Naomi — speaker output · Interface contracts
236 parts - 2 layers80 × 70 mm

- 4 layers144.7 × 95.9 mm

Cell Monitoring Unit (CMU)
VikingMotorsports/Battery-Management-System-Capstone-2026
The BMS Capstones deliverables
186 parts1 - 4 layers100 × 106 mm

Delivery robot 1
ECE49022Team22/delivery-robot-pcb
Delivery robot KiCad PCB project and reusable 3.3 V LDO module
181 parts - 2 layers80 × 70 mm

Pd bench
kekoraa/usb-c-pd-bench-breakout
USB-C PD trigger/breakout with selectable voltage requests and a routed two-layer KiCad PCB. Design-stage
31 parts
Questions
How big is the Moisture sensor PCB?
It measures 40 × 125 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Moisture sensor use?
35 parts, built around the ESP32-C3-WROOM-02-N4, TPS631000DRL, RC0805FR-0710KL and GRM21BR71A106KA73. 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 Moisture sensor KiCad files?
From the friedrich/soil-moisture-sensor repository on GitHub, at the commit this page was made from: the board is pcb/moisture-sensor.kicad_pcb and its schematic pcb/moisture-sensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Moisture sensor design in my own project?
Its repository states no licence, so its author keeps all rights: ask friedrich before reusing the design.