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

docs/06-thermal.md

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

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 area

Enclosure 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 coefficient

Free 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 operation

Not 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 Architecture

Main 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 air

The 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 engine

The 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.


  • 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).