
Plant1337
chl33/Plant133
Firmware, circuit design, and 3D-printable components for an automated plant-watering system.

PCB for a webshooter control by a force sensor, solenoid valve and a brushless motor.
WebShooter is an open-source printed circuit board by 8aChristian, from the 8aChristian/WebShooterPcb repository on GitHub, published under the MIT licence. It is a 2-layer board of 38 × 38 mm with 29 parts on 12 nets, routed with 83 tracks and 12 vias.
It is built around the AMS1117-3.3, AO3400A and SS14. Its parts include 2 diodes, 2 connectors, 1 IC and 1 transistor. It belongs with the ESP32 boards of this library.
WebShooter is a compact, high-reliability wearable controller PCB designed for rapid biosignal/force acquisition, low-latency electronic valve actuation, and external brushless motor ESC control.
Built around the ESP32-C3 SuperMini (RISC-V 32-bit architecture), the system is engineered to withstand intense inductive transients and severe electromagnetic interference (EMI) from high-power loads while providing precision analog readings from a Force Sensing Resistor (FSR).
[!NOTE] Key Capabilities:
- Fast Response Time: Sub-millisecond analog force detection via hardware RC filtering.
- Inductive Load Immunity: High-speed Schottky flyback suppression and isolated ground return loops.
- Modular Design: Socketed MCU mounting for effortless replacement and maintenance.
graph LR
subgraph Power_Stage ["Power and Regulation Stage"]
BATT["Battery LiPo 2S (7.4V - 8.4V)"] -->|J_BATT| LDO["AMS1117-3.3 LDO"]
LDO -->|"10uF In + 22uF Out"| V33["3.3V DC Clean Rail"]
end
subgraph MCU_Stage ["Control Unit ESP32-C3 SuperMini"]
V33 --> MCU["ESP32-C3 (RISC-V @ 160MHz)"]
MCU -->|GPIO8| LED["Status Indicator LED"]
end
subgraph Sensor_Stage ["Analog Force Sensing"]
V33 --> FSR_DIV["10k Ohm Reference Divider"]
FSR["FSR402 Sensor"] --> FSR_DIV
FSR_DIV -->|"100nF LowPass + 1k Ohm Prot"| ADC["GPIO0 (ADC1_CH0)"]
end
subgraph Actuation_Stage ["Power Actuation and Motor Drive"]
MCU -->|GPIO7 Logic Gate| DRV["AO3400A N-MOSFET (30V / 5.7A)"]
BATT -->|7.4V Heavy Rail| SOL["Solenoid Valve (Inductive Load)"]
DRV -->|"Drain + SS14 Flyback Diode"| SOL
MCU -->|"GPIO6 PWM - 100 Ohm Damper"| ESC["External ESC (SpeedX2 1404 BLDC)"]
BATT -.->|"Direct Battery Wiring"| ESC
end| Subsystem | Component Selected | Engineering Rationale & Justification |
|---|---|---|
| Microcontroller | ESP32-C3 SuperMini | Ultra-compact footprint ($22.5 \times 18\text{ mm}$), native 12-bit ADC, hardware PWM timers, low power consumption, and integrated 2.4 GHz Wi-Fi/BLE for wireless telemetry. Mounted on 2.54 mm female headers (J1, J2) to prevent module thermal stress during assembly and allow instant replacement. |
| Solenoid Driver | AO3400A N-MOSFET (SOT-23) | Ultra-low on-resistance ($R_{DS(on)} < 33\text{ m}\Omega$ @ $V_{GS} = 2.5\text{V}$), fully saturated with the ESP32's 3.3V logic. At $I = 0.8\text{A}$, power dissipation is negligible ($P_{cond} \approx 21.1\text{ mW}$), eliminating the need for bulky heatsinks. |
| Flyback Protection | SS14 Schottky Diode (SOD-123) | Placed directly in antiparallel across the solenoid terminals. Ultrafast reverse recovery ($t_{rr} < 10\text{ ns}$) and $0.5\text{V}$ forward drop clamp inductive voltage spikes ($V = -L \frac{di}{dt}$) to protect the MOSFET drain and ground plane from EMI bursts. |
| Voltage Regulator | AMS1117-3.3 (SOT-223) | Handles 7.4V–8.4V LiPo 2S input with 1A current capacity. SOT-223 tab is tied to the output plane for optimal thermal dissipation. Paired with $10,\mu\text{F}$ input and $22,\mu\text{F}$ output ceramic X7R capacitors. |
| Force Sensor AFE | FSR402 Divider + RC Filter | Converts pressure ($0.2\text{ N} - 20\text{ N}$) into a clean $0.03\text{V} - 3.0\text{V}$ voltage curve. The hardware RC filter ($10\text{ k}\Omega \parallel 100\text{ nF}$) removes mechanical contact bounce and EMI from nearby motor switching. |
| Motor & ESC Isolation | Signal-Only PWM Interface | Heavy motor currents (up to 15A from the SpeedX2 1404 BLDC) are powered directly from the battery pack wiring harness. Only the PWM control line and reference ground pass through the PCB, preventing ground bounce and motor hash from corrupting the ADC. |
Full vector PDF schematic is available in the /schematic folder.
[!TIP] Complete Schematic Documentation:
- 📄 PDF Format:
schematic/WebShooter_Schematic.pdf- 🎨 Vector SVG:
schematic/WebShooter_Schematic.svg/- 💻 KiCad Source:
pcb/WebShooter.kicad_sch
| Top Layer 2D Layout (F.Cu) | Bottom Layer 2D Layout (B.Cu) |
|---|---|
| 3D Render - Top Side | 3D Render - Bottom Side |
|---|---|
![]() | ![]() |
Edge_Cuts perimeter.F.Cu and B.Cu feature unbroken GND copper zones connected through thermal reliefs (ZONE_CONNECTION_THERMAL) on all through-hole and SMD ground pins.Automated Design Rule Check (DRC) executed via kicad-cli:
** KiCad 10 Design Rule Check Report **
Project: WebShooter.kicad_pcb
Date: 2026-08-20
[+] Status: PASSED
[+] Total DRC Violations: 0
[+] Unconnected Elements: 0
[+] Footprint Courtyard Overlaps: 0
[+] Solder Mask Bridges: 0
[+] Silk Over Exposure: 0[!IMPORTANT] The full verification report is saved in
pcb/WebShooter-drc.rpt.
3d-model/WEBSHOOTERCASEFINAL.f3d (Autodesk Fusion 360 source archive)| Asset | Location / File | Purpose |
|---|---|---|
| Gerber Files (ZIP) | gerbers/WebShooter_Gerbers_JLCPCB.zip | One-click drag-and-drop file for instant online quoting |
| Individual Gerbers | gerbers/ | Standard RS-274X layers (.gtl, .gbl, .gts, .gbs, .gto, .gm1...) |
| Drill File | gerbers/WebShooter.drl | Excellon CNC drill specifications |
| BOM (CSV) | bom/WebShooter_BOM.csv | Component spreadsheet with LCSC Part Numbers |
| BOM (Markdown) | bom/WebShooter_BOM.md | Formatted Bill of Materials table |
| Case CAD (F3D) | 3d-model/WEBSHOOTERCASEFINAL.f3d | 3D-printable parametric enclosure design |
This project is licensed under the MIT License — Feel free to use, modify, and manufacture this board for open-source and commercial hardware projects.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole_2.2mm_M2_Pad | MountingHole_2.2mm_M2_Pad | H1, H2, H3, H4 |
| 2 | 100 | R_0805_2012Metric | R_G, R_PWM |
| 2 | 10k | R_0805_2012Metric | R_PD, R_REF |
| 2 | 1k | R_0805_2012Metric | R_LED, R_PROT |
| 1 | 100nF | C_0805_2012Metric | C_FILT |
| 1 | 10uF | C_0805_2012Metric | C_IN |
| 1 | 22uF | C_0805_2012Metric | C_OUT |
| 1 | AMS1117-3.3 | SOT-223-3_TabPin2 | U1 |
| 1 | AO3400A | SOT-23 | Q1 |
| 1 | BATT_2S | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J_BATT |
| 1 | ESC_SIG | PinHeader_1x03_P2.54mm_Vertical | J_ESC |
| 1 | ESP32_LEFT | PinSocket_1x08_P2.54mm_Vertical | J1 |
| 1 | ESP32_RIGHT | PinSocket_1x08_P2.54mm_Vertical | J2 |
| 1 | FSR_SENSOR | JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J_FSR |
| 1 | LED_STAT | LED_0805_2012Metric | D2 |
| 1 | SOLENOID | JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J_SOL |
| 1 | SS14 | D_SOD-123 | D1 |
| 1 | TP_3V3 | TestPoint_Pad_D1.5mm | TP_3V3 |
| 1 | TP_ESC | TestPoint_Pad_D1.5mm | TP_ESC |
| 1 | TP_FSR | TestPoint_Pad_D1.5mm | TP_FSR |
| 1 | TP_GATE | TestPoint_Pad_D1.5mm | TP_GATE |
| 1 | TP_GND | TestPoint_Pad_D1.5mm | TP_GND |
| 1 | TP_VBATT | TestPoint_Pad_D1.5mm | TP_VBATT |

chl33/Plant133
Firmware, circuit design, and 3D-printable components for an automated plant-watering system.


Blaze-Pascal/Masters-Multi-Channel_DAQ
Custom 2-channel digital oscilloscope DAQ with 20MHz bandwidth. Built with a custom KiCad analog front-end (AFE) PCB, Gowin FPGA (Tang Nano 9K) for high-speed signal buffering (VHDL), and an RPi Pico MCU for SCPI-like…


jacob-w-gable/alpha_centauri
A split, ergonomic, mechanical keyboard with 40 keys, designed for typing speed and comfort.

MAATHES-THILAK-K/4CH_RELAY_TIMER
ESP32C3 Mini Based 4CH Relay With Timer Control

Toolauth/wing-combo
A large Feather Wing board that can control tools and helps manage authorization in a community workshop

It measures 38 × 38 mm and has 2 copper layers, 1.6 mm thick.
29 parts, built around the AMS1117-3.3, AO3400A and SS14. 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 8aChristian/WebShooterPcb repository on GitHub, at the commit this page was made from: the board is pcb/WebShooter.kicad_pcb and its schematic WebShooter.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).