Skip to content
RPRichard PruittTech & Cyber
Navigation
repo://poppyup/docs/06-thermal.md

docs/06-thermal.md

47 KB · 296 lines · markdown · View rendered · Download from the repository page

docs/06-thermal.md
# 06 — Thermal Plan **Derives from:** `00-architecture-decisions.md` (ADR) §1, §2, §3.5, §6, §8, §12, §15; `05-power-budget.md` §3, §6. **Status:** revised to ADR **Baseline v0.3** (2026-09-27: magnesium AZ91D chassis, desk-operation assumption, thermal safety rule, open-shutter conductance, fan decision at EVT exit — D2, D4, D5, D11). v0.2 (same date) removed the built-in 5G cellular modem. All magnesium thermal figures are model values, **(verify) at EVT on magnesium units**. **Feeds:** `08-mechanical.md` (chassis, pads, ribs), `09-pcb-architecture.md` (component placement), `12-risks-open-questions.md`. --- ## 1. The problem in one paragraph PoppyUp is a sealed (IP54), hand-held, battery-powered box that can dissipate up to ~15 W (13.1 W Σ) for the length of a card upload over 5GbE Ethernet and ~8–10 W indefinitely on Wi-Fi, phone-hotspot or USB-tethered uploads, with no vents and no fan, in ambients from −20 °C to +40 °C, sometimes in direct sun. **Operating assumption (ADR §1, D2): the device runs on a desk or table in free air (studio, venue, hotel, vehicle), lying flat or standing on its bottom edge; a bag is for transport only** and in-bag operation is not a design case (§3.5). A 190 × 96 × 38 mm enclosure with a magnesium chassis passively sheds ~10 W at a 25 °C ambient before its metal skin reaches the 48 °C touch limit, and ~5.7 W at 35 °C (shutter closed; ~5 % less with the shutter parked open, §3.4). The thermal design therefore rests on five legs: (1) conduct every watt into the magnesium chassis so the whole skin works, (2) use the chassis's thermal mass to absorb short bursts (a card upload over Ethernet is a burst), (3) throttle gracefully and predictably when sustained load exceeds the passive limit, (4) a firmware thermal safety rule that checkpoints and parks the device if it is packed away or covered mid-job (§7.2), and (5) reserve a mechanical envelope for a sealed tunnel fan, with the go/no-go taken on measured magnesium data at EVT exit (§9, D5). --- ## 2. Heat sources ### 2.1 By component and mode (W, from ADR §6.1 / `05-power-budget.md` §6 ledgers) | Source | Location / package | 5GbE upload | Wi-Fi upload (80 MB/s) | Hotspot upload (~10 MB/s) | Tethered phone on Port B (1.5 A) | USB4 reader | Quick copy (Pro) | Idle awake ||---|---|---|---|---|---|---|---|---|| RK3588 SoM (SoC die ~12 × 12 mm on a 50 × 50 mm module) | Main board, centre, against rear skin | 5.5 | 3.5 | 3.0 | 3.0 | 1.8 | 3.5 | 1.8 || ASM2812 switch (~11 × 11 mm QFN) | Main board, near SoM | 1.8 | 1.2 | 1.0 | 1.0 | 0.5 | 1.8 | 0.5 || RTL8126 5GbE MAC/PHY (~8 × 8 mm) + magnetics | Main board, bottom edge near RJ45 | 1.9 | 0.2 | 0.2 | 0.2 | 0 | 0.2 | 0.2 || MT7925 Wi-Fi (22 × 30 mm M.2) | Main board M.2 Key-E | 0.3 | 1.8 | 1.0 | 0.05 | 0 | 0.3 | 0.3 || ASM3142 USB host (Port B tether traffic) | Main board, bottom band near Port B | — | — | — | 0.8 | — | — | — || CFexpress B card (38.5 × 29.6 × 3.8 mm, card's own controller + NAND) | Reader daughterboard, top edge | 3.0 | 1.5 | 1.0 | 1.0 | **4.0** | 3.0 | 0.6 || NVMe SSD (M.2 2280, Pro only) | Main board M.2 M-key | — | — | — | — | — | 4.0 | 0.3 || ASM2464PD USB4 bridge (Pro) | Main board, near Port C | — | — | — | — | 2.0 | — | — || Converters (BQ25792 + bucks), Σ ÷ 0.88 − Σ ≈ 12–14 % of Σ | Main board bottom band | 1.8 | 1.2 | 0.9 | 0.9 + 0.4 (Port B 5 V buck at ~95 %, 7.5 W through) | 1.2 | 1.6 | 0.5 || Charging (adder when on 65 W PD, ~8 % of 42 W into pack) | Charger + pack | +3.4 | +3.4 | +3.4 | +3.4 | +3.4 | +3.4 | +3.4 || Everything else (readers, EC, OLED, TPM) | distributed | 0.6 | 0.6 | 0.6 | 0.6 | 0.6 | 0.6 | 0.4 || **Total dissipated in enclosure (no charging)** | | **~14.9** | **~10.1** | **~7.8** | **~7.9** (battery draw 16.0) | **~10.2** | **~15.0** | **~3.8** | Notes: totals here equal the ADR "battery draw" (Σ ÷ 0.88), because conversion losses are also heat inside the box — with one exception: **in the tethered-phone mode the 7.5 W delivered on Port B is dissipated in the phone, not in PoppyUp.** Only the Port B 5 V buck's ~5 % conversion loss (~0.4 W) is ours, so the mode's in-device loads are ~6.6 W + 0.4 W ≈ 7.0 W and its heat ~7.9 W with converter losses, while its battery draw is 16.0 W (`05-power-budget.md` §6.4). At the 3 A tether setting (available only with external PD present, ADR §4.3) our heat rises by only another ~0.4 W (the phone's by 7.5 W). The quick-copy column keeps the radios associated (+0.5 W over the ADR ledger, which assumes them asleep). Charging on a 65 W brick adds ~3.4 W of charger + cell heating — the worst combined case is **5GbE upload while fast-charging ≈ 18.3 W**, which is why `05-power-budget.md` §8 derates charge current when the skin is warm. ### 2.2 Hotspot ranking With the modem gone (v0.1's 6 W RF module was the hottest sustained source and the case that forced throttling) there is no single hot module left. The case that forces throttling is now the **5GbE upload mode as a whole** (~14.9 W of heat spread over SoM, PHY, card and switch) — and it is a burst, handled by thermal mass (§4). Every Wi-Fi, hotspot and tethered upload mode sits at 7.8–10.1 W, at or under the passive ceiling. 1. **CFe B card at full rate (3–5 W in a 3.8 mm card)** — cards self-heat to 60–70 °C in commercial readers; many CFe cards throttle themselves at ~70–75 °C. The card is inserted in a metal cage that we can couple to the chassis.2. **SoM (5.5 W)** — largest single source and largest total, but spread over 25 cm² with a metal lid on the RK3588; easy to pad. Sets the steady-state skin hotspot in every upload mode.3. **ASM2812 (1.8 W in ~1.2 cm²)** — high density but small; pad required.4. **RTL8126 (1.9 W)** — PHYs run hot at 5GbE link; a 10GBASE-T PHY (4–5 W) would have been the top hotspot — one reason 10GbE was rejected for good (ADR §5, D6).5. NVMe (4 W, Pro, short bursts).6. **MT7925 (1.0–1.8 W in ~6.6 cm²)** in the Wi-Fi/hotspot modes and **ASM3142 (0.8 W)** in the tethered mode — both padded, neither a hotspot. --- ## 3. What the enclosure can shed ### 3.1 Surface areaEnclosure 190 × 96 × 38 mm (ADR §2; thickness revised from 34 to 38 mm by `08-mechanical.md`, which adds ~4 % area — the numbers below keep the conservative 34 mm figure): - Front + rear faces: 2 × 190 × 96 = 36,480 mm²- Top + bottom edges: 2 × 190 × 34 = 12,920 mm²- Two short ends: 2 × 96 × 34 = 6,528 mm²- **Total A = 55,928 mm² ≈ 0.056 m²** Of this, the magnesium chassis forms the rear face and bottom edge (~24,700 mm², 44 %); the front frame and ends are PC+GF (lower conductivity, ~0.3 W/m·K, but still radiate/convect once warmed by the internal air). With 1.5 mm ribs on the rear skin (§5.4) the rear face area rises by ~25 % → A_eff ≈ 0.0605 m². The chassis material changed from aluminum (v0.2) to **AZ91D magnesium die-cast (D4): k ≈ 72 W/m·K, c_p ≈ 1.02 J/g·K, ρ ≈ 1.81 g/cm³ (all verify against the supplier datasheet)**; EVT/DVT prototypes are machined **AZ31B, k ≈ 96 W/m·K (verify) — ~30 % better than production AZ91D**, so prototype data must be corrected before being compared with this model (§11). Conductivity does not enter the area or h terms below; it enters through the spreading-uniformity factor in §3.3 and the thermal mass in §4. ### 3.2 Heat transfer coefficientFree convection from a warm plate in still air (vertical or horizontal, 20–30 K ΔT, ~0.1 m characteristic length): h_conv ≈ 5–6 W/m²·K. Radiation from a powder/e-coated metal or painted plastic surface (ε ≈ 0.85–0.9) at ~320 K: h_rad ≈ 4εσT³ ≈ 5 W/m²·K. **Combined h ≈ 9–10 W/m²·K** on a free-standing device; ~8 for the bottom face against a table. Bare or conversion-coated-only magnesium has a low emissivity (ε ≈ 0.2–0.3, verify) — **every external chassis surface must carry the 40–60 µm light matte grey powder coat or e-coat (ε ≈ 0.9, ADR §8, D4.3)** to keep the radiation half of the budget (this is a real 30 % effect, not cosmetics). Colour hardly changes ε in the thermal infrared; it matters for solar absorptance, which is why the finish is light rather than black (§5.4, §11). ### 3.3 Dissipation vs skin rise (A = 0.056 m², h = 9 W/m²·K → G = 0.50 W/K; with ribs 0.545 W/K) | Skin ΔT above ambient | Dissipation, plain (W) | Dissipation, ribbed (W) | Skin temp at 25 °C ambient | Skin temp at 35 °C ambient ||---|---|---|---|---|| 10 K | 5.0 | 5.5 | 35 °C | 45 °C || 13 K | 6.5 | 7.1 | 38 °C | **48 °C (metal limit)** || 15 K | 7.5 | 8.2 | 40 °C | 50 °C || 20 K | 10.1 | 10.9 | 45 °C | 55 °C || 23 K | 11.6 | 12.5 | **48 °C (metal limit)** | 58 °C || 25 K | 12.6 | 13.6 | 50 °C | 60 °C || 30 K | 15.1 | 16.4 | 55 °C | 65 °C | The skin is not isothermal: the hottest exterior point (above the SoM boss) runs above the area average, and the touch limit applies to that point. **Spreading-uniformity factor 0.85 → 0.80 for magnesium (D4).** The in-plane spreading resistance of a skin is ∝ 1/(k × t): at equal wall thickness AZ91D (k ≈ 72 W/m·K) spreads ~25 % worse than the die-cast aluminum the v0.2 model assumed (k ≈ 96 W/m·K), so the boss-to-skin-average ΔT at the 8 W SoM boss rises by ~1 K (from ~3–5 K to ~4–6 K) and the usable fraction of the isothermal conductance falls from 0.85 to **0.80** (verify at EVT on AZ91D-corrected data; machined AZ31B prototypes, at k ≈ 96, will read like the aluminum model and must be corrected by ~30 % on the spreading term, §11). **G_eff = 0.545 × 0.80 ≈ 0.44 W/K, shutter closed** (v0.2 Al: 0.545 × 0.85 = 0.46 W/K). - **25 °C ambient, metal skin ≤ 48 °C (ΔT 23 K): 0.44 × 23 ≈ 10.0 W sustainable** (v0.2 Al: 10.6 W). Matches ADR §2.- **35 °C ambient, ΔT 13 K: 0.44 × 13 ≈ 5.7 W sustainable** (v0.2 Al: 6.0 W). Matches ADR §2.- 40 °C ambient (upper full-performance bound): ΔT 8 K → ~3.5 W — anything beyond idle is throttled; realistically the device runs 5GbE uploads as short bursts and hotspot/tethered uploads (~8 W) duty-cycled.- With the shutter parked open (§3.4) G ≈ 0.41 W/K → **9.5 W at 25 °C / 5.4 W at 35 °C**. | Ceiling, skin ≤ 48 °C | Shutter closed (G ≈ 0.44 W/K) | Shutter open (G ≈ 0.41 W/K) | v0.2 aluminum (G ≈ 0.46 W/K) ||---|---|---|---|| 25 °C ambient | **10.0 W** | **9.5 W** | 10.6 W || 35 °C ambient | **5.7 W** | **5.4 W** | 6.0 W | Consequences (ADR §2, §6.2; per-mode heat from §2.1; ceiling ambient = 48 °C − heat ÷ G):- **5GbE upload (13.1 W Σ → 14.9 W of heat)** exceeds the passive ceiling at any ambient (steady-state ΔT would be ~34 K); it is a burst, handled by thermal mass (§4). One 512 GB card started at ≤ ~26 °C ambient finishes (~15–17 min) just before the 48 °C cap; back-to-back cards, or a single card above that, hit the cap and drop to 2.5G (§4, §7). The same applies to quick copy (14.8 W) and to the combined Port C + 5GbE case (~20 W).- **Wi-Fi upload at 80 MB/s (8.9 W Σ → 10.1 W of heat)** at 25 °C settles at ΔT ≈ 10.1 ÷ 0.44 ≈ 23 K → 48 °C, i.e. exactly at the metal limit: **ceiling 25 °C closed / 24 °C open**; on a warm (≥ ~26 °C) desk it throttles to a lower TX duty. In practice the venue AP, not the device, limits Wi-Fi well below 80 MB/s. This is the marginal case of the EVT-exit fan gate (§9, criterion (b)).- **USB4 reader mode (9.0 W Σ → 10.2 W of heat, Pro)**: ΔT ≈ 23 K → **25 °C closed / 23 °C open** — as marginal as Wi-Fi 80 MB/s (gate criterion (b)); with a Mac on Port C the charger adds a little heat but the pack is not fast-charging (`05-power-budget.md` §7.5). **Gadget-path reader (8.7 W of heat): 28 / 27 °C.**- **1GbE venue upload (10.5 W of heat): 24 / 23 °C** — a venue upload at 1GbE is a *sustained* mode that sits at the ceiling on a 25 °C desk; expect 2.5G→1G to make no thermal difference and the duty-cycle rung of §7.2 to engage on warm days.- **Hotspot upload (6.9 W Σ → 7.8 W of heat) and tethered upload (~7.9 W of heat in the device — the 7.5 W to the phone is the phone's)**: ΔT ≈ 7.8 ÷ 0.44 ≈ 18 K → 43 °C at 25 °C ambient; **ceiling 30 °C closed / 29 °C open** on the conservative numbers used here (34 mm envelope, h = 9, 0.80 uniformity). The 38 mm envelope (+4 % area) and an on-edge stance (h ≈ 10) add ~2–3 K of margin. Fan-gate criterion (c) ("hotspot/tether indefinitely at 30 °C") is therefore predicted to pass with little margin on the conservative model.- Hotspot and tethered uploads are thermally the same mode: the cellular PA and its 2–6 W now live in the phone (or USB adapter) outside the enclosure. The phone's own thermal throttling in the sun is now the uplink's limiting factor, not ours (§8).- **Idle awake (3.8 W): 39 °C** either way — the device is never thermally limited when waiting for a link. Per-mode passive ceilings (ADR §6.2; heat = in-device dissipation from §2.1; all (verify) at EVT on magnesium units): | Mode | Heat in device (W) | Ceiling, ambient °C — shutter closed (0.44 W/K) | Ceiling — shutter open (0.41 W/K) | v0.2 Al (0.46 W/K) ||---|---|---|---|---|| Ethernet upload, 5GbE | 14.9 | burst (§4): ~17 min from 25 °C, ~9 min from 35 °C | burst, marginally shorter | burst, ~20 min from 25 °C || Ethernet upload, 1GbE venue | 10.5 | 24 | 23 | 25 || Wi-Fi upload, 80 MB/s | 10.1 | 25 | 24 | 26 || Wi-Fi upload via phone hotspot | 7.8 | 30 | 29 | 31 || USB-tethered phone on Port B (1.5 A) | ~7.9 (7.5 W exported to the phone) | 30 | 29 | 31 || Host mode, USB4 path (Pro) | 10.2 | 25 | 23 | 26 || Host mode, gadget path | 8.7 | 28 | 27 | 29 || Host mode Port C + 5GbE upload (combined) | ~20 | burst | burst | burst || Quick copy CFe B → NVMe (Pro) | 14.8 | burst | burst | burst || Idle awake | 3.8 | 39 | 39 | 40 | ### 3.4 Open shutter — the parked slats (D11)The two-slat roll-top is approved unchanged (ADR §8); the only new thermal item is where the slats sit when the shutter is **open**: the two 2.0 mm hard-anodized 6061 aluminum slats (20 × 170 mm each) park in the POM T-track pocket over the **top ~40 mm band of the rear face**, standing off the magnesium skin by a 1–2 mm air gap (POM tracks, silicone seals — the slats never touch the chassis, ADR §8 galvanic rule). - Band under the slats ≈ 40 × 170 mm ≈ 6,800 mm² (≈ 7,600 mm² ≈ **31 % of the 24,700 mm² chassis skin** including the track pockets at each end; ≈ **14 % of the total skin area**).- Heat from that band now crosses the still-air gap by conduction (h_gap ≈ k_air ÷ gap ≈ 0.026 ÷ 0.0015 ≈ **17 W/m²·K**) before the slat's outer face convects and radiates to the room at the usual h ≈ 9 (the anodized slat has ε ≈ 0.8–0.9). In series: 1 ÷ (1/17 + 1/9) ≈ **5.9 W/m²·K, −35 %** on that band. **The ribs under the slats are lost** (the gap sees the slats' projected area, not the rib perimeter).- Conductance loss: closed 0.0068 m² × 1.25 (ribs) × 9 ≈ 0.077 W/K; open 0.0068 × 5.9 ≈ 0.040 W/K → −0.037 W/K on the ribbed 0.545 → 0.508 W/K; × 0.80 → **G ≈ 0.41 W/K open (≈ −5…7 %, "~5 %" in ADR §2/§8)**.- **Ceilings open: 9.5 W at 25 °C, 5.4 W at 35 °C**; per-mode ceilings 1–2 K lower (table above). The 5GbE burst is marginally shorter (§4).- The slats do **not** cover the SoM boss (which is in the middle band, over the battery/main-board zone) — so the *hottest* exterior point is unaffected; the loss is in the area average. The reader daughterboard and the CFe B cage rail do sit under the band, so the card-case temperature in USB4 reader mode with the shutter open is the case to watch at EVT (§11).- Assumption stated: the parked slats' outer face convects and radiates normally (device on a desk, rear face in free air or standing on edge). If the device lies rear-face-down on a table, the table already takes that face's h to ~8 regardless of the slats. ### 3.5 In-bag operationNot an operating scenario (ADR §1, D2): a bag is for transport only, and the in-bag detection heuristic and "bag mode" of v0.2 are deleted. A device packed away mid-job is covered by the thermal safety rule (§7.2: checkpoint → standby → auto-resume), not by a throttling mode. --- ## 4. Thermal mass — why bursts are fine | Mass element | Mass | c_p | Heat capacity | Coupling ||---|---|---|---|---|| Magnesium chassis AZ91D (rear + bottom skin, ribs, bosses; 1.6 mm walls, `08-mechanical.md` mass budget) | ~170 g | 1.02 J/g·K (verify) | **~173 J/K** (v0.2 aluminum: ~300 g × 0.90 = 270 J/K) | direct (it is the heat sink) || Main + reader PCBs, connectors, shields | ~130 g | 0.9–1.0 J/g·K | ~120 J/K | good (padded to chassis) || PC+GF frame, TPU bumpers, shutter | ~170 g | 1.2–1.5 J/g·K | ~230 J/K | weak (air gap, plastic) — count 50 % || Battery pack | ~320 g | ~1.0 J/g·K | 320 J/K | deliberately weak (front side, foam) — count 25 % || **Effective for a 15-min transient** | | | **≈ 173 + 120 + 115 + 80 ≈ 490 → ~500 J/K** (v0.2: ~600 J/K) | | Magnesium's higher specific heat does not make up for the lower mass: the chassis lost ~100 J/K (−36 %) and the effective transient mass fell ~600 → **~500 J/K**. Bursts are therefore shorter than in v0.2, as follows. Ethernet-upload burst, shutter closed: 13.1 W Σ → 14.9 W of heat for a 512 GB card at ~500 MB/s ≈ 17 min (call it 15 min = 900 s). Dissipation during the burst grows from 0 to ~G·ΔT; average over the ramp ≈ 0.5 × 0.44 W/K × ~18 K ≈ 4 W. Net stored ≈ (14.9 − 4) × 900 s ≈ 9,800 J → ΔT ≈ 9,800 / 500 ≈ **19.6 K** (v0.2: 16 K; chassis-only, ~290 J/K, would be ~34 K — the coupled PCBs and frame pull it down). Starting at 25 °C ambient the skin reaches **~45 °C at the end of the card** (v0.2: ~41 °C) — at the 45 °C warning, **below the 48 °C cap**. A second card back-to-back reaches the 48 °C trigger within a few minutes and is capped to 2.5G (~half the heat) — still faster than any venue uplink. **Time to the 48 °C cap:** from 25 °C (ΔT 23 K) ≈ 23 × 500 ÷ 10.9 ≈ 1,050 s ≈ **17 min** (v0.2: ~20 min); from 35 °C (ΔT 13 K; the ramp is shorter, so the average shed is only ~3 W and the net ~12 W) ≈ 13 × 500 ÷ 12 ≈ 540 s ≈ **9 min**. The full exponential lumped solution (τ = C/G ≈ 19 min, asymptote 14.9 ÷ 0.44 ≈ 34 K) gives ~21 min and ~9 min; the linear 17 min is the conservative figure carried in ADR §2/§6.2 and in the fan-gate criterion (a) ("one ~15 min card at 25 °C without throttling; ≥ 8 min at 35 °C") — the model predicts (a) passes with ~1–2 min of margin at 25 °C and ~1 min at 35 °C (verify at EVT). At 35 °C ambient the same burst would end at ~55 °C if unthrottled: the 48 °C cap engages ~9 min in (~270 GB done), dropping Ethernet to 2.5G (SoM 4.0 W, PHY 1.2 W → Σ ~11 W, ~12 W of heat) and the remaining ~240 GB finish at ~280 MB/s in ~14 min. Note that even ~12 W is above the 5.7 W ceiling at 35 °C, so the skin keeps creeping up at ~0.7 K/min while the card finishes; a long queue at 35 °C walks down the §7.2 ladder (2.5G → 1G → duty cycle) rather than settling. **Shutter open (G ≈ 0.41 W/K):** average shed during the ramp ~3.8 W → net ~11.1 W → ΔT ≈ 20 K, end skin ≈ 45 °C at 25 °C; time to 48 °C ≈ 23 × 500 ÷ 11.1 ≈ **~16–17 min** from 25 °C and still ≈ 9 min from 35 °C — marginally worse than closed, within the model's noise; τ ≈ 20 min. Cool-down: with G ≈ 0.44 W/K and C ≈ 500 J/K the time constant is **τ ≈ 19 min** (v0.2: ~20 min — the lower conductance almost exactly offsets the lower mass); from ΔT 20 K to 5 K takes ~26 min. Users doing one card every 30 min never see throttling at ≤ ~26 °C ambient. --- ## 5. Conduction paths (design rules for `08-mechanical.md` / `09-pcb-architecture.md`) ### 5.1 ArchitectureMain board component side faces the **rear magnesium skin**; every > 0.5 W part gets a gap filler to a cast boss on the inside of the skin whose face is machined after casting to 0.10 mm flatness (ADR §8 castability). **The boss faces and the EMI-gasket lands are masked during painting and carry only the ~1 µm chromate-free conversion coat (Gardobond X 4707 / Alodine 5200 class), which is thermally negligible.** No organic coat is allowed under a gap pad: a 60 µm powder coat at ~0.2 W/m·K under a 20 × 20 mm boss adds 60 × 10⁻⁶ ÷ (0.2 × 0.0004) ≈ 0.75 K/W ≈ **6 K at the 8 W SoM peak** (verify) — a masking failure would eat the whole uniformity margin of §3.3. Magnesium is anodic to every other metal in the assembly: pads, graphite and gaskets contact only conversion-coated lands, fasteners into the chassis are Zn-Ni-plated steel or 5056/6061 aluminum with aluminum washers, and threads use aluminum or Zn-Ni inserts (ADR §8; details `08-mechanical.md`). The battery sits on the **front** (cool) side behind the PC frame, separated from the main board by the board itself and a 1 mm air gap plus a 0.5 mm graphite sheet on the board's rear side acting as a lateral spreader and radiative shield toward the pack. ### 5.2 Per-source path | Source | Interface | Target land | Notes ||---|---|---|---|| RK3588 SoM (die under module lid) | 2.0 mm gap filler, 3.0 W/m·K (Bergquist Gap Pad TGP 3000 / Laird Tputty 508 dispensable) over the SoC + PMIC; 25 × 25 mm | Cast Mg boss on rear skin (≥ 2.5 mm wall, R0.5–1.0 fillets, face machined to 0.10 mm; masked bare-conversion pad), made ~2 mm taller with the rear-budget slack (D3) | ΔT pad ≈ 5.5 W × 0.002 m / (3.0 × 0.000625 m²) ≈ 5.9 K — acceptable; the taller boss lets a thicker, more compliant pad absorb SoM-height tolerance without a thinner (hotter) pad elsewhere; go to 5 W/m·K pad if the SoM lid is uneven. Boss geometry is a PoC SoM-selection criterion (ADR §3.1) || ASM2812 | 1.0 mm gap filler 3.0 W/m·K, 12 × 12 mm | Same boss as SoM (masked bare-conversion pad) | ΔT ≈ 1.8 × 0.001 / (3 × 0.000144) ≈ 4.2 K || RTL8126 | 1.0 mm pad 3.0 W/m·K, 10 × 10 mm | Rear skin bottom band (masked bare-conversion pad) | ΔT ≈ 6 K; keep > 25 mm from the SoM boss || MT7925 Wi-Fi module | 1.0 mm pad 3.0 W/m·K over the module shield (22 × 30 mm M.2 Key-E) | Rear skin, beside the SoM boss | 1.0–1.8 W sustained in hotspot/Wi-Fi uploads; ΔT ≈ 1.8 × 0.001 / (3 × 0.00066) ≈ 1 K; the module's own limit is the concern (§6, §12 item 2) || ASM3142 (main board, 0.8 W sustained in the tethered mode) | 0.5–1.0 mm pad | Rear skin bottom band, near Port B | Shares the bottom-band land with the Port B 5 V buck (0.4–0.8 W) || GL9755, GL9750, ASM1064 | 0.5–1.0 mm pads (readers are on the daughterboard, which is padded to the chassis top rail) | Chassis top rail | Each < 1 W || CFe B card | Metal push-push cage → 0.5 mm graphite + 1.0 mm gap filler to the chassis top rail under the slot; the card's own case contacts the cage on both faces | Chassis top rail (magnesium, continuous with rear skin; lies under the parked slats when the shutter is open, §3.4) | Aim: card case ≤ 65 °C at 4 W in USB4 reader mode at 25 °C ambient. Cards without metal cases (some SD-class) rely on air — not a concern at ≤ 1.2 W || NVMe (Pro) | Standard M.2 2280 thermal pad 1.5 mm to a chassis land (like laptops) | Rear skin | 4 W bursts only || ASM2464PD (Pro) | 1.0 mm pad | Rear skin near Port C | 2 W when in use || BQ25792 + inductors, bucks | Pads to the bottom-band land; copper pours + thermal vias under the charger | Rear skin bottom band | Combined 1.5–5 W (charging); keep > 20 mm from the pack NTC region || Battery pack | **No** coupling to chassis heat path; 2 mm PORON, the cell holder touches the PC frame only | — | Pack must stay < 45 °C to charge; §7 derates charging when skin > 42 °C | Freed rear-face area (v0.2): the ~30 × 52 mm zone that held the M.2 Key-B modem slot and its dedicated boss (ADR §9) is available as **additional spreader contact** — the SoM/ASM2812 boss land extends over it. With the modem gone the tallest rear-face part is the SoM/NVMe stack (~4.5–4.7 mm), so the 6.5 mm uniform rear budget carries ~2 mm of slack; **decided (D3, ADR §2/§13): the enclosure stays 38 mm and the slack goes to SoM boss height and thicker gap pads** — no dimensional change to the drawings. Spreading in a 1.6 mm AZ91D skin is ~25 % worse than in the aluminum skin of v0.2 (§3.3), which is one more reason to make the boss land as wide as the freed zone allows: the boss, not the wall, does the lateral spreading. ### 5.3 Internal airThe remaining internal volume (~150 mL of air) is a poor conductor; aim to make it irrelevant: every significant source is padded, so air only carries the sub-0.5 W leftovers to the PC frame. Do not rely on internal convection — the device operates in every orientation. ### 5.4 Rear-skin ribs and surface- Longitudinal ribs on the rear skin: 1.5 mm high, 1.2 mm thick (D4.6 castability: rib thickness 1.2 mm, height ≤ 3 × the 1.6 mm wall, R0.5 root fillets, ≥ 1° draft), 6 mm pitch across the 190 × 96 rear → +~4,500 mm² (+25 % of the rear face). They also stiffen the skin for drop and give grip. Deeper fins are not worth it in free convection (fin efficiency falls off in a k ≈ 72 material and the table blocks them). The ribs under the parked shutter slats stop working when the shutter is open (§3.4).- **Exterior finish (D4.3): chromate-free conversion coat over the whole casting + light matte grey powder coat or e-coat, 40–60 µm, on all external surfaces, ε ≈ 0.9.** Light rather than black because the emissivity in the thermal infrared is the same (≈ 0.9 for any organic coating) while the solar absorptance drops from ~0.9 to ~0.4 — outdoors that is the difference between ~15 W and ~6–7 W of sun load on the rear face (§11 sun test). Inside surfaces: conversion coat only; the gap-pad bosses and EMI lands are masked from the top-coat (§5.1). PEO (Keronite/Tagnite class) under the same top-coat is the alternate for a later salt-fog claim and changes nothing thermally.- No vents, no membranes (IP54 with the shutter closed; Gore-type vents are for pressure equalization, not heat — one small ePTFE vent *is* recommended to equalize pressure during altitude/temperature swings so seals are not pumped; it moves no meaningful heat). --- ## 6. Sensors | Sensor | Location | Read by | Rate | Purpose ||---|---|---|---|---|| RK3588 internal TSADC (SoC, GPU, DDR zones) | SoM | SoC (kernel thermal zones) | 1 s | DVFS trip points 85/95 °C || CFe B / CFe A card SMART composite temperature (NVMe log page 2) | card | SoC (`nvme smart-log`) | 5 s while reading | Pause slot at 70 °C; user warning "card is hot" || NVMe SSD SMART (Pro) | M.2 | SoC | 5 s | Pause quick-copy at 70 °C || MT7925 module temperature (`mt76` hwmon thermal zone) (verify availability) | M.2 Key-E | SoC | 5 s while TX | TX duty backoff at 85 °C; STA idle only at 95 °C (verify vendor limits) || RTL8126 PHY temperature (register) (verify availability) | main board | SoC | 10 s | Cap to 2.5G at 85 °C die || **Skin NTC #1** — inside rear skin above the SoM boss | chassis | EC (ADC) | 1 s | Primary skin proxy (metal) || **Skin NTC #2** — inside rear skin bottom band (charger / PHY / Port B buck) | chassis | EC | 1 s | Second skin proxy; charger and tether-charge derate || Front-frame NTC — glued to the inside of the PC frame near the OLED | frame | EC | 1 s | Plastic skin proxy (55 °C limit) || Ambient / internal air NTC — front cavity near the battery, shielded from sources | cavity | EC | 1 s | Ambient estimate; **thermal-safety air threshold (60 °C trip / 45 °C resume)** || Battery NTC ×2 | pack cells | BQ40Z50 → EC via SMBus | 10 s | JEITA charge window, 60 °C discharge cut || Ambient light sensor (optional, shares the OLED lens) | front | EC | 1 s | Auto-dim | **Thermal-safety thresholds (ADR §3.5, D2) — the top rung of the ladder in §7.2:** skin (NTC #1/#2) ≥ **52 °C**, internal air ≥ **60 °C**, battery ≥ **55 °C**, or any component limit crossed. Resume: skin ≤ 42 °C and air ≤ 45 °C. These sit above every throttling trigger so the ladder always gets a chance to act first; they are what protects a device that is covered or packed away mid-job. Skin temperature is estimated, not measured at the exterior: T_skin ≈ T_NTC − (q_local × R_wall), with R_wall of the 1.6 mm magnesium wall (k ≈ 72) plus the 40–60 µm top-coat ≈ 0.002 K/W over a boss-sized patch — the inside-wall NTC *is* the skin temperature to within 1 K. The front-frame NTC needs a 2–3 K correction for the PC wall (calibrated at DVT with thermocouples). --- ## 7. Throttling policy ### 7.1 Principles- Throttle *throughput*, never data integrity: pauses are always at part boundaries with the manifest flushed (as in the low-battery flow, `05-power-budget.md` §10).- Throttle the *worst offender for the current mode* first (Ethernet link rate on 5GbE, upload duty cycle on Wi-Fi/hotspot/tethered uploads, card read rate in reader mode), and tell the user why ("Slowed to stay cool — 47 °C").- Hysteresis of 3 K on every trigger; minimum dwell 60 s per state so throughput does not oscillate.- Hard limits (component protection) are separate from skin limits (touch safety) — both are enforced; skin limits usually engage first. ### 7.2 Policy table | Trigger (sensor) | Level | Action | Release (hysteresis) ||---|---|---|---|| Skin metal ≥ 42 °C (NTC #1/#2) | Notice | Derate charge current to 3 A; log | < 39 °C || Skin metal ≥ 45 °C | Warn | OLED/app "Warm"; pre-emptively cap Ethernet negotiation to 2.5G if a new link comes up; Port B tether charging to 0.5 A (protects a phone lying in the same sun; saves ~0.3 W in our Port B buck) | < 42 °C || **Skin metal ≥ 48 °C** or plastic ≥ 55 °C | **Throttle 1** | Ethernet renegotiate to 2.5G (−0.7 W PHY, −1.5 W SoM); Wi-Fi/hotspot/tethered uploads duty-cycled 60 s on / 20 s off (−0.9 W avg in hotspot mode, −1.4 W at 80 MB/s Wi-Fi: a quarter of the active-minus-idle delta); CFe read rate capped at 800 MB/s in reader/quick-copy modes; charge current 1.5 A | < 45 °C || Skin metal ≥ 50 °C or plastic ≥ 57 °C | **Throttle 2** | Pause card reads (uploads pause at part boundary); Wi-Fi to STA idle / tether link kept up but idle (Port B VBUS stays at 0.5 A so the tether does not drop); stop charging; OLED "Cooling down — resumes at 47 °C"; app push. (v0.2 placed this rung at 52 °C; it moves down 2 K so the thermal safety rule owns 52 °C.) | < 47 °C || **Thermal safety rule (ADR §3.5, D2): skin metal ≥ 52 °C, or internal air ≥ 60 °C, or battery ≥ 55 °C, or any component limit still exceeded after its component rung** (typically a device covered or packed away mid-job) | **Safety** | EC asks the job engine to **checkpoint every job** (finish the current part, record offsets, flush the manifest — same flow as the 5 % battery event, `05-power-budget.md` §10.1); SoC unmounts and powers down all slots and radios; Port B VBUS off; charging off; device enters **standby** (SoC off, EC on); OLED "**Too hot — paused, will resume**"; app notified over BLE. EC keeps sampling. | **Auto-resume when skin ≤ 42 °C and internal air ≤ 45 °C**, provided the link and the cards are still present: EC boots the SoC, jobs resume from the manifest. If cards were removed, the queue waits for them as after any power loss. || Hardware backstop | Backstop | **Independent 48 °C mechanical thermal switch** (ADR §3.5) — acts without EC or SoC firmware; the circuit it interrupts and its location are fixed at EVT schematic release (verify; it must sit where 48 °C means a fault, not the normal skin cap — e.g. on the charge path / pack, not on the SoM boss) | self-resetting || SoC zone ≥ 85 °C | Component | Kernel DVFS step-down (A76 2.4 → 1.8 GHz); at 95 °C → 1.0 GHz | kernel thermal governor || Card SMART ≥ 70 °C (CFe B/A, NVMe) | Component | Pause that slot; resume at 60 °C; if it recurs 3× in 30 min, cap that slot at 500 MB/s for the session | ≤ 60 °C || MT7925 module ≥ 85 °C (verify) | Component | TX duty cut 50 %; ≥ 95 °C: STA idle only (link kept) | ≤ 75 °C || Battery ≥ 45 °C | Component | Stop charging (JEITA) | ≤ 42 °C || Battery ≥ 50 °C | Component | Pause all radios and card reads (battery is being heated by the system or by sun); at **55 °C the thermal safety rule above takes over** | ≤ 45 °C || Battery ≥ 60 °C / ≤ −20 °C | Protection | BQ40Z50 opens discharge FET → device off | protector recovery || Ethernet PHY die ≥ 85 °C | Component | Renegotiate 2.5G | ≤ 75 °C | ### 7.3 Interaction with the job engineThe thermal manager publishes a `thermal_budget_W` (e.g., 12 → 9 → 6 → 0) and a per-mode recommendation; the job engine chooses how to spend it (e.g., on a hotspot/tether uplink: keep the phone's uplink pipe full for `t_on` then insert idle gaps, since the SoM + radio at their most efficient rate for 60 % of the time beats 100 % of the time at a trickle for the same heat; on 5GbE: drop the link rate, since PHY and SoM power both scale with it). The thermal safety rule is the one rung that bypasses the budget negotiation: the EC sends a `thermal_standby_request`, the job engine has the same 20 s budget as the low-battery pause to checkpoint and acknowledge, and the EC's 30 s hard-cut timer backs it (`05-power-budget.md` §10.1). The v0.2 in-bag detection heuristic (former §7.3) is deleted with D2. --- ## 8. Uplink-specific strategy (phone hotspot / USB tether / USB cellular adapter) - The cellular uplink is no longer our hot case: the RF PA and its 2–6 W of poor-signal heat live in the phone or USB adapter, outside the enclosure. PoppyUp's own cost of an uplink is 1.0 W of MT7925 TX (hotspot) or 0.8 W of ASM3142 (tether), and because the phone's uplink (2.5–10 MB/s) is the bottleneck the SoM idles most of the time at ~3 W. Both modes are ~8 W of heat and sit under the passive ceiling (§3.3).- **Burst-and-cool beats continuous** at a fixed thermal budget: the SoM and radio are most efficient at the highest rate the uplink sustains; the job engine should fill the uplink for `t_on`, then idle for `t_off`, with the duty ratio set by the thermal budget. Throughput scales linearly with duty; heat too, so there is no free lunch — but we avoid running at a lukewarm 70 % forever, which keeps the device closer to the limit. This matters only above ~30 °C ambient.- **The phone is now the hot part.** A phone tethering over 5G NR in the sun throttles its own modem long before we throttle; charging it at 3 A from Port B adds up to 7.5 W more to *its* heat. Hence the 1.5 A default (ADR §13 item 14), the 0.5 A step at skin ≥ 45 °C (§7.2), and the app guidance: keep the phone in shade, and **do not rest the phone on PoppyUp's rear skin — it is the heat spreader and runs at up to 48 °C by design**. A USB LTE/5G adapter on Port B dissipates its 2–5 W outside the enclosure and should likewise not lie on the rear skin.- User guidance (documentation + app tips): operate on a desk or table in free air (ADR §1); stand the device on its bottom edge (both large faces convect); a bag is for transport — take the device out before starting a job, and if it is packed away mid-job the thermal safety rule pauses it and resumes it by itself (§7.2); at ambient > ~26 °C expect back-to-back 5GbE cards to drop to 2.5G; hotspot and tethered uploads run indefinitely to ~30 °C, Wi-Fi at 80 MB/s and the USB4 reader are at the limit on a 25 °C desk (§3.3).- Layout: the Port B receptacle, the ASM3142 and the Port B 5 V buck sit in the bottom band with the charger; their 1.2–1.6 W joins the bottom-band land budget and NTC #2 (§5.2, §6). The SoM boss in the centre of the rear skin is now the only large source, which simplifies the spreader (§5.2). --- ## 9. Optional active-cooling variant (reserved envelope) - Concept: a **sealed through-tunnel** — a 20 × 60 mm rectangular magnesium duct cast into the rear/bottom skin with a 40 × 40 × 10 mm IP-rated fan (e.g., Sunon/Delta IP68 series) at one end, air in/out through grilles on the two short ends. The electronics cavity stays sealed; the duct walls are part of the heat-spreading chassis. This is how Toughbook/Getac rugged laptops cool.- Gain: forced convection in the duct adds ~4–6 W of dissipation at ΔT 20 K (h ≈ 30–50 W/m²·K over ~0.005 m²). Sustainable power rises from ~10 W to ~15 W at 25 °C ambient — enough to hold continuous 5GbE upload (14.9 W of heat) without throttling.- Cost: fan + grilles + duct volume ≈ $6–9 BOM, +35 g, +1.0–1.5 W when running (−8 % runtime in the modes that need it), acoustic noise (~28 dBA) on a film set (unacceptable on set → fan disabled by a "quiet" setting, defeating the purpose), dust accumulation in the duct, a second ingress path for water.- **Decision (D5): passive for EVT; the envelope stays reserved; the fan is designed in or out at the EVT-exit gate on measured data, not on this model.** The mechanical envelope keeps a 20 × 60 mm zone along the bottom-rear edge free of components (`08-mechanical.md` §6) so the duct can be added for DVT without moving the main board.- **EVT-exit fan gate (ADR §12, D5)** — measured on magnesium units, AZ91D-corrected (§11), desk, free air, shutter closed *and* open. Pass = all of: **(a)** one 512 GB 5GbE upload (~15 min) completes without throttling at 25 °C and runs ≥ 8 min at 35 °C before throttling; **(b)** Wi-Fi upload at 80 MB/s and USB4 reader mode each run ≥ 60 min at 25 °C without throttling; **(c)** hotspot/tether upload runs indefinitely at 30 °C; **(d)** skin ≤ 48 °C metal / 55 °C plastic throughout. **Any fail → the sealed tunnel fan is designed into DVT.**- **What this model predicts:** (a) passes — ~17 min to the cap from 25 °C, ~9 min from 35 °C (§4), i.e. 1–2 min of margin; (c) passes — hotspot/tether ceiling 30 °C closed / 29 °C open (§3.3), so the open-shutter case is the one to watch; **(b) is marginal** — Wi-Fi 80 MB/s (10.1 W) and USB4 reader (10.2 W) settle at ΔT ≈ 23 K, i.e. 48 °C at 25 °C ambient with the shutter closed and ~49 °C open; a ≥ 1 K model error either way decides it. If the fan comes in, it adds ~4–6 W of dissipation (+0.2–0.3 W/K) for ~1 W of fan power and ~35 g, and lifts (b) clear and (a) to "no throttling at 35 °C".- If (b) fails narrowly, the cheaper alternatives to check before committing to the fan: raise the SoM/ASM2812 boss land area (the uniformity factor is the single largest lever, §3.3), an on-edge desk stand in the box (h 9 → 10), and a firmware Wi-Fi rate cap at ~60 MB/s in reader-adjacent modes. --- ## 10. Cold - Operating floor −20 °C (ADR §2). Li-ion discharge is allowed to −20 °C (capacity ~70 % at −20 °C for 50E class; Molicel P45B holds ~85 %) — the fuel gauge's Impedance Track compensates the runtime estimate for temperature. **Charging is disabled below 0 °C** (JEITA) and limited to 0.25 C at 0–10 °C; the app explains "too cold to charge". Self-heating from operation (the pack sits on the cool side deliberately, so it warms slowly — ~1 K per 10 min at 10 W dissipation) eventually re-enables charging.- OLED (−40 to +70 °C) and all silicon are fine. CFexpress cards are typically rated −10 to +70 °C operating (verify per vendor); SD −25 to +85 °C. We do not warm the slots.- Condensation: moving a cold device into a warm humid room fogs internals if the shutter is open. IP54 does not prevent this. Guidance: keep the shutter closed for 10 minutes when coming indoors; the humidity sensor (optional on the EC, e.g., SHT40, +$1) can warn "condensation risk — wait before inserting cards". PCBs get a conformal coat on the reader daughterboard (slots are the ingress point).- Below −20 °C the protector opens; the EC continues on the AON LDO and shows "Too cold" if the button is pressed. --- ## 11. Validation plan | Stage | Test | Setup | Pass criteria ||---|---|---|---|| PoC (dev kit) | Component power/heat truthing | Dev board + MT7925 module + CFe B adapter + a USB-tethered iPhone/Android on a host port; thermocouples on SoC lid, Wi-Fi module, card case; current shunts per rail incl. Port B VBUS | Measured vs ADR §6.1 within ±20 % (MT7925 light-duty TX and ASM3142 active are the least-characterised rows); feeds ADR update || EVT | Thermocouple map (12 channels: SoM lid, ASM2812, MT7925, PHY, CFe B case, NVMe, charger / Port B buck, 4 skin points, pack) in the **machined AZ31B magnesium chassis** (k ≈ 96 W/m·K vs ≈ 72 for production AZ91D — apply the coupon-test correction below before comparing with §3/§4 or calling the fan gate; or build the thermal units from thixomolded / T0 die-cast AZ91D shots); each ADR §6.2 mode for 60 min at 25 °C, the hotspot/tethered modes again at 30 °C and 35 °C, the 5GbE burst at 25 °C and 35 °C; **shutter closed and shutter open** | Bench, still air, desk, device standing on bottom edge and lying flat | Steady-state skin ≤ 48 °C metal / 55 °C plastic per the fan-gate criteria (§9, D5): (a) 5GbE card completes at 25 °C, ≥ 8 min at 35 °C; (b) Wi-Fi 80 MB/s and USB4 reader ≥ 60 min at 25 °C; (c) hotspot/tether indefinitely at 30 °C; MT7925 ≤ 85 °C (verify); card ≤ 65 °C || EVT | **AZ31B → AZ91D correction coupon test** | Two identical plate-and-boss coupons (1.6 mm wall, SoM-boss geometry, same conversion coat + top-coat, masked boss), one machined AZ31B and one AZ91D (T0 shot or thixomolded); 8 W heater on the boss, thermocouples at the boss face and at 20/40/60 mm; still air | Measured spreading ΔT ratio AZ91D/AZ31B within ~1.2–1.4 (model ~1.3); publish the correction applied to all EVT skin data; if the ratio is > 1.4 the §3.3 uniformity factor and the ADR §2/§6.2 ceilings are revised before the fan gate || EVT | **Open- vs closed-shutter steady-state comparison** | Wi-Fi 80 MB/s upload and hotspot upload, 60 min each at 25 °C, shutter parked open vs closed, same unit, same stance; skin thermocouples on the slat band, on the SoM boss and on the slats' outer face; CFe B case in USB4 reader mode with the shutter open | Area-average skin ΔT +1–1.5 K open vs closed (model: G −5…7 %, §3.4); SoM-boss hotspot unchanged within 0.5 K; card case ≤ 65 °C; if the loss is > 10 % the open-shutter ceilings in ADR §6.2 move || EVT | IR imaging (FLIR) of exterior and open chassis | Same | Identify hotspots > 5 K above average → pad/boss changes before DVT tooling || EVT | Throttle policy tuning | Force each trigger; measure oscillation and throughput | No limit cycling; dwell ≥ 60 s; throughput monotonic with budget || DVT | Thermal chamber −20 / 0 / 25 / 35 / 40 °C, all modes, 2 h each, on **thixomolded / T0 AZ91D chassis** (production alloy — no correction) | Chamber with a Wi-Fi AP, a 5GbE switch, and a phone (hotspot and USB-tethered on Port B at 0.5 / 1.5 A on battery and at 3 A with a PD source attached) inside the chamber — the phone's own thermal behaviour is part of the result; no cellular test set needed | Runtime and throughput tables published; charging behaviour vs JEITA verified; phone-charge current actually delivered at each setting logged; EVT AZ31B-corrected predictions confirmed within 2 K || DVT | **Thermal safety rule test** (replaces the v0.2 in-bag test, D2) | Device mid-upload (hotspot and Wi-Fi 80 MB/s cases) is wrapped in an insulating blanket / packed into a closed padded bag with cards and link (hotspot phone) still present; repeat with the shutter open and closed | Ladder runs 45 → 48 → 50 °C rungs first; safety rule fires at skin 52 °C / air 60 °C / battery 55 °C, whichever first, **before any component limit**; every job is checkpointed (manifest consistent, no lost parts); slots/radios/Port B off; OLED "Too hot — paused, will resume"; BLE notification received; after unwrapping the device **auto-resumes at skin ≤ 42 °C / air ≤ 45 °C** and completes the job; 48 °C mechanical switch never trips in this flow || DVT | Sun-load test | 1,000 W/m² solar simulator (or outdoor at noon), production light matte grey finish, 5GbE upload burst then hotspot upload steady state | The light coat (α_solar ≈ 0.4, ε ≈ 0.9) absorbs ~6–7 W on the rear face (a black finish would have absorbed ~15 W); expect the 5GbE burst to reach the 48 °C cap several minutes earlier than in shade and hotspot upload to be marginal in direct sun at ≥ 25 °C. Document the guidance ("shade the device"); confirm ε ≥ 0.85 of the production coat with an emissometer on coupons || DVT | Touch-temperature compliance | Per IEC 62368-1 clause 9 (verify) with calibrated surface probe | Limits held in all sustained modes with throttling active || PVT | Production sample check | 5 units (production AZ91D die-cast + coating), 25 °C, 5GbE burst + hotspot-upload steady state, shutter closed | Within 3 K of DVT golden results (pad application and boss-masking quality check) | --- ## 12. Open items 1. **Magnesium thermal correction (D4):** EVT thermal units are machined AZ31B (k ≈ 96 W/m·K), production is AZ91D (k ≈ 72) — ~30 % apart on the spreading term, ~1 K at the SoM boss at 8 W. The coupon test (§11) fixes the correction; until it exists no EVT skin reading may be compared with the ADR ceilings or used to call the fan gate. Alternative: thermal units from thixomolded / T0 AZ91D shots. All Mg material data are "(verify)" against the supplier datasheet.2. MT7925 module: confirm the `mt76` hwmon temperature is exposed on the MT7925 and the vendor's module case-temperature limit at 1.0–1.8 W sustained TX; decide whether the M.2 Key-E module gets a pad (assumed yes, §5.2) (verify).3. The 3.4 W charging adder makes "upload + fast charge at 35 °C" impossible without derating; policy is charge derating first, throughput second — confirm with product owner.4. Humidity sensor for condensation warning: +$1, recommend yes.5. Whether the reader daughterboard's chassis rail gives enough contact area for the CFe B cage pad (needs ≥ 400 mm²) — mechanical detail for EVT.6. **Coating under the bosses (D4.3):** the SoM/ASM2812/RTL8126 gap-pad bosses and the EMI-gasket lands must be masked from the 40–60 µm powder/e-coat and carry only the ~1 µm conversion coat. A masking failure costs ~0.75 K/W ≈ 6 K at 8 W on the SoM boss (§5.1, verify) — add a boss-surface check (visual + contact-resistance) to the incoming inspection and to the PVT sample check. *(v0.2 item 6 — 36 mm option — closed by D3: 38 mm, slack to boss height and pads.)*7. **Open-shutter validation (D11):** the parked slats over the top ~40 mm band are modelled as a 1–2 mm still-air gap in series with the slat's outer face (h_eq ≈ 5.9 W/m²·K, G −5…7 %, §3.4) — unvalidated. The EVT open-vs-closed comparison (§11) decides; if the loss is > 10 % the open-shutter ceilings in ADR §6.2 move, and the CFe B card case under the band in USB4 reader mode is the component to check. *(v0.2 item 7 — ~31 vs ~35 °C hotspot ceiling — resolved: the ADR now carries the conservative 30 °C closed / 29 °C open.)*8. Phone-side heat is outside our control but inside the user's experience: define at PoC how the app reports "phone is throttling its uplink" (throughput collapse with the link still up) so it is not mistaken for a PoppyUp fault.9. **Fan gate (D5):** decided at EVT exit on AZ91D-corrected data against criteria (a)–(d) (§9). The model predicts (a) and (c) pass with 1–2 min / ~0–2 K of margin and (b) marginal (Wi-Fi 80 MB/s and USB4 reader at 25 °C sit exactly at the 48 °C limit); the low-cost mitigations to try before the fan (wider boss land, on-edge stand, Wi-Fi rate cap) are listed in §9. Fan envelope stays reserved in `08-mechanical.md` §6 until the gate.10. **48 °C mechanical thermal switch (ADR §3.5):** the hardware backstop's location and the circuit it interrupts are not yet specified in any document (`05-power-budget.md` §12 / `08-mechanical.md`); at 48 °C it coincides with the normal skin cap, so it must sit where 48 °C indicates a fault (charge path / pack region), not on the SoM boss — fix at EVT schematic release (verify).