Skip to content

Media: finalize Internet of Things lesson (esp32/iot.md) #128

Description

@jonfroehlich

Media shot-list for esp32/iot.md (Internet of Things). Part of the draft-lesson finalization tracked in #122. Live on main with the "in draft form" banner. Prose is complete; it needs diagrams + workbench/dashboard capture.

Note: on the esp32-bluetooth branch this page is re-parented under the new Wireless sub-module (L1). Media work here applies regardless of where it lands in nav.

Already present

  • Hero exists ✅ — YouTube demo (DgCFUHGSKSM): ESP32 streaming photoresistor data to an Adafruit IO dashboard.
  • IDE library-install screenshots; Huzzah32 Fritzing circuit (in a collapsible).
  • Generic placeholders in materials table.

Shot list — desk work (drawable in software)

  • Fritzing wiring diagram: ESP32-S3 Feather + photoresistor divider (A5/ADC1) + LED on GPIO13 w/ 220Ω; call out the ADC1-vs-ADC2 constraint. (iot.md:194 TODO)
  • Screenshot sequence: Adafruit IO dashboard walkthrough (login → feed → dashboard → line chart → gauge).
  • Screenshot: completed dashboard (line chart + gauge side by side). (iot.md:422 TODO)
  • (Optional) Screenshot: toggle block config for the bidirectional led-control feed.

Shot list — bench/capture (real circuit + screen recording)

  • Workbench video (~15–20s): cover/uncover photoresistor, LED responds.
  • Split-screen video (~30–40s): bench (shading sensor) + live Adafruit IO dashboard updating.
  • Bidirectional video (~15–20s): toggle on dashboard → onboard LED on/off (note the network latency). (iot.md:491 TODO)

Suggested hero

Keep the existing YouTube demo as hero — it already shows the end-to-end system. Optional caption polish:

In this lesson, we'll build a full IoT system: the ESP32 reads ambient light, streams it to the cloud over WiFi, and displays it live on an Adafruit IO dashboard.

Placement (hero-first standard)

Put the hero block immediately after the TOC --- — before any intro prose, the draft banner, or note box (slot: TOC → hero → optional note → prose; see #123). Markup: <video autoplay loop muted playsinline aria-label="..."> for a local clip (use controls instead of autoplay if it has audio), or <div class="iframe-container"><iframe ... title="descriptive..."></iframe></div> for YouTube — followed by a **Video.**/**Figure.** caption with {: .fs-1 }.

Metadata

Metadata

Assignees

No one assigned

    Labels

    contentLesson content: errata, corrections, new sections, pedagogyfigures-mediaFigures, captions, diagrams, images, video/embedsv2.0Targeted for the Version 2.0 release

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions