Skip to the content
PCBKitNew board
2 layers113 × 227.9 mmBoard2, the printed circuit board in 3D

REISBOT Pump Guard: a Rust + Raspberry Pi box that keeps a 150 V solar water pump alive

Size
113 × 227.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
115
Nets
78
Pads
353
Tracks, vias
683, 0
Pours
5
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
15 Sep 2026
Updated
15 Sep 2026

Overview

Board2 is an open-source printed circuit board by aiabusalama, from the aiabusalama/pumpbox repository on GitHub, published under the MIT licence. It is a 2-layer board of 113 × 227.9 mm with 115 parts on 78 nets, routed with 683 tracks and 0 vias.

It is built around the LM3914, 74HC165D and LM339, with the TLC555N, ULN2003A and BAT85 among its other parts. Its parts include 59 resistors, 22 diodes, 14 capacitors, 8 ICs and 4 connectors. It belongs with the power boards of this library.

Main components

7

README

README.md

REISBOT Pump Guard

A small box that keeps a solar-powered water pump alive. Rust on a Raspberry Pi Zero W.

The problem

The pump is a 138 V, 1.5 kW DC brushless submersible (110–150 V range, 11 A max). Its own controller card is destroyed above 150 V. The array is three GSE-HC455 panels in series: 150.9 V open-circuit at 25 °C, and climbing toward 165 V on a cold morning — exactly the voltage present at sunrise, before any current flows. That killed the first controller card. The second time it could not be repaired.

What the box does

  • Watches the array voltage and current every few milliseconds (PZEM-017 over RS-485).
  • Keeps the contactor open until the array has settled inside the safe window (95–145 V), and drops it again on over-voltage, under-voltage, over-current, a dry well, or loss of contact with the meter.
  • Waits, re-checks that the voltage is steady (about 15 s), and restarts by itself.
  • Runs the pump from the water levels: a level relay in the well, another in the tank.
  • Shows everything on a 20×4 LCD, one status light (blinking = ready, solid = running, two flashes = too high, three = too low) and a phone dashboard over its own Wi-Fi hotspot.

Parts

PartRole
Raspberry Pi Zero Wthe brain, runs pumpd
PZEM-017 + 50 A shuntvolts, amps, watts on the pump line
Schneider contactorswitches the 150 V DC pump line
5 V relay moduledrives the contactor coil from the Pi
HLK-10M24143 V → 24 V for the contactor coil
5 V / 3 W supplythe Pi
12 V converterfeeds the two level relays
2 × SSRC-04 level relayswell and tank levels — sold for 220 V AC, bypassed to run on 12 V DC (two jumper wires)
20×4 I²C LCD, mode switch, START / STOP buttonsthe front panel

Repo layout

  • rust/ — pumpd, the controller: state machine, PZEM-017 meter, front panel, LCD, watchdog, fail-safe, web dashboard. rust/src/bin/ holds two bench tools (failprobe, wdtest).
  • kicad/level/ — the level-sensor board (schematic, PCB, etch transfers, drill file, wire-link map); kicad/render/ shows the finished board; kicad/BOM.txt is the sourcing list.
  • hotspot/ — the Pi's Wi-Fi hotspot: setup script, captive-portal responder, watchdog units.
  • fritzing/, qet/ — wiring sketch and electrical diagram.
  • docs/ — enclosure layout and wiring pages; DESIGN.md and BUILD.md — design notes and build guide.

Disclaimer

This is a personal hobby project, built for one farm and shared as-is. It is not a product, it is not certified, and it is not affiliated with or endorsed by any employer or manufacturer. It switches 150 V DC, which can injure or kill: if you copy any of it, you take full responsibility for your own installation, and you should have a qualified electrician check it. No warranty of any kind — see the licence.

Licence

MIT

Parts

115
QtyValueFootprintReferences
1310kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R31, R32, R33, R34, R35, R36, R37, R38, R41, R42, R43, R59
13470R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR60, R66, R67, R80, R81, R82, R83, R84, R85, R86, R87, R88, R89
10100nC_Disc_D5.0mm_W2.5mm_P5.00mmC2, C4, C5, C7, C8, C9, C11, C12, C13, C14
5100kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR19, R54, R68, R70, R72
4BAT85D_DO-35_SOD27_P10.16mm_HorizontalD2, D3, D20, D21
4MountingHole_3.2mm_M3_DIN965MountingHole_3.2mm_M3_DIN965H55, H1085, H5196, H108196
3150kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR16, R53, R69
31MR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR20, R55, R58
34k7R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2, R44, R50
215kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR71, R73
21kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR45, R46
2270kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR14, R51
2390kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR11, R12
274HC165DIP-16_W7.62mmU4, U8
1100u/10VCP_Radial_D6.3mm_P2.50mmC10
1100u/16VCP_Radial_D6.3mm_P2.50mmC1
110kPotentiometer_Bourns_3296W_VerticalRV1
110nC_Disc_D5.0mm_W2.5mm_P5.00mmC6
110u/16VCP_Radial_D6.3mm_P2.50mmC3
1110kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR17
112kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR65
116kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR64
118kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR57
11N4148D_DO-35_SOD27_P10.16mm_HorizontalD9
11N5819D_DO-41_SOD81_P10.16mm_HorizontalD1
11k2R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR21
1200kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR15
1220kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR52
12k2R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR47
1330kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR13
14013DIP-14_W7.62mmU5
156kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR56
168kR_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR18
1AP1117-33TO-220-3_Horizontal_TabDownU1
1BC547TO-92_Inline_WideQ2
1CAT5 TO PIRJ45_Amphenol_54602-x08_HorizontalJ1
1EXC yellowLED_D5.0mmD7
1LM339DIP-14_W7.62mmU6
1LM3914DIP-18_W7.62mmU3
1PROBESPhoenixContact_MC_1,5_9-G-3.5_1x09_P3.50mm_HorizontalJ2
1PUMP / VALVEPhoenixContact_MSTBA_2,5_4-G-5,08_1x04_P5.08mm_HorizontalJ4
1PUMP redLED_D5.0mmD6
1PWR greenLED_D5.0mmD5
1TANK 1 redLED_D5.0mmD10
1TANK 10 greenLED_D5.0mmD19
1TANK 2 redLED_D5.0mmD11
1TANK 3 redLED_D5.0mmD12
1TANK 4 yellowLED_D5.0mmD13
1TANK 5 yellowLED_D5.0mmD14
1TANK 6 greenLED_D5.0mmD15
1TANK 7 greenLED_D5.0mmD16
1TANK 8 greenLED_D5.0mmD17
1TANK 9 greenLED_D5.0mmD18
1TARGET LEVELSW_DIP_SPSTx08_Slide_9.78x22.5mm_W7.62mm_P2.54mmSW1
1TLC555DIP-8_W7.62mmU2
1ULN2003ADIP-16_W7.62mmU7
1WELL / VALVE ENSW_DIP_SPSTx02_Slide_9.78x7.26mm_W7.62mm_P2.54mmSW2
1WELL 1 redLED_D5.0mmD22
1WELL 2 yellowLED_D5.0mmD23
1WELL 3 greenLED_D5.0mmD24
1WELL PROBESPhoenixContact_MC_1,5_4-G-3.5_1x04_P3.50mm_HorizontalJ11

Questions

How big is the Board2 PCB?

It measures 113 × 227.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Board2 use?

115 parts, built around the LM3914, 74HC165D, LM339 and TLC555N. 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 Board2 KiCad files?

From the aiabusalama/pumpbox repository on GitHub, at the commit this page was made from: the board is kicad/level/board2.kicad_pcb and its schematic kicad/level/board2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Board2 design in my own project?

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).

Similar boards

  • 2 layers99.6 × 100 mmGateometry, the printed circuit board in 3D

    Gateometry

    Desval27/Gateometry

    Gateometry is an Arduino-based, 8-channel Euclidean rhythm generator for Eurorack synthesizers, featuring programmable rhythms, individual gate outputs and mute switches, external clock synchronization, and an OLED…

    79 partsMIT
  • 2 layers53.3 × 130.8 mmRtc sd, the printed circuit board in 3D

    Rtc sd

    zuiko21/minimOS

    Scalable OS for 6502/65816

    39 parts23MIT
  • 2 layers177.9 × 187.4 mmAudio board 0033 rev.a, the printed circuit board in 3D

    Audio board 0033 rev.a

    palazzol/CyberamicControlCenter

    Repo for docs and info about the Cyberamic Control Center

    105 parts16
  • 2 layers308.7 × 241.8 mmOTTOtact, the printed circuit board in 3D

    OTTOtact

    cester-ino/OTTO-hardware

    those specs refer to the tactile buttons version, but a led backlight button version is in the works too.

    229 parts49GPL-3.0
  • 2 layers67 × 53 mmBatterietester, the printed circuit board in 3D

    Batterietester

    nrth3rnlb/battery-tester

    22 parts2CC0-1.0
  • 2 layers40 × 60 mmReddit pcb, the printed circuit board in 3D

    Reddit pcb

    gosh-darn/reddit-pcb

    19 parts
  • 2 layers53.3 × 105.3 mmPolifemo, the printed circuit board in 3D

    Polifemo

    polifactory-polimi/Polifemo

    53 parts
  • 2 layers103.4 × 73 mmPower supply, the printed circuit board in 3D

    Power supply

    vt-amplab/basic-soldering-cert-board

    Kicad files for the new basic soldering certification board

    104 partsApache-2.0