

V2sprinklerboard
For controlling my house sprinklers with a Raspberry Pi and a custom PCB
- Size
- 142.7 × 56.2 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 34
- Nets
- 71
- Pads
- 141
- Tracks, vias
- 203, 4
- Routed
- Yes
- KiCad
- KiCad 6 (file 20211014)
- Created
- 17 Aug 2024
- Updated
- 11 Jun 2025
Overview
V2sprinklerboard is an open-source printed circuit board by shortcurb, from the shortcurb/sprinkler repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 142.7 × 56.2 mm with 34 parts on 71 nets, routed with 203 tracks and 4 vias.
Its parts include 10 diodes, 6 resistors, 6 transistors, 6 switches and 3 connectors.
README
README.mdsprinkler
For controlling my house sprinklers with a Raspberry Pi and a custom PCB
mqttclient.service handles the MQTT listening for commands and sending responses sprinklerer.service handles the GPIO pin changing to control different relays scheduler.service handles checking for weather and sunrise/sunset (solar) data
sprinklerer interacts with other modules purely through redis/celery I needed an abstraction layer that has exclusive control over the GPIOs to prevent all manner of negative effects with the sprinklers including:
- More than one zone turning on at a time
- Turning more than one zone off at a time (water hammer possible)
- Thinking I turned all the relays/zones off, but then some dormant zombie process coming back and turning one/more back on
- Some other process crashing and leaving the zones turned on forever
scheduler handles
mqttclient is the only other module that interacts via redis/celery, just adding and cancelling sprinkling and stopping tasks
scheduler handles
To Do:
- Pull any sensitive info out and put it in a .env and .gitignore it
- Rethink the queuing system. I have no visibility into the Celery thing
- Maybe there's a way I can handle a queue within python? Have the scheduler spin up a process and do it? Something with async?
Parts
34| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 1N4007 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D1, D2, D3, D4, D6, D7 |
| 6 | 220 | Resistor_THT:R_Axial_DIN0411_L9.9mm_D3.6mm_P12.70mm_Horizontal | R1, R2, R3, R4, R5, R6 |
| 6 | 2N7000 | Package_TO_SOT_THT:TO-92_Inline | Q1, Q2, Q3, Q4, Q5, Q6 |
| 6 | SANYOU_SRD_Form_C | Relay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_C | K1, K2, K3, K4, K5, K6 |
| 4 | 1N5408 | Diode_THT:D_DO-201AD_P15.24mm_Horizontal | D5, D8, D9, D10 |
| 1 | 2200uF | Capacitor_THT:C_Radial_D16.0mm_H25.0mm_P7.50mm | C9 |
| 1 | Conn_01x02 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal | J24VIn-Header1 |
| 1 | Conn_01x02 | Connector_JST:JST_EH_B2B-EH-A_1x02_P2.50mm_Vertical | JHumanShutoff1 |
| 1 | Conn_01x04 | AE-Library:XL6009E1 DC-DC | JDC-DC-Converter1 |
| 1 | Conn_01x08 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-8_1x08_P5.00mm_Horizontal | J1 |
| 1 | Raspberry_Pi_2_3 | AE-Library:RPi Full size -AE | J2 |
Questions
How big is the V2sprinklerboard PCB?
It measures 142.7 × 56.2 mm and has 2 copper layers, 1.6 mm thick.
What parts does the V2sprinklerboard use?
34 parts. 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 V2sprinklerboard KiCad files?
From the shortcurb/sprinkler repository on GitHub, at the commit this page was made from: the board is sprinkler_KiCad/V2sprinklerboard.kicad_pcb and its schematic sprinkler_KiCad/V2sprinklerboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the V2sprinklerboard 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).
Similar boards
- 2 layers142.5 × 106.4 mm

- 2 layers26 × 30 mm

Microcontroller
FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop
34 parts1.1kCC-BY-4.0 - 2 layers171.2 × 72.9 mm

Amiga gfxcard old
mntmn/amiga2000-gfxcard
MNT VA2000, an Open Source Amiga 2/3/4000 Graphics Card (Zorro II/III), written in Verilog
34 parts1k - 2 layers53.5 × 62.5 mm

Led matrix
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
34 parts915 - 2 layers45 × 26 mm

- 2 layers41.7 × 25.7 mm

Headphones flex pcb rigid
strangeparts/niubi-headphones
Flexible circuit board design for adding a headphone jack to an iPhone 7
34 parts493MIT - 2 layers18.8 × 16.3 mm

- 2 layers127 × 69.9 mm

Ezcgi
baldengineer/bit-preserve
Project for capturing vintage, classic, aka old computer schematics in KiCad.
34 parts446