Repository navigation
Media: finalize Introduction to BLE lesson (esp32/ble-intro.md) #129
Description
Media shot-list for esp32/ble-intro.md (L4: Introduction to BLE). Part of the draft-lesson finalization tracked in #122.
⚠️ This page lives on the unmergedesp32-bluetoothbranch. It will go live (and join the live draft list) when that branch merges. Carries the "in draft form" banner.
Already present
- Component photos in the materials table only. No hero, no diagrams, no demo media.
Shot list — desk work (drawable in software)
- GATT hierarchy diagram: Server → Service (UUID) → Characteristic (UUID, value, Read/Write/Notify) → Descriptor (CCCD 0x2902). (text ASCII tree ~line 118)
- BLE advertising + connection lifecycle diagram: advertise → scan → connect → exchange (read/write/notify) → disconnect. (ble-intro.md:103 TODO)
- Fritzing wiring diagram: potentiometer on ESP32-S3 Feather A5. (ble-intro.md:449 TODO)
Shot list — bench/capture (hardware + screen recording)
BLE demos are mostly screen capture (nRF Connect phone app / Python CLI) alongside the breadboard.
- Part 1 video (~1–2 min): upload
BLEHelloWorld, runble_discover.py, then nRF Connect scan → connect → expand service tree → read value. (ble-intro.md:433 TODO) - Part 2 video (~1–2 min): pot wired to A5, subscribe to notifications in nRF Connect, turn knob, values update live. (ble-intro.md:683 TODO)
- Screenshot: nRF Connect scan results (iOS + Android side by side). (ble-intro.md:420 TODO)
- Screenshot: nRF Connect service/characteristic tree. (ble-intro.md:424 TODO)
- Screenshot: nRF Connect live notification values. (ble-intro.md:665 TODO)
Also blocked on (code, tracked here)
- Push
BLEHelloWorld.ino,BLENotifySensor.inotomakeabilitylab/arduinoESP32/Bluetooth/;ble_discover.py,ble_sensor_reader.pytoPython/BLE/.
Suggested hero
A ~10–15s cut of the Part 2 notification demo (pot → phone). Draft caption:
Watch a potentiometer's readings stream wirelessly to your phone over Bluetooth Low Energy — no cable, no WiFi, just structured BLE notifications updating in real time.
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 }.
Activity
Add SEO description: front matter to new ESP32 Wireless pages