Charter 01 · sense · available project

Juliet’s Fever Chart

Greenhouse Microclimate Mapper

Find the warm pockets, cool corners, and damp surprises hiding inside Juliet.

Difficulty
★☆☆
Prefix
gm
Zone
greenhouse-1
Type
climate-node
Device
gm-01
Build time
6 hours

Mission

Build this

Build a small greenhouse companion that feels the air, shares what it finds, and opens its wings as Juliet grows warm.

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
● kitDHT11—
● kitSG90 servo—
● kitOLED—

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

Juliet has weather inside her weather

A greenhouse looks like one room. It is not. Sunlight warms the glass. Wet soil cools the air above it. A fan stirs one corner while a large leaf shelters another. Take three steps and you may have quietly walked into different weather.

Your job is to find those invisible places. You will build a small companion that feels the air, shares what it finds, and opens its wings when Juliet grows warm.

Field note, 14:10

“The path felt warm. The sensor disagreed. Beside the dark stone wall, it found the hot spot.”

01

Notice

Catch changes that your skin might miss.

02

Give them meaning

Decide what counts as cool, comfortable, or hot in this place.

03

Share the story

Let the garden see the numbers and let the wings show the mood.

Meet the crew

Four parts, four simple jobs

DHT11

The fingertip. It feels temperature and humidity through the slots in its case.

ESP32

The translator. It asks for a reading, makes a decision, and sends the result.

OLED

The notebook. It shows what the device just noticed while you stand beside it.

Servo

The body language. It moves the wings so the machine can be read from a distance.

You do not need to understand every part before you begin. Get one job working, then introduce the next member of the crew.

The lovely trick

Humidity is a relationship, not a bucket

The humidity number does not simply tell you how much water is in the air. It tells you how close the air is to its limit at that temperature.

Imagine sealing a jar of damp air so no water can enter or leave. Warm the jar and its relative humidity falls. Cool it and the number rises. The water did not vanish or return; the temperature changed what the number means.

20 °Cabout 68% RHsame water
25 °Cabout 50% RHstill the same water
30 °Cabout 38% RHstill the same water

Approximate values for one imagined parcel of air. The pattern matters more than the exact numbers.

This gives you your first real puzzle.

If humidity drops at midday, did the greenhouse lose water, or did the sun simply warm the air? One number cannot answer. Temperature and humidity make sense as a pair.

Curious what is happening inside the white sensor?

One tiny part changes electrically as it warms. Another changes as its thin coating takes up water from the air. A chip inside the DHT11 turns both effects into two whole numbers and sends them to the ESP32 as a quick pattern of high and low pulses.

It is an inexpensive sensor, so it rounds away small changes and needs time to catch up. Two DHT11s may disagree by a degree or several humidity points. That is not a reason to distrust the project. It is a reason to test what your particular sensor can honestly say.

Wiring

Connect one character at a time

Start with the DHT11. See a believable reading in the Serial Monitor. Add the display next. Leave the moving wings until last, when the quiet parts already work.

The power rule: unplug USB while rewiring. The sensor and screen use 3V3. The servo uses 5 V, preferably from a separate supply, with its ground joined to the ESP32 ground.

Bench referenceOpen the exact wiring map
Wiringgm-01 connections
ESP323V3DHT11VCC / +GPIO 4DHT11DATA / OUTGNDDHT11GND / −3V3OLED (SSD1306)VCCGNDOLED (SSD1306)GNDGPIO 21OLED (SSD1306)SDAGPIO 22OLED (SSD1306)SCLGPIO 18SG90 servosignal (orange)5V / VINSG90 servopower (red)GNDSG90 servoground (brown)
ESP32 pinPartPart markingCarries
3V3DHT11VCC / +3V3 power
GPIO 4DHT11DATA / OUTDigital in/out — a bare four-pin sensor also needs a 10 kΩ resistor from DATA to 3V3; three-pin modules already have one
GNDDHT11GND / −Ground
3V3OLED (SSD1306)VCC3V3 power
GNDOLED (SSD1306)GNDGround
GPIO 21OLED (SSD1306)SDAI²C bus — the display data line
GPIO 22OLED (SSD1306)SCLI²C bus — the display clock line
GPIO 18SG90 servosignal (orange)PWM to actuator — this tells the wings where to stop
5V / VINSG90 servopower (red)5V power — use a separate 5 V supply when available
GNDSG90 servoground (brown)Ground — the servo supply and ESP32 must share this ground

Reversing power and ground can destroy a part. Check each row before reconnecting USB.

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

Cover every row except the part you are adding. Three correct wires are better than ten hurried ones.

Give it character

What should warm air look like?

The wings do not need to imitate a laboratory gauge. They can stretch lazily, fold in tight, or move in three deliberate poses. Choose a gesture people can understand after watching it once.

Your team decides:

  • What do closed wings mean?
  • Does the creature move smoothly or change between a few clear poses?
  • How long must a change last before the creature believes it?

That last question matters. A reading near your chosen boundary may hop from 25 °C to 26 °C and back. If the wings flap at every hop, your code is obeying the sensor but missing the meaning. Waiting for two or three similar readings makes the creature calmer and more truthful.

Your field adventure

Go hunting for places nobody can see

A microclimate is simply a small place with conditions different from the space around it. Your final device should do more than sit on a desk. Take it exploring.

  1. Make a guess

    Choose three contrasting places: by the glass, under a large leaf, near the path, low to the soil, or beside a fan. Predict the warmest and dampest before measuring.

  2. Give each place time

    Leave the sensor still for about ten minutes. Record the final few readings, not the first startled number after you move it.

  3. Change one hidden detail

    At one location, compare the DHT11 beside the warm ESP32 and then a short distance away from it. Has the device been warming its own weather report?

  4. Tell the smallest honest story

    Say what your readings support. “This corner was warmer during our visit” is stronger science than “this is always the hottest corner.”

A useful notebook beats a perfect-looking graph.

PlaceOur guessWhat we foundWhat else was happening?
Under a broad leafcooler, damper___ °C · ___ %RHshade, wet soil, still air
Beside the glass______ °C · ___ %RH___
Your mystery spot______ °C · ___ %RH___

When it gets dramatic

Odd behaviour is usually a clue

The reading says NaN instead of a number

The sensor did not complete a good reply. Wait at least a second between attempts. Check the DATA wire and the small pull-up resistor if yours is a bare four-pin DHT11.

The board restarts when the wings move

The servo is taking more power than the board can spare. Give it a separate 5 V supply and keep the servo and ESP32 grounds connected.

The temperature always seems a little high

Your ESP32 warms itself while it works. Move the DHT11 away on three jumper wires and compare. You may have discovered self-heating, which is part of the investigation.

The humidity takes a long time to react

Water needs time to move into or out of the sensor coating. Leave it still and watch the direction of several readings instead of judging one moment.

The screen is blank but the sensor works

Check that SDA goes to GPIO 21 and SCL to GPIO 22. If those are right, use an I²C scanner to see whether the display answers at 0x3C or 0x3D.

Choose your direction

What kind of team will your device become?

The mapmakers

Visit many marked spots and reveal a hidden map of Juliet’s warm, cool, dry, and damp pockets.

The truth-checkers

Compare your sensor with a reference, test self-heating, and make the most honest small instrument you can.

The storytellers

Give the wings a memorable language and explore how a machine can explain a changing room without words.

All three are real engineering. Pick the question that keeps your team curious.

A calm way through the build

Collect four small wins

  1. The board says hello.

    Use the first-message example. Stop when gm-01 appears alive on the developer view.

  2. The sensor tells you something believable.

    Read temperature and humidity in the Serial Monitor. Hold it in your hand and watch both numbers change.

  3. The garden hears it.

    Publish one real temperature. Then add humidity, the screen, and the wings one at a time.

  4. The device leaves the desk.

    Run your self-heating test or microclimate hunt and put the observations in your build log.

When a new step fails, return to the last small win. You have found the few wires or lines of code where the problem must be.

The garden handshake

Share these two readings

The names below are the one rigid part of the project. They are how another team finds your device without asking which words you chose in your code.

Every 60 seconds

Temperature

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

Unit: celsius

Every 60 seconds

Humidity

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

Unit: percent-rh

One more thread connects you to the garden.

Listen to garden/entrance/counter/gk-01/count. You decide whether visitor activity changes the display, the wing gesture, or a third behaviour of your own.

Finish line

Ready to introduce to the garden

  • gm-01 stays online and shares both readings once a minute.

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

  • Your device listens to the entrance counter, even if its response is subtle.

  • The wings react to real data without interrupting new messages.

  • Your build log shows what you tried, what you found, and one thing you still cannot claim.

  • The wires are protected and the gm-01 label can be scanned.

It does not need to be flawless. It needs to be understandable, testable, and yours.

Backbone now

Live status

Updates from the same public event stream

Checking gm-01…