PumpStation
One board in the pump panel: alarm callouts, pump health, gauge readings and hot breakers
One board in a small water or wastewater pump station's control panel does the jobs of LiftStation AI, GaugeRead AI and PanelHeat AI: it calls people when the level is high or a pump fails, tracks each pump's health from its current, reads the discharge pressure gauges with a camera on the panel stand, and watches the breakers and contactors for heat from the inside of the door.
- Who buys it
- Small towns, water districts and private owners (HOAs, RV parks, mobile-home parks) with lift or booster stations and no SCADA, buying direct or through their pump contractor.
- Why it pays
- $1,690 + $49/month per station instead of $2,827 + $87/month for our three products separately (list prices on our pages); every avoided routine visit is worth $500–2,000 in some vendor estimates (est.).
- Target price
- $1,690 per station + $49/month (target)
- First-minute wow
- One card per station at 7 am: 'Pump 2 discharge 21 psi, 3 below normal, current up 12%: likely debris. P2 contactor L3 9 °C hotter than L1 and L2. No alarms overnight.'

What the research found
And how this design answers it
- Three devices, three radios, three apps → one ESP32-S3 board on the panel's DIN rail with one nRF9151 LTE-M radio and one app
- GaugeEye ran on D cells with its own brain and LoRaWAN → a wired USB camera head on the panel stand, powered and run by the same board; no batteries to change
- PanelSense needed its own node, battery, LoRa link and a site hub → the MLX90640 sits in a magnet pod on the inside of the door and talks I²C to the board
- PanelSense's 55° array would see only part of a small panel from the door → 110° MLX90640 sees the whole breaker row from 13–16 cm
- Gauge pressure and pump current tell the same story twice → the app puts discharge pressure next to each pump's current and capacity, so debris, air-lock and wear separate
- Bare-busbar RFID joint tags ($167 reader) do not pay in a 100 A station panel → dropped; PanelHeat stays the product for large switchgear
Use case
A slow pump and a warm contactor at a town lift station
Water operatorPublic works superintendentElectrician
- 01Trigger: over two weeks pump 2's pump-down time grows 20% and its current rises 12%
- 02Detection: the camera reads pump 2 discharge at 21 psi against a normal 24; the thermal eye sees pump 2's contactor L3 9 °C above L1 and L2
- 03Alert: the morning card flags 'pump 2: likely debris, contactor L3 warming' with the trends; no callout because nothing is urgent
- 04Action: the operator pulls and clears pump 2 on the planned round, and the electrician re-torques L3 the same visit
Outcome: Two problems fixed in one planned visit instead of a weekend failure (est.)
How it works
Architecture
- 01
Sense: float and IS-relay contacts, contactor aux contacts, pump CTs, an OV5640 USB camera on the gauges and an MLX90640 on the breakers
- 02
Decide: the ESP32-S3 logs pump cycles, reads the needles and finds hot regions; alarms are decided on the board
- 03
Send: the nRF9151 sends MQTT over LTE-M; it also runs on the backup cell to report a power cut
- 04
Tell: voice and SMS callouts with acknowledgement, one station page and a monthly report
Hardware
Real parts, buyable today
Bill of materials: about $308 per station at qty 1 including 2 CTs, PSU, camera, thermal eye and antenna (est.); IoT SIM about $2/month.
| Block | Part | Why this part |
|---|---|---|
| Brain | Espressif ESP32-S3-WROOM-1-N16R8 | USB host for the camera, 8 MB PSRAM for frames and the thermal map |
| Radio | Nordic nRF9151 (LTE-M / NB-IoT) | From LiftStation; also the power-fail supervisor on the backup cell |
| Pump inputs | 2× Magnelab SCT-0750-050 CTs + TI ADS131M04, 2× TLP291-4 | Per-pump current and 8 isolated panel inputs |
| Gauge camera | OV5640 USB (UVC) board + 2× SFH 4715AS 850 nm | GaugeEye's sensor and flash on a 1.5 m lead |
| Thermal eye | Melexis MLX90640 110° + SHT40 | PanelSense's array, wider lens for a door 13–16 cm from the breakers |
| Power | Mean Well HDR-15-24 + Saft LSH20 backup cell | Panel 24 V for everything; the cell only for the outage call |
Mechanical
Printable CAD
12 parts, generated from code and checked as closed solids. Pick a part to inspect it, or download the STL files to print.
Loading the CAD…
Real CAD · drag to rotate · scroll to zoomReal CAD · swipe sideways
Bought hardware fitted inside this part (checked in the CAD: nothing collides with the plastic)
- DIN-rail board carrierboard-carrier.stl · PETG
- DIN-rail clampdin-clamp.stl · PETG
- Low-voltage board coverboard-cover.stl · PETG, light grey
- Backup cell cradlecell-cradle.stl · PETG
- Wire tagwire-tag.stl · ASA, orange
- CT and float cable clipcable-clip.stl · PETG
- Thermal eye body with hoodeye-body.stl · PC-FR or PETG, black
- Thermal eye magnet backeye-back.stl · PC-FR or PETG, black
- Gauge camera bodycam-body.stl · ASA, white
- Gauge camera backcam-back.stl · ASA, white
- Gauge camera hoodcam-hood.stl · ASA, black
- Panel-stand post clamppole-clamp.stl · ASA, black
Open risks we are working on
- USB UVC on the ESP32-S3 at 1.5 m outdoors and I²C over a 0.6 m door lead are unproven until the bench test
- Gauge reading accuracy is GaugeEye's open question: no accuracy claim until 95% of reads are within ±2% of full scale on the bench
- The thermal eye sees plastic breaker and contactor bodies only; bare copper needs PanelHeat's tags, and an AHJ may refuse an added device in listed gear
- Wet wells are classified areas: nothing goes in the well, the board reads only safe-side contacts, and a wrong connection is a hazardous-area mistake
- Plain cellular alarms cost $15–25/month; the gauges, pump health and heat have to be worth the switch from an existing dialer
Design stage only: nothing on this page is for sale. Specifications and prices are targets.