Charter 16 · react · programme assignment

Night Watchman

Photoperiod Detector

Estimate day length from noisy light readings and justify the threshold.

Difficulty
★★☆
Prefix
nw
Zone
greenhouse-2
Type
night-node
Device
nw-01
Build time
8 hours

Mission

Build this

A photoresistor node that estimates light level and daily light/dark transitions.

One kit, one team repository.

Borrowed parts are labelled below and have a fallback. The assigned device ID is fixed; sensing and behaviour decisions remain yours.

Bill of materials

Parts

SourcePartFallback
● kitPhotoresistor
● kit10 kΩ resistor
● kitSG90 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.

Assembly

Build in evidence-producing steps

  1. Prove the connection first. Flash the unmodified first-message example with this charter’s zone, device type, and device ID.

    done when: nw-01 is alive on the developer view.

  2. Bench-test one input. Read the sensor or control in Serial Monitor before publishing or moving an actuator.

    done when: repeated physical conditions produce repeatable raw readings.

  3. Publish one registered measurement. Use the exact measurement and unit below.

    done when: the reading appears without a reject.

  4. Add the physical response. Keep spine.loop() running and avoid blocking delays.

    done when: repeated movement does not interrupt publishing or reset the board.

  5. Run the investigation. Collect the planned trials before tuning the final logic.

    done when: the build log contains observations, method, and a limitation.

Contract

Your topics

TopicUnitSuggested interval
garden/greenhouse-2/night-node/nw-01/light-levelpercent60 s
garden/greenhouse-2/night-node/nw-01/day-lengthminutesdaily

Read another team

garden/greenhouse-1/climate-node/gm-01/temperature

Physical behaviour

Alive

Remain still in daylight and perform a slow patrol in darkness.

Your call: Choose filtering, threshold, and transition persistence.

Engineering evidence

Compare threshold choices and quantify false dawn/dusk transitions.

  1. Record raw values across at least one transition.
  2. Evaluate three candidate thresholds.
  3. Require persistence and report its detection delay.

If you are fast: Compare calculated day length over multiple days.

Acceptance

Ready when all six are true

  • The registered device is alive and publishing its required topics.
  • The reject feed is clear after the final firmware starts.
  • The device reads at least one declared cross-team topic.
  • A physical output responds to real data without blocking MQTT.
  • The build log contains method, evidence, uncertainty, and a known limitation.
  • The enclosure exposes no unsafe wiring and the device ID can be scanned.

Backbone now

Live status

Updates from the same public event stream

Checking nw-01…