Accordion Beacon Module
ESH10000671 Β· Rev R0
Battery-powered WiFi module that extends a Raspberry Pi's serial bus (I2C, UART, SPI) over WiFi using MQTT. SX1276 LoRa 868 MHz transceiver supplements WiFi for long-range parallel operation. LiPo powered with USB-C charging (BQ24075), 3.3V LDO (MCP1700), ESP32-C6-MINI-1-N4 MCU.
Everything here lives inside a Project (a code + revision, e.g. ESH10000540 R3).
The backbone is the V-model, read top-to-bottom: define what the product must do, plan how to prove it,
execute the proof on real units, then learn from the field β and the Loop closes back up to the top.
This map is live: a block is green with a count when this project actually has that entity,
and dashed/dim when itβs empty. Click any block to open its tab; hover for details.
Arrows are the meaningful links; the implicit βbelongs to this Projectβ edge is left out for legibility.
What each thing means
- Requirement
- One thing the product must do or satisfy β the βwhatβ.
- Test Case
- A defined check that proves one or more requirements β the βhow we prove itβ. A verified_by trace link ties a test case to the requirement(s) it covers; that link is exactly what Coverage % counts. (So: a test case refers to the requirements it verifies.)
- Verification Plan
- A named grouping of test cases, approved before a test campaign and optionally gated by a milestone.
- Verification Record
- The result of running one test case against one unit: pass / fail / error / na. This is the evidence a requirement is actually met.
- DUT
- Device Under Test β an individual physical unit (by serial number) that records and test data attach to.
- Deviation
- A documented waiver against a verification record (e.g. accept a known non-conformance, with justification).
- Entry
- A knowledge note: a decision (settled choice), notice (assumption / risk / open question), issue (tracked problem), or concept (idea under exploration). It can attach to any other entity.
- Design Rule
- A reusable, checkable engineering constraint. Running the checks turns each violation into a Conflict.
- Conflict
- An open flag raised by a failed design-rule check (or an end-of-life / component-library issue) that needs resolving.
- Milestone
- A dated gate; verification plans can be tied to it.
- Field Issue (RMA)
- A failure reported from the field on a returned unit; Root-Cause Analysis explains why it happened.
- The Loop (S-16)
loop_tracereconciles a field issue against that unitβs own verification record (did it pass at the edge of the band?).closes_looprecords the corrective decision or design rule so the lesson is captured β and clears the projectβs open-loop count.- Interface / Port
- A contract between projects; each port can be driven by a requirement (and cascade one into the connected project).
- BOM Component
- A part on this projectβs bill of materials, optionally linked to the shared Component Library.
- GRR Study
- A Gauge R&R study measuring how repeatable a test caseβs measurement is.
- Test Data
- Production / Maestro run results recorded against DUTs β the population behind a single verification record.
Timeline
Color = derived gate state Β· hover a tile for its note.Status & gates
Chronological β Release is the final gate. Derived & read-only; edit viatrace_milestone_* tools.MS-001Bring-up
markerdue 2026-06-05MS-002Base Functions Verified
overdue / blocked
0/1 metdue 2026-06-12
pending Plan PLAN-001 — Base Functions
- 12/23 passed
- 11 not yet run
MS-003WiFi Functionality Verified
overdue / blocked
0/1 metdue 2026-06-19
pending Plan PLAN-002 — WiFi Functionality
- 2/5 passed
- 3 not yet run
MS-004LoRa Functionality Verified
overdue / blocked
0/1 metdue 2026-06-26
pending Plan PLAN-003 — LoRa Functionality
- 1/4 passed
- 3 not yet run
MS-005Battery Functionality Verified
overdue / blocked
0/1 metdue 2026-07-03
pending Plan PLAN-004 — Battery Functionality
- 0/6 passed
- 6 not yet run
MS-006Verification Wrap-Up
overdue / blocked
0/1 metdue 2026-07-10
pending Plan PLAN-005 — Verification Wrap-Up
- 0/3 passed
- 3 not yet run
MS-007Release
markerdue 2026-07-17Release / Readiness not started 4/6 met
met Coverage ≥ 100%
- 34/34 requirements covered (100%)
pending All test cases pass
- 15/47 passed
- 32 not yet run
pending No blocking issues open
- E-023: open blocker
- E-028: open blocker
Test Cases
Coverage β 100.0% Β· Done β 35.3%
| Code | Kind | Title | Severity | Scope | Status | Milestone | Created |
|---|---|---|---|---|---|---|---|
C-001 |
notice | REQ-046 has no test case — add one to verify it? | info | action | withdrawn | β | 2026-06-05 |
C-002 |
notice | REQ-052 has no test case — add one to verify it? | info | action | withdrawn | β | 2026-06-05 |
C-003 |
notice | REQ-051 has no test case — add one to verify it? | info | action | withdrawn | β | 2026-06-05 |
C-004 |
notice | REQ-053 has no test case — add one to verify it? | info | action | withdrawn | β | 2026-06-05 |
C-005 |
notice | REQ-059 has no test case — add one to verify it? | info | action | withdrawn | β | 2026-06-05 |
E-001 |
decision | Bus pin assignments for ESP32-C6 | info | record | closed | β | 2026-05-26 |
E-002 |
decision | KiCad schematic sheet structure — 4 sheets | info | record | closed | β | 2026-05-26 |
E-003 |
decision | BQ24075T passive network configuration | info | record | closed | β | 2026-05-26 |
E-004 |
decision | PI4IOE5V6416ZDEX I2C address and port allocation | info | record | closed | β | 2026-05-26 |
E-005 |
decision | ADS7828 I2C address 0x48 | info | record | closed | β | 2026-05-26 |
E-006 |
decision | J_EXT connector pinout (AXK5S60047) — deviations from reference | info | record | closed | β | 2026-05-26 |
E-007 |
decision | UART0 TX/RX test access via 1×2 2.54 mm pin headers | info | record | closed | β | 2026-05-26 |
E-008 |
decision | Battery current sense — INA333 + 100 mΩ shunt + AO3407 PMOS power-gate | info | record | closed | β | 2026-05-26 |
E-009 |
decision | SX1276 32 MHz crystal — ECS-320-10-37B-CKY-TR3 for R0 prototype | info | record | closed | β | 2026-05-26 |
E-010 |
concept | Accordion Wireless Serial Bus Bridge | info | record | open | β | 2026-06-05 |
E-011 |
notice | C19 BOM deviation — 2u2 fitted instead of 4u7 (all R0 units) | info | action | closed | β | 2026-06-05 |
E-012 |
issue | USB-C connector EOL — R0 units modified, R1 to use 12401899E412A | warning | next_revision | open | β | 2026-06-05 |
E-013 |
issue | BQ24075 EN1 incorrectly pulled HIGH by R1 → Standby mode, OUT disabled | warning | next_revision | open | β | 2026-06-05 |
E-014 |
issue | USB-CDC flashing unreliable — COM3 intermittently unavailable on Windows | warning | record | open | β | 2026-06-06 |
E-015 |
notice | Brownout detector (BOD) disabled — must be configured before production | warning | next_revision | open | β | 2026-06-06 |
E-016 |
issue | NVS provisioning use-after-free bug — fixed build not yet flashed | warning | record | open | β | 2026-06-06 |
E-017 |
issue | WiFi RF PLL calibration fails on warm reset — USB power cycle required | warning | next_revision | open | β | 2026-06-06 |
E-018 |
decision | Two-bus I2C architecture: LP_I2C for internal peripherals, I2C0 for external MQTT bridge | info | record | open | β | 2026-06-06 |
E-019 |
decision | MQTT topic structure: beacon/<device_id>/<function>/<direction> | info | record | open | β | 2026-06-06 |
E-020 |
decision | Device identity: MAC-based temporary ID with NVS serial override via provisioning | info | record | open | β | 2026-06-06 |
E-021 |
issue | ADS7828 (U6) VCC decoupling cap C28 missing on A003460 — probable cause of erratic ADC readings | warning | record | open | β | 2026-06-07 |
E-022 |
issue | INA333 gain fixed at G≈2 — A2 first-stage output clamps at GND for low-side sensing at high gain | warning | next_revision | open | β | 2026-06-08 |
E-023 |
issue | J3 external connector shorts 3V3 to GND when external device connected | blocking | action | open | β | 2026-06-08 |
E-024 |
decision | R1: Replace INA333 + ADS7828 with INA226 for battery current and voltage monitoring | info | next_revision | open | β | 2026-06-08 |
E-025 |
concept | Raspberry Pi as local offline IoT hub with dual-AP provisioning for ESP32 devices | info | record | open | β | 2026-06-08 |
E-026 |
notice | ASM: Pi operational SSID and password derived from unit serial/MAC — pending head of operations approval | warning | action | open | β | 2026-06-08 |
E-027 |
issue | Find suitable LiPo battery — max 35 × 34 × 6 mm | warning | action | open | β | 2026-06-09 |
E-028 |
issue | SX1276 rejects OPMODE writes to PLL-active modes (0x82–0x85) — RF subsystem not starting | blocking | action | open | β | 2026-06-09 |
E-029 |
notice | Full BQ24075 charge cycle verified on A003460 — CC, CV, and termination confirmed | info | record | open | β | 2026-06-10 |
E-030 |
issue | RTC drift ~3180 ppm slow — internal RC oscillator, no external 32.768 kHz crystal | warning | next_revision | open | β | 2026-06-12 |
E-031 |
notice | Battery discharge test — A003460, deep sleep 1 min interval — test paused, partial results documented | info | record | closed | β | 2026-06-12 |
E-032 |
decision | Battery life target: ≥11 days at 1-minute wake interval (3.038 mA measured average current) | info | record | open | β | 2026-06-12 |
E-033 |
notice | BQ24075 charger (U1): the paired BAT pad (pin 3) and OUT pad (pin 11) are left unconnected — only one pad of each pair carries the battery … | info | record | open | β | 2026-06-14 |
E-034 |
notice | Beacon (ESH10000671 R0) — Probe design review COMPLETE. Analysis run 5: 23/23 checks addressed (100%), 71% with positive evidence, 29% hone… | info | record | open | β | 2026-06-14 |
E-035 |
notice | [CON-001] Trace cross-check — reconciling CON-001 against existing project records: (1) E-029 (full charge cycle verified on unit A003460)… | info | record | open | β | 2026-06-14 |
E-036 |
notice | Intent-grounded review pass (board 3) — re-ran the review against the Trace open-issue set, each tested vs the netlist (the FR-010 case in … | info | record | open | β | 2026-06-14 |
E-037 |
notice | U5 (PI4IOE5V6416ZDEX) exposed die pad — pin 25, named GND — is unconnected (single-point net `unconnected-(U5-GND-Pad25)`). The logic groun… | info | record | open | β | 2026-06-15 |