Charter 14 · react · programme assignment

Weather Mood

Multivariable Climate Display

Turn climate readings into a transparent, testable classification.

Difficulty
★★☆
Prefix
wm
Zone
visitor-centre
Type
ladybug
Device
wm-01
Build time
8 hours

Mission

Build this

An OLED face, RGB color, and posture generated from subscribed temperature and humidity.

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
● kitOLED
● kitSG90 servo
● kitRGB LED

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: wm-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/visitor-centre/ladybug/wm-01/moodenumon change
garden/visitor-centre/ladybug/wm-01/statusenumon change

Read another team

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

Physical behaviour

Alive

Use a distinct posture for each documented climate class.

Your call: Define a rule table and visual vocabulary.

Engineering evidence

Evaluate boundary behavior and whether small sensor noise causes unstable moods.

  1. Write the classification table before coding.
  2. Replay values around every boundary.
  3. Add hysteresis if repeated boundary changes occur.

If you are fast: Subscribe to humidity as a second input using the multiple-subscription helper.

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 wm-01…