# Assembly instructions — byitl_di01_drip_irrigation

Build order is generated from QA-verified mates (each mate's two parts were confirmed to meet at the joint).

## Printed parts

- `enclosure_base`
- `enclosure_lid`
- `manifold`
- `pump_strap`
- `battery_strap`
- `solar_stake`
- `rim_clamp`

## Purchased + hardware

- 1× Adafruit Feather ESP32-S3 8MB No PSRAM (USB-C, WiFi/BLE)
- 1× Adafruit SHT31-D temperature + humidity sensor (STEMMA QT)
- 1× BH1750 ambient light sensor breakout (GY-302, I2C)
- 1× Vertical float switch, reversible NO/NC (bucket level sensor) — CUSTOMER-INSTALLED: zip-tied to the rim-clamp tab, not printed/captured
- 1× Adafruit MOSFET Driver breakout, STEMMA JST-PH (low-side switch)
- 1× TP4056 USB-C 1S Li-ion charge module WITH protection (DW01/FS8205); solar/wall charge input, OUT+/OUT-
- 1× Adafruit MiniBoost 5V @ 1A — TPS61023 DC-DC boost regulator (3.7 V->5 V step-up)
- 1× Solar module 6 V 10 W (frameless laminate)
- 1× Keystone 1047 dual 18650 holder (cells wired 1S2P PARALLEL)
- 2× Samsung INR18650-35E 3500 mAh flat-top cell (1S2P, 2 used)
- 1× Micro Peristaltic Pump 3V/6V — 5 V dosing pump, ~30 mL/min, 6 mm OD tubing barbs
- 1× Silicone tubing 3 mm ID / 6 mm OD, 3 m (suction + discharge)
- 1× 1/4 in (6 mm) distribution tubing, 15 m (manifold -> emitters)
- 1× Adjustable drip emitters / drippers (0-10 L/h), 10-pack
- 1× Inline tube strainer / suction weight, 6 mm OD
- 1× IP68 cable glands / grommets, PG7 (bottom entries), 3-pack
- 1× PTFE hydrophobic vent membrane disc, self-adhesive (SHT31 vent)
- 1× Clear acrylic/epoxy window disc Ø15 (BH1750 light window)
- 1× 1N5819 Schottky flyback diode across the pump
- 1× 470uF 16V electrolytic across the 5 V rail (pump inrush)
- 1× 3 A inline blade/glass fuse + holder (pack B+ line)
- 1× 22AWG silicone hook-up wire assortment (harness)
- 8× M3x12 self-tapping
- 11× M2x8 self-tapping
- 2× M2.5x16 pan-head
- 1× Captured slide-in pocket
- 6× M3x16 self-tapping
- 1× Cradle capture (no hardware)
- 1× Strap clamp (no hardware)
- 2× M4x16 clamp bolt
- 1× Nylon cable tie (zip-tie), customer-supplied

## Steps

1. Join **enclosure_lid** ↔ **enclosure_base** with 6× M3x12 self-tapping (screw) at (-84.0, -56.0, 43.0). _Six bosses; lid lifts off for wiring/service. Clear window over the BH1750 and a hooded PTFE-vent over the SHT31._
2. Join **mcu_feather** ↔ **enclosure_base** with 4× M2x8 self-tapping (screw) at (-85.9, -48.9, 8.0). _4 standoffs at the PROBED hole centres (2×Ø2.50 + 2×Ø2.20); board seats on the standoff tops, USB-C to the LEFT wall._
3. Join **mosfet_driver** ↔ **enclosure_base** with 2× M2x8 self-tapping (screw) at (80.2, 1.7, 8.0). _2 standoffs at the probed holes + a 3rd unfastened pad so the 2-hole board can't see-saw._
4. Join **humidity_sensor** ↔ **enclosure_base** with 4× M2x8 self-tapping (screw) at (4.8, 1.6, 8.0). _4 standoffs at the probed holes; die under the lid PTFE vent._
5. Join **boost_5v** ↔ **enclosure_base** with 1× M2x8 self-tapping (screw) at (36.8, 14.3, 8.0). _Captured pocket + edge lips + 1 M2 into its single probed hole._
6. Join **light_sensor** ↔ **enclosure_base** with 2× M2.5x16 pan-head (screw) at (-19.4, 14.4, 35.0). _Board lands on two hollow standoffs at its probed 3.0 mm hole centres; -Y edge slides under a lip; die faces the lid window._
7. Join **tp4056_charger** ↔ **enclosure_base** with 1× Captured slide-in pocket (press_fit) at (74.7, -40.0, 8.0). _Slides in from the RIGHT (USB-C) wall under two edge lips; USB-C protrudes through the wall port and registers it. Solder pads (IN/B/OUT) reached from above with the lid off._
8. Join **battery_strap** ↔ **enclosure_base** with 2× M3x16 self-tapping (screw) at (-46.0, 40.0, 21.9). _Holder drops into a 4-wall floor cradle; the strap bolts to two posts and presses the cell tops down into the holder cradles (positive cell retention; the cells are also gripped by the holder's own spring contacts)._
9. Join **battery_holder** ↔ **enclosure_base** with 1× Cradle capture (no hardware) (press_fit) at (0.0, 18.6, 12.2). _Cradle wall bears on the holder's -Y face; strap tops it._
10. Join **pump_strap** ↔ **enclosure_base** with 2× M3x16 self-tapping (screw) at (19.0, -55.2, 26.0). _Strap bolts to the front bulkhead + rear stop._
11. Join **pump** ↔ **pump_strap** with 1× Strap clamp (no hardware) (press_fit) at (44.5, -42.1, 26.0). _Cradle takes the flange front face, both flange X edges, the motor rear plate and the head underside; strap on the head top. Five real measured faces — the flange has no screw holes._
12. Join **manifold** ↔ **enclosure_base** with 2× M3x12 self-tapping (screw) at (-38.0, -65.0, 34.0). _Back face flush on the front wall; 2 screws cross the wall into back-face pilots; inlet fed through the wall port by the pump. Ten Ø6 barbs to the drip lines._
13. Join **solar_panel** ↔ **solar_stake** with 2× M4x16 clamp bolt (screw) at (-275.0, 7.3, 54.9). _FIX 2: panel lies flat on the free-standing stake's inclined backing plate; 2 M4 bolts through the panel's lower mount tabs pin it to the plate. The stake spikes into the ground on its own; leads exit to the rear gland -> TP4056 IN._
14. Join **rim_clamp** ↔ **enclosure_base** with 2× M3x16 self-tapping (screw) at (-85.0, -65.0, 9.0). _Plate flush on the front-left wall; 2 screws cross the wall; hooks the bucket rim; a zip-tie tab reaches alongside the float; float hangs into the water._
15. Join **float_sensor** ↔ **rim_clamp** with 1× Nylon cable tie (zip-tie), customer-supplied (press_fit) at (-88.0, -78.0, 4.0). _CUSTOMER-INSTALLED, not printed or captured: zip-tie the float switch to the rim-clamp tab (Ø5 hole) and let it hang into the bucket. The cable tie loops through the tab hole and around the float body to cinch it against the tab; the float cable runs up to a bottom gland. (The old printed collar/land/cap capture did not actually retain the float and was abandoned.)_

## Wiring (power harness)

Power front-end: **battery_holder → tp4056_charger → boost_5v**

**6V**
- `solar_panel` → `tp4056_charger` (22AWG) — 6 V panel IN+/IN- -> TP4056 solar/USB charge input.

**GND**
- `solar_panel` → `tp4056_charger` (22AWG)
- `tp4056_charger` → `battery_holder` (22AWG)
- `tp4056_charger` → `boost_5v` (22AWG)
- `boost_5v` → `mcu_feather` (22AWG)
- `boost_5v` → `mosfet_driver` (22AWG)
- `mosfet_driver` → `pump` (22AWG)
- `mcu_feather` → `humidity_sensor` (22AWG)
- `mcu_feather` → `light_sensor` (22AWG)
- `mcu_feather` → `float_sensor` (22AWG)

**BATT**
- `tp4056_charger` → `battery_holder` (22AWG) — TP4056 B+/B- <-> 1S2P pack (two INR18650-35E in PARALLEL).

**VBAT**
- `tp4056_charger` → `boost_5v` (22AWG) — TP4056 OUT+ (protected 3.7 V) -> MiniBoost VIN.

**5V**
- `boost_5v` → `mcu_feather` (22AWG) — MiniBoost 5 V -> Feather USB/5V pin.
- `boost_5v` → `mosfet_driver` (22AWG) — MiniBoost 5 V -> MOSFET driver V+ (pump rail).
- `mosfet_driver` → `pump` (22AWG) — Driver switched output -> pump +. Flyback diode across the pump.

**PWM**
- `mcu_feather` → `mosfet_driver` (22AWG) — Feather LEDC GPIO -> driver STEMMA signal (switch the pump).

**I2C**
- `mcu_feather` → `humidity_sensor` (22AWG) — STEMMA QT -> SHT31 (0x44). Air/humidity via the lid PTFE vent.
- `mcu_feather` → `light_sensor` (22AWG) — Same bus -> BH1750 (0x23) under the lid clear window.

**SIG**
- `mcu_feather` → `float_sensor` (22AWG) — Float switch wired NORMALLY-OPEN to a GPIO w/ pull-up: closes as the bucket fills. Cable exits a bottom gland to the rim clamp.

