Charter 28 · sense · reserve project

The Parasol Bug

Shade Microclimate Experiment

Carry a tiny patch of shade and measure what it actually changes.

Difficulty
★★☆
Prefix
pb
Zone
outdoor-1
Type
parasol-node
Device
pb-01
Build time
8 hours

Mission

Build this

Build a movable shade creature that measures local temperature and light while its parasol changes position.

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
● kitThermistor and 10 kΩ resistor—
● kitPhotoresistor and 10 kΩ resistor—
○ fablabSG90 servo and lightweight parasolUse a hand-positioned card shade for the investigation

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.

Backup assignment · your invitation

Carry a tiny patch of shade and ask what it truly changes

Shade feels simple: block the sun and things become cooler. The Parasol Bug turns that familiar idea into an experiment where light changes immediately, temperature takes its time, and the measuring creature can accidentally warm itself.

You will build a light and temperature witness beneath a small movable parasol. Its purpose is not to automate a greenhouse. It is to compare carefully controlled shaded and unshaded intervals, while the creature opens only after bright evidence persists.

The experiment’s promise

Change one planned thing at a time. Keep position, sensor spacing, interval length, and measurement method fixed so the shade receives only the credit it earned.

Meet the idea

Light arrives quickly; temperature carries memory

A photoresistor changes as soon as the shade crosses it. A thermistor responds more slowly because the sensor body and nearby air must gain or lose heat. The two plots should not be expected to turn together.

Temperature near a small object is influenced by sunlight, air movement, surface colour, the warm ESP32, and the servo. Sensor placement is therefore part of the instrument, not decoration added afterward.

Alternating states—shade, sun, shade, sun—helps separate a repeatable effect from a general weather trend during the afternoon.

Response time

How long a sensor takes to approach a new reading after the condition changes.

Controlled variable

The one planned change: whether the parasol shades the sensing point.

Confounder

Another change, such as wind or device heat, that could explain part of the result.

Signal chainHow shade becomes two different observations
  1. in the worldSun, shade, wind, and airThe parasol changes radiation while weather continues around it.
  2. the partPhotoresistor + thermistorOne responds to light; one responds to its own temperature.
  3. electricalTwo divider voltagesSeparate analog inputs preserve the two witnesses.
  4. in the codeLight % + temperatureCalibration and timing give each raw signal meaning.
  5. on the spineTwo measurementsThe garden receives both series with their proper units.

Light and temperature share the scene but travel through different sensors and timescales.

The lovely trick

A fair comparison needs repeated turns

If you measure sun at noon and shade an hour later, the outside weather has also changed. That difference cannot belong entirely to the parasol.

Use equal, alternating intervals and wait long enough for the thermistor to respond. Repeat the pair several times. The immediate light drop proves the parasol moved over the sensor; the slower temperature curve is the result you must interpret carefully.

Decision flowA parasol that does not flap at every cloud
  1. 01Parasol closedCollect ordinary light evidence without shade.
    then, bright for ___ readings,
  2. 02Bright candidateLight crossed the opening threshold; wait through brief flicker.
    then, evidence persists,
  3. 03Parasol openHold one stable shade position and keep sampling.
    then, dim for ___ readings,
  4. 04Dim recoveryClose only after light stays below a separate boundary.

Back to the start: Return to closed and require fresh bright evidence before opening again.

This control rule animates the creature. The investigation still uses planned fixed intervals rather than allowing the automation to choose every condition.

The sensor measures itself.

A thermistor reports the temperature of its bead, not the abstract air. Direct sun may heat the bead above the air; shade and wind change that error. Describe the measurement as local sensor temperature unless you establish a better reference.

Wiring

Build two quiet witnesses before adding the moving roof

Read each voltage divider separately. Cover the photoresistor and gently warm the thermistor to verify which value belongs to which input. Then mount them together, measure the baseline, and connect the servo last.

The power rule: Both sensor dividers use 3V3 and separate analog inputs. Power the servo from a separate 5 V supply. Join grounds and keep the servo wiring away from the sensitive analog junctions.

Bench referenceOpen the exact wiring map
WiringPaired light and temperature inputs with movable shade
ESP323V3Thermistorone legGPIO 34Thermistorother legGPIO 3410 kΩ resistorone legGND10 kΩ resistorother leg3V3Photoresistorone legGPIO 35Photoresistorother legGPIO 3510 kΩ resistorone legGND10 kΩ resistorother legGPIO 18SG90 servosignal (orange)external 5 VSG90 servopower (red)GNDSG90 servoground (brown)
ESP32 pinPartPart markingCarries
3V3Thermistorone leg3V3 power
GPIO 34Thermistorother legAnalog voltage — temperature-divider junction
GPIO 3410 kΩ resistorone legAnalog voltage — same temperature-divider junction
GND10 kΩ resistorother legGround
3V3Photoresistorone leg3V3 power
GPIO 35Photoresistorother legAnalog voltage — light-divider junction
GPIO 3510 kΩ resistorone legAnalog voltage — same light-divider junction
GND10 kΩ resistorother legGround
GPIO 18SG90 servosignal (orange)PWM to actuator — parasol position
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. Make the parasol lightweight, limit its travel mechanically, and keep fingers, leaves, and loose wires outside the moving linkage.

  • 3V3 power
  • Analog voltage
  • Ground
  • PWM to actuator
  • 5V power

Divider direction determines whether raw values rise or fall with light and warmth. Observe the direction and name it correctly instead of copying an assumed formula.

Give it character

Decide whether the bug demonstrates shade or seeks it

A demonstrator alternates planned states for a clear experiment. A responsive creature opens after bright evidence and closes after recovery. You may build both modes, but keep their purposes distinct.

Your team decides:

  • What parasol size and height shade the sensors without enclosing them?
  • Where do both sensors sit relative to the ESP32, servo, and shaded patch?
  • Which separate opening and closing thresholds keep the movement calm?
  • How can a person tell whether the device is in experiment mode, responsive mode, or missing trusted data?

Write these decisions in plain language before turning them into code. A clear rule is easier to test, explain, and change.

Your field adventure

How much change belongs to the shade?

Begin by co-locating the sensors without moving the parasol. Then run a fixed alternating schedule and record weather details that could compete with your explanation.

  1. Measure the baseline.

    Fix both sensor positions and record their ordinary variation plus any warming from the nearby ESP32 and servo.

  2. Alternate equal intervals.

    Run unshaded, shaded, unshaded, shaded intervals of the same duration and servo position sequence.

  3. Measure two timescales.

    Record the immediate light change, the slower temperature response, and the time each takes to settle.

  4. Challenge the explanation.

    Repeat under a different breeze or orientation and report which effects remain and which become ambiguous.

IntervalShade stateLight start → endTemperature start → endSettle timeWind / confounder
1unshaded___ → ___ %___ → ___ °C___ min___
2shaded___ → ___ %___ → ___ °C___ min___
3unshaded___ → ___ %___ → ___ °C___ min___

When it gets dramatic

An unruly parasol makes an excellent teacher

Light changes but temperature does not

That may be a real result, a short interval, strong airflow, or poor sensor placement. Extend the controlled interval before declaring failure.

Temperature rises when the parasol opens

The servo or ESP32 may heat the thermistor, or the shade may block airflow. Separate components and inspect the mounting geometry.

The parasol opens and closes repeatedly

The thresholds are too close or lack persistence. Use separate open and close boundaries and require several confirming readings.

The servo changes both analog readings

Power noise or physical vibration is reaching the dividers. Use a separate supply, shared ground, short signal wiring, and sample after movement settles.

Two sunny trials disagree

Sun angle, cloud, wind, surface temperature, or starting conditions changed. Record them and make a smaller claim supported by repeated pairs.

Choose your direction

What kind of shade researcher will you become?

The lag hunters

Focus on the different response times of light and temperature and make both curves easy to compare.

The geometry makers

Test parasol size, height, colour, and sensor position while changing one dimension at a time.

The self-heat detectives

Move the thermistor relative to the ESP32 and servo to measure how the device disturbs its own microclimate.

Each direction is real engineering. Pick the question that keeps your team curious.

A calm way through the build

Collect four small wins

  1. pb-01 says hello without the servo.

    Join the garden before building the parasol.

  2. Light and warmth change the correct raw inputs.

    Prove both dividers separately in Serial Monitor.

  3. Both calibrated readings reach the garden.

    Hold position fixed and check units before motion.

  4. One slow parasol movement creates a repeatable shaded interval.

    Add separate thresholds, persistence, and the alternating experiment.

When a new step fails, return to the last small win. The fault is now somewhere in the few wires or lines you just added.

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.

Every 60 seconds

Local sensor temperature

garden/outdoor-1/parasol-node/pb-01/temperature

Unit: celsius

Every 30 seconds

Relative light level

garden/outdoor-1/parasol-node/pb-01/light-level

Unit: percent

Listen beyond your own device.

garden/outdoor-1/frost-node/fs-01/temperature

Frost Sentinel offers a nearby outdoor reference. Compare aligned intervals and placement, but keep your local sensor independent and remain honest about differences between instruments.

Finish line

Ready to introduce to the garden

  • pb-01 stays online and publishes both registered measurements at their declared intervals.

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

  • The device reads Frost Sentinel without depending on it for safe local control.

  • The parasol uses separate persistent thresholds and moves without blocking measurements or messages.

  • The build log contains baseline, repeated alternating intervals, light response, temperature lag, self-heating checks, wind, and limitations.

  • The lightweight linkage has safe travel, the servo has separate power, outdoor wiring is protected, and the label can be scanned.

The Parasol Bug succeeds when a familiar patch of shade becomes a fair experiment—and when the team can say exactly which part of the cooling story remains uncertain.

Backbone now

Live status

Updates from the same public event stream

Checking pb-01…