Mission
Build this
Build a protected water-level witness with dry electronics, a calibrated percentage, and a status that separates normal operation from a sensor fault.
Borrowed parts are labelled below and have a fallback. The registered device ID is fixed; sensing and behaviour decisions remain yours.
Bill of materials
Parts
| Source | Part | Fallback |
|---|---|---|
| ○ fablab | Water-level sensor or float mechanism | Use a supervised dry-bench vessel and label the deployment limit |
| ● kit | OLED | — |
| ● kit | SG90 servo | — |
Disconnect USB before rewiring. Motors, the relay, and the servo need appropriate power and a shared ground. Never drive an actuator from the ESP32 3V3 pin.
Backup assignment · your invitation
Watch a shoreline move while the electronics stay on land
A pond level rarely announces itself. Rain adds water, dry weather removes it, and a small change creeps along a bank. Your device will turn that slow movement into a careful, visible record.
The design challenge is not to lower a breadboard toward water. It is to create a protected witness: a float, tube, or approved sensor arrangement that lets the water move one safe part while every powered connection remains dry and recoverable.
Water may touch only the part designed to touch it. The ESP32, connectors, display, servo, and power system stay inside a dry enclosure above splash level.
Meet the idea
Level is a position; percentage is a story you teach the sensor
A sensor first gives you a raw position or voltage. It does not know what empty, ordinary, or dangerously high means in your vessel or mounting. Calibration supplies that meaning.
Mark a safe low reference and a safe high reference. Known level steps between them reveal whether the response is straight, curved, noisy, or sticky. Only then convert the raw value to a percentage.
The pond deployment may not share the geometry of your bench vessel. Treat the bench calibration as evidence about the mechanism, then state what must be checked again outdoors.
Range
The lowest and highest levels the mechanism can measure safely—not every level the pond might ever reach.
Resolution
The smallest level change that produces a reliably different reading.
Hysteresis
A difference between the reading on the way up and at the same level on the way down.
- in the worldWater surface movesThe level changes relative to a fixed mounting point.
- the partProtected sensor or floatThe safe mechanism follows that movement.
- electricalPosition or voltageThe ESP32 receives a bounded dry-side signal.
- in the codeCalibrated percentageLow and high references give the raw value context.
- on the spinewater-level + statusThe garden receives a level or an honest fault state.
Every stage can add uncertainty. Your log should say which stage limited the final percentage.
The lovely trick
A believable number needs an escape hatch
A disconnected wire can resemble an extreme level. A stuck float can repeat yesterday’s number perfectly. If every raw value is forced into 0–100%, failure may look like valid weather.
Give the device a separate status path. Impossible voltage, no movement during a bench check, or a reading outside the calibrated range should produce a fault or warning rather than a confident percentage.
- 01SampleRead several values while the mount remains fixed.then, settle and combine,
- 02Trust checkAsk whether the signal is connected, possible, and stable enough.then, reading is plausible,
- 03ConvertMap the trusted raw value through the measured calibration.then, level or fault,
- 04Publish or warnSend level when trusted; otherwise send a fault status.
Back to the start: After a fault, require fresh valid evidence before returning to normal.
A fault is information about the instrument, not a claim that the pond is empty or full.
If the sensor mount shifts by a centimetre, the apparent shoreline shifts too. Give the mounting a reference mark so a person can tell whether the water moved or the instrument did.
Wiring
Build the entire measurement on a dry bench first
Use a supervised vessel and measured level steps. Keep the sensor lead routed downward before it enters the enclosure so a drip cannot follow the cable inside. The pond is the final location, not the first test.
The power rule: Use only the approved sensor and its verified voltage. The reference analog module uses 3V3. The servo uses a separate 5 V supply. Keep every powered joint dry and join grounds inside the enclosure.
Bench referenceOpen the exact wiring map
| ESP32 pin | Part | Part marking | Carries |
|---|---|---|---|
3V3 | Approved water-level sensor | VCC | 3V3 power — reference dry-bench analog module; follow the supplied sensor’s verified sheet |
GND | Approved water-level sensor | GND | Ground |
GPIO 34 | Approved water-level sensor | S / AO | Analog voltage — sensor voltage must remain between 0 and 3.3 V |
3V3 | OLED (SSD1306) | VCC | 3V3 power |
GND | OLED (SSD1306) | GND | Ground |
GPIO 21 | OLED (SSD1306) | SDA | I²C bus |
GPIO 22 | OLED (SSD1306) | SCL | I²C bus |
GPIO 18 | SG90 servo | signal (orange) | PWM to actuator — low-to-high pointer |
external 5 V | SG90 servo | power (red) | 5V power — separate dry supply |
GND | SG90 servo | ground (brown) | Ground — join all grounds on the dry side |
No breadboard, bare connector, USB supply, or mains-powered equipment may be placed at the water edge. Outdoor placement and the final sensor mechanism require staff approval.
- 3V3 power
- Ground
- Analog voltage
- I²C bus
- PWM to actuator
- 5V power
This reference map fits the supervised dry-bench analog fallback. A float or different approved sensor may need a different interface; document its verified wiring instead of guessing pin compatibility.
Give it character
What should a changing pond look like?
The pointer can show a continuous level, a few named bands, or the direction of recent change. It should also have an unmistakable pose for ‘I do not trust my sensor.’
Your team decides:
- Which low and high marks define the useful range?
- Does the display show an exact percentage, a trend, or both?
- How many samples calm ripples without hiding meaningful change?
- What raw evidence triggers warning, fault, and recovery?
Write these decisions in plain language before turning them into code. A clear rule is easier to test, explain, and change.
Your field adventure
Does the same water level tell the same story twice?
A useful monitor must survive both directions. Raise the level in measured steps, then lower it through the same marks. The disagreement is not a nuisance; it tells you about friction, wetting, geometry, and mounting.
- Mark the physical scale.
Measure water depth from one fixed reference and choose a safe low and high point.
- Climb in equal steps.
Add measured volumes or move to marked depths. Wait, then record raw value and actual depth.
- Descend through the same marks.
Remove water in the same sequence without moving the sensor mount.
- Test trouble deliberately.
Disconnect the sensor, hold the float, splash the housing exterior, and verify that uncertainty becomes visible without wetting electronics.
| Actual depth | Raw rising | Raw falling | Reported level | Difference | Status / observation |
|---|---|---|---|---|---|
| low mark: ___ mm | ___ | ___ | ___ % | ___ | ___ |
| middle: ___ mm | ___ | ___ | ___ % | ___ | ___ |
| high mark: ___ mm | ___ | ___ | ___ % | ___ | ___ |
When it gets dramatic
The pond is not the only thing that can move
The reading changes when the cable moves
The connection or sensor body is flexing. Add strain relief, fix the mount, and repeat calibration after the mechanical design is final.
Rising and falling give different answers
You found hysteresis from friction, wetting, or geometry. Report its size and use a wider uncertainty band if necessary.
A disconnected sensor reports 0% or 100%
The conversion is treating a fault voltage as a valid endpoint. Check plausibility before mapping and publish a fault status.
Ripples make the pointer chatter
Combine several samples or use persistence. State the response delay created by the calmer rule.
Bench calibration fails outdoors
Mounting angle, water chemistry, temperature, fouling, or geometry changed. Recheck known physical marks and narrow the claim.
Choose your direction
What kind of water watcher will you become?
The calibration cartographers
Map the complete rise-and-fall curve and make hysteresis visible.
The fault designers
Invent safe, testable ways to distinguish low water from a broken witness.
The weather readers
Compare broad level direction with Rain Collector while carefully resisting quick causal stories.
Each direction is real engineering. Pick the question that keeps your team curious.
A calm way through the build
Collect four small wins
- po-01 says hello from a dry table.
Keep the sensor and servo disconnected at first.
- Known level steps produce a repeatable raw pattern.
Fix the mount and measure in both directions.
- A trusted percentage and a fault state reach the garden.
Test disconnection before deployment.
- The dry enclosure and pointer survive a supervised splash check.
Only then review a real pond mounting.
When a new step fails, return to the last small win. The fault is now somewhere in the few wires or lines you just added.
The garden handshake
Share what you found
These names are the rigid part of the project. They let another team find your work without knowing what you called the variables in your code.
Calibrated pond level
garden/pond/pond-node/po-01/water-levelUnit: percent
Instrument state
garden/pond/pond-node/po-01/statusUnit: enum
Listen beyond your own device.
garden/outdoor-1/rain-node/rc-01/water-levelRain Collector offers a second water story. Compare direction and timing over broad windows, but do not claim that one rain event caused a pond change from a short record.
Finish line
Ready to introduce to the garden
po-01 stays online and publishes calibrated level plus an honest status.
The reject feed stays clear after the final code starts.
The device reads Rain Collector level without depending on it for local measurement.
The pointer distinguishes trusted level from sensor fault and moves without blocking messages.
The build log contains physical depths, rise-and-fall calibration, hysteresis, fault trials, housing observations, and transfer limits.
All powered parts remain dry, the mounting is approved and marked, and the device label can be scanned.
Pond Watch succeeds when the number moves because the shoreline moved—and when the device is brave enough to say when it cannot know.