Charter 20 · read · available project

Plant Whisperer

Interactive Plant Label

Let four plants introduce themselves while keeping reviewed facts and nearby measurements honestly distinct.

Difficulty
★★☆
Prefix
pw
Zone
visitor-centre
Type
whisperer
Device
pw-01
Build time
8 hours

Mission

Build this

Build a four-choice interactive OLED label that presents one reviewed fact, one carefully contextualised live reading, and one courteous bow.

One kit, one team repository.

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

SourcePartFallback
● kitIR receiver and remoteUse the RC522 or membrane keypad from its verified kit example
● kitOLED—
● 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.

Your invitation

Let a plant introduce itself without making up its thoughts

A visitor chooses one of four plants. The label answers with a short fact written with garden staff, then shows one nearby live condition from the shared network and bows once.

The fact and the reading come from different kinds of knowledge. One is curated and relatively stable. The other is measured, local, and aging by the minute. Your interface must keep them distinct while making their relationship worth noticing.

The honest voice

“This sensor reports nearby soil moisture” is evidence. “This plant is thirsty” may be an unsupported diagnosis.

The central idea

One answer can contain two different truths

curated fact

What staff and sources know

A concise statement about the selected species, reviewed before it enters the device.

live context

What a nearby node reports

A value, unit, source, and age from a known sensing location.

diagnosis

What the display must not invent

The nearby reading may not describe the selected plant’s own roots or needs.

If the moisture probe is physically associated with only one plant, say so. For the other selections, label it as greenhouse context or omit it. A clear limitation is better than a personalised-looking number with no real connection.

Write four tiny introductions

Severe space can improve the facts

plant-1

Common name

Fact in one or two short screens.

Source reviewed by: ___
plant-2

Common name

Fact in one or two short screens.

Source reviewed by: ___
plant-3

Common name

Fact in one or two short screens.

Source reviewed by: ___
plant-4

Common name

Fact in one or two short screens.

Source reviewed by: ___
Keep the registered selection names even when the plants gain real names.

Publish plant-1 through plant-4. The display may show friendly names, but the garden contract stays stable if the exhibition plants change.

Wiring

Choose one input method and make it dependable

The reference route uses four labelled keys on an IR remote. A keypad or RC522 reader is valid, but begin from its working kit example and repeat the same thirty labelled selection trials.

The power rule: The OLED and verified IR receiver module use 3V3 logic. The servo uses a separate 5 V supply. Join all grounds.

Bench referenceOpen the exact wiring map
WiringRemote-controlled plant label, live OLED, and courteous bow
ESP323V3OLED (SSD1306)VCCGNDOLED (SSD1306)GNDGPIO 21OLED (SSD1306)SDAGPIO 22OLED (SSD1306)SCL3V3IR receiver moduleVCCGPIO 27IR receiver moduleOUTGNDIR receiver moduleGNDGPIO 18SG90 servosignal (orange)external 5 VSG90 servopower (red)GNDSG90 servoground (brown)
ESP32 pinPartPart markingCarries
3V3OLED (SSD1306)VCC3V3 power
GNDOLED (SSD1306)GNDGround
GPIO 21OLED (SSD1306)SDAI²C bus
GPIO 22OLED (SSD1306)SCLI²C bus
3V3IR receiver moduleVCC3V3 power — verify module voltage and markings
GPIO 27IR receiver moduleOUTDigital in/out
GNDIR receiver moduleGNDGround
GPIO 18SG90 servosignal (orange)PWM to actuator — one bow after valid selection
external 5 VSG90 servopower (red)5V power — separate supply
GNDSG90 servoground (brown)Ground — join servo and ESP32 grounds

Never power the servo from ESP32 3V3. Verify the IR receiver pin order; similar packages use different arrangements. The RC522, if chosen, is a 3.3 V device.

  • 3V3 power
  • Ground
  • I²C bus
  • Digital in/out
  • PWM to actuator
  • 5V power

This map shows the IR-remote route. A keypad or RC522 is an alternate input system, not a pin-compatible replacement.

Make one selection become one complete answer

The bow comes after the device understands the request

select

A recognised control maps to one registered plant ID.

confirm

Show the plant name so a mistaken key is visible.

tell

Present the fact, then clearly labelled live context.

bow once

Move only after a valid, newly accepted selection.

Your team decides:

  • How is each remote key or tag visibly connected to one plant?
  • How long does each screen remain before advancing?
  • When is nearby moisture relevant enough to show?
  • What wording explains stale or unavailable live data without blaming the plant?

Your two-part evaluation

Test input reliability and understanding separately

  1. Run at least thirty labelled selection trials.

    Vary distance and angle for the remote, tag, or keypad. Record wrong, missed, and duplicate selections.

  2. Freeze four facts and the context wording.

    Have garden staff review accuracy, brevity, and whether live data is connected honestly.

  3. Invite at least five first-time visitors.

    Ask them to select a named plant, repeat one fact, and explain what the live number describes.

  4. Revise the weakest layer.

    Input failures and comprehension errors are different problems. Change the correct one, then repeat its test.

SelectionInput accepted?Correct plant?Fact recalled?Live context understood?Error type
plant-1yes / noyes / no___yes / no___
plant-2yes / noyes / no___yes / no___
invalid keyno———___

When the label whispers nonsense

Find whether the failure began in input, content, or context

One press creates several bows

The remote code repeats while held or the input bounces. Accept one selection, wait for release or a quiet interval, and bow once.

The correct fact appears for the wrong physical plant

The exhibit label and internal mapping disagree. Create one visible mapping table and test every plant from the visitor’s position.

Visitors think the moisture belongs to every selected plant

The context wording is too personal. Name the sensor location and use “nearby greenhouse soil,” or omit the number where the connection is weak.

A missing reading appears as zero

Zero is valid data, not a placeholder. Track whether a message exists and how old it is, then show no data or stale explicitly.

The screen advances before anyone finishes reading

Reading time is an interface variable. Observe visitors, lengthen the pause, shorten the fact, or let them advance manually.

Choose your interpretation problem

What kind of plant-label team will you become?

The tiny editors

Work with garden staff to turn accurate plant knowledge into memorable, sourceable writing that survives a small display.

The selection engineers

Compare remote angle, keypad errors, or RFID placement and make one deliberate request reliably become one selection.

The context guardians

Study how wording, source, location, and age change what visitors believe a live measurement says about a plant.

A calm way through the build

Collect four small wins

  1. pw-01 says hello.

    Join the garden before writing the exhibit.

  2. Four controls produce four registered IDs.

    Test input mapping before adding facts.

  3. One reviewed fact and one live context screen are distinct.

    Add source, unit, location, age, and no-data language.

  4. One valid selection earns one bow.

    Power the servo separately, then begin the two-part evaluation.

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.

After a valid selection

Selected exhibit plant

garden/visitor-centre/whisperer/pw-01/selection

Unit: enum

Listen beyond your own device.

garden/greenhouse-2/moisture-node/th-01/soil-moisture

Thirsty supplies one local soil-moisture estimate. State where its probe is and whether that location genuinely represents the selected plant before showing the value.

Finish line

Ready to introduce to the garden

  • pw-01 stays online and publishes only plant-1, plant-2, plant-3, or plant-4 after valid selections.

  • The reject feed stays clear after the final code starts.

  • The label reads Thirsty moisture with unit, source, location, age, and honest stale or no-data states.

  • Each accepted selection produces one matching answer and one non-blocking bow.

  • The build log contains thirty labelled input trials, wrong, missed, and duplicate requests, four reviewed facts, five visitor tasks, fact recall, context comprehension, and one targeted revision.

  • The chosen input hardware uses safe voltage, the servo is separately powered, content is readable, and the device label can be scanned.

The Plant Whisperer is most persuasive when it knows which voice it is using: a carefully edited fact, a nearby measurement, or an honest admission that the connection is not known.

Backbone now

Live status

Updates from the same public event stream

Checking pw-01…