Smart Mirror / Vanity Light Hardware: LED, Touch, Anti-Fog, BT
← Back to: Smart Home & Appliances
Focus: a smart mirror / vanity light mainboard where LED lighting, wet-touch UI, anti-fog heating, Bluetooth audio, and ambient sensing must coexist under rugged power/EMC constraints. Content stays within this device boundary (no gateway/protocol deep dives).
System Boundary & Block Diagram (6 domains + coupling map)
Establish a strict system boundary and a measurable “coupling map” for the six domains: Input Power, LED Lighting, Touch/UI, Anti-fog Heating, Audio, and Sensing. The goal is to prevent common cross-domain failures (flicker, false touch, RF dropouts, audio noise) by defining which domains may share return paths and which must be partitioned.
- Input Power Domain: surge/ESD/EFT entry, inrush behavior, brownout margin, isolation/leakage baseline.
- LED Lighting Domain: LED current ripple, PWM/CCT dimming behavior, thermal derating triggers.
- Touch/UI Domain: raw capacitance counts, baseline drift under moisture, noise injection at sampling windows.
- Anti-fog Heating Domain: heater current steps, temperature feedback integrity, fail-safe cutoffs.
- Audio Domain: noise floor, pop/click events, class-D return currents, supply ripple coupling.
- Sensing Domain: ALS stability under PWM light, proximity false triggers, sensor bias/reference integrity.
-
Conducted coupling (shared rails): LED/Heater switching → rail ripple/sags → MCU resets, touch baseline shifts.
Evidence: TP1 main rail ripple + TP2 3.3V sag aligned with PWM/heater edges. -
Ground bounce / return path intrusion: high di/dt loops cross sensitive references → false touch, audio hiss, RF instability.
Evidence: local ground step near touch/RF/audio references under LED/heater load. -
Capacitive injection: heater/LED switch-node edge couples into touch electrodes → periodic false triggers.
Evidence: touch raw counts show comb-like periodicity at PWM frequency. -
RF detuning / near-field coupling: metal frame/heater sheet/wiring alters antenna match → dropouts only in certain modes.
Evidence: RSSI and retry rate shift when heater/LED mode changes or hand proximity changes.
- TP1 (Main rail): ripple + transient sag during LED PWM steps and heater on/off edges.
- TP2 (MCU/Touch rail): 3.3V (or digital rail) sag, reset flags/brownout counters, PG glitches.
Interpretation: if TP1 sags, treat as entry/power capacity/loop stability; if TP1 is stable but TP2 sags, treat as local regulation/return path/decoupling.
Power Tree & Safety Baseline (rails, protection chain, leakage)
Define a power tree that matches domain sensitivity and a safety baseline suitable for wet-area installation. This chapter locks the “entry → rails → protection → cutoffs” chain so that field failures can be isolated by checking rail behavior before blaming algorithms or radios.
- AC-DC path: offline supply or external adapter; focus on surge/inrush, isolation, and leakage to accessible metal parts.
- DC-in path: 12V/24V class entry; focus on reverse polarity, line EFT, connector ESD, and local hold-up for load steps.
- 3.3V Digital (MCU/UI): resets and event logging depend on this staying above UVLO during load steps.
- Touch Reference / Analog: needs a quiet reference; moisture amplifies baseline drift when reference is polluted.
- RF / BT Rail: noise floor impacts RSSI/retry; keep local filtering and return-path control.
- Audio Rail (amp): class-D current returns can inject noise; isolate from touch/RF references.
- LED Rail: high di/dt switching; treat as a noise source with tight loop and local decoupling.
- Heater Rail: continuous power + switching edges; keep independent switching/return and hard fail-safe cutoffs.
- Entry layer: fuse/PTC + inrush limiting (NTC or controlled switch) + TVS/MOV + common-mode/LC where needed.
- Rail layer: UVLO/OVP/OCP/OTP per sensitive rail (eFuse/high-side switch where appropriate) to prevent “mystery resets”.
- Load safety:
- Heater: temperature feedback + hard over-temp cut (thermal cutoff / thermostat) + sensor fault handling (open/short).
- LED: open/short protection + thermal derating + controlled dimming edges to reduce EMI and flicker artifacts.
- TP1 (Main rail): measure sag + recovery time at worst-case edges (LED PWM step + heater switch).
- TP2 (3.3V/MCU): measure sag + PG/reset behavior; log brownout counters and reset reasons.
Rule of thumb: TP1 sag indicates entry capacity/inrush/loop stability; TP2-only sag indicates local regulation, decoupling placement, or return-path corruption.
- Leakage awareness: moisture increases surface leakage; leakage paths can shift touch reference and raise noise floor.
- Accessible metal parts: define a clear boundary for what may carry noisy return currents vs what must remain quiet.
- Fail-safe defaults: heater must fail OFF on sensor faults; LED must fall back to safe brightness without uncontrolled flashing.
LED Lighting Chain (constant-current, dimming, CCT, low-flicker)
The LED chain is treated as an evidence-driven system: LED current waveform + LED rail ripple must explain the user-visible outcomes (flicker, camera banding, CCT drift). The design target is stable brightness and color across deep dimming, while preventing LED switching activity from polluting touch/RF/audio domains.
- Visible flicker rises when PWM frequency drops, or when the LED driver enters burst/skip behavior at low current.
- Camera banding appears when PWM interacts with rolling shutter timing; stable, sufficiently high PWM helps reduce aliasing.
- Deep dimming strategy: avoid “frequency-droop dimming”; prefer stable PWM with controlled edges, plus analog current scaling when needed.
- Isolation from other domains: LED current-loop and switch-node must not inject into touch reference or RF supply rails (return-path discipline).
- Current ratio accuracy: warm and cool channels need matched current control; mismatch shows as color tint and uneven brightness.
- Thermal drift: LED Vf and sense elements drift with temperature; without compensation, CCT shifts after warm-up.
- Transition control: CCT change should be monotonic (no overshoot) to prevent “color flicker” during mode transitions.
- LED current waveform: look for low-frequency envelope, burst/skip signatures, and edge ringing under deep dimming.
- LED rail ripple: correlate ripple/sags with PWM steps and CCT transitions (especially at the lowest brightness levels).
- Visual outcome: record flicker/camera banding at the same time as waveform capture to avoid subjective debates.
Touch & UI (wet-finger robustness under condensation)
Wet-area touch must be treated as a measured system, not a “feel” adjustment. Robustness is defined by three metrics: raw counts, baseline drift, and false touch rate. These metrics must be evaluated against LED PWM steps and anti-fog heater switching to prove whether failures come from moisture physics or electrical coupling.
- Thin water film: slow dielectric change shifts baseline and narrows margin to the touch threshold.
- Droplets / moving water: fast transient capacitance spikes cause false triggers without true finger contact.
- Condensation build-up: gradual drift during warm-up/cool-down; often worsens with repeated heater cycles.
- Raw counts: time-aligned with LED PWM steps and heater switch edges to catch synchronous injection.
- Baseline drift: slope over minutes under humidity/condensation; shows slow water-film accumulation.
- False touch rate: events/minute in fixed test conditions (dry / humid / heater ON / dimming sweep).
Interpretation: synchronous spikes suggest electrical coupling; monotonic drift suggests moisture-driven baseline shift.
- Keep touch electrodes away from switch nodes (LED driver node, heater switch node) and avoid parallel routing.
- Touch reference must remain quiet: prevent LED/heater/audio return currents from sharing the same reference path.
- Schedule matters: avoid sampling at the exact moments of large di/dt edges (PWM step, heater switching).
Anti-Fog Heater Control (surface curve, efficiency, absolute safety)
Anti-fog heating is treated as a measurable surface-control problem: the heater must cross the dew-point boundary without creating unsafe touch temperatures or destabilizing touch/RF/audio rails. The core deliverable is a safety-first control chain with evidence points that link heater current, surface temperature rise, and touch false triggers.
- Surface temperature rise curve: cold start → rise slope → settle; the curve must be repeatable across humidity levels.
- Dew-point boundary: anti-fog requires pushing the mirror surface above condensation conditions; under-shoot causes “heated but still foggy.”
- Thermal path: mounting, backing plate, and air flow set the time constant; control strategy must follow the thermal inertia.
- Sensing layer: NTC (or surface sensor) with range + rate checks to catch open/short failures.
- Threshold layer: over-temp threshold policy (reduce power / latch-off) with deterministic recovery rules.
- Hard cutoff layer: thermal switch / thermal fuse that cuts even if control logic stalls.
- Power switch layer: heater switch defaults to fail-safe OFF under controller reset or rail brownout.
- I_HEATER: capture current steps and PWM behavior during warm-up and steady-state.
- T_SURFACE: record rise curve (slope, overshoot, settle) to prove crossing of the dew boundary.
- Touch false rate: compare raw counts / baseline drift / false events under heater OFF vs ON conditions.
Ambient Sensing & Auto Modes (ALS / proximity / temperature)
Auto modes must be stable and explainable. The key risk is a self-excited loop where LED output affects ALS input, producing visible brightness “breathing”. Robust design requires correct sensor placement, anti-occlusion behavior, and a controller that enforces filtering, hysteresis, and slew limits with measurable evidence: ALS ADC versus PWM duty / current target.
- Self-illumination: ALS “sees” its own LED output → forms a loop that can oscillate as brightness updates.
- Occlusion / contamination: steam, droplets, cosmetics, or a hand can bias ALS low and cause abrupt brightness jumps.
- Non-representative view: edge/back placement can under-sample true room lighting, making auto mode inconsistent.
- Filtering: time-average ALS ADC to reject short disturbances (steam bursts, reflections).
- Hysteresis / deadband: avoid frequent direction changes around a target threshold.
- Slew limit: cap brightness step size per update so changes remain imperceptible.
- Sampling discipline: avoid reading ALS during strong PWM edges to reduce aliasing and apparent ADC “shake.”
- ALS ADC trace: log over time with events (steam/hand/approach) marked to validate occlusion handling.
- PWM duty or current target trace: confirm monotonic adjustments without oscillation.
- Breathing signature: periodic anti-phase oscillation between ALS_ADC and PWM output indicates loop instability or self-illumination.
Odor sensing as an engineering proxy: what to measure, what not to claim
The goal is not “odor identification.” The goal is a robust proxy for abnormal operating conditions such as spoilage risk, overheat byproducts, and ventilation blockage, while avoiding false triggers from humidity, splash, and drift.
Signals that are useful (and what they indicate)
Baseline shift
Long-term offset changes typically indicate sensor contamination, aging, or persistent residue in the airflow path.
Short spikes
Single-cycle spikes are often caused by lid events, cleaners, or localized gas pockets. Treat as low confidence unless repeated.
Sustained rise
Multi-window sustained elevation supports vent blocked, residue build-up, or overheat-linked byproducts (confirm with temperature evidence).
Sensor options (engineering attributes only)
What can be trusted vs what must not be promised
| Signals you can use (with conditions) | What not to claim |
|---|---|
| Trend-based abnormality after T/RH gating and stabilization windows (baseline shift or sustained rise across cycles). | “Odor classification” or exact source identification. Single-sample conclusions are unreliable under humidity/splash disturbances. |
| Ventilation effectiveness: fan ON but concentration does not decay in run windows. | Guarantees without airflow context. Airflow path placement can dominate readings more than the chamber itself. |
| Overheat proxy coupling: sustained VOC rise that aligns with dT/dt or hotspot temperature increase. | Claims that ignore temperature evidence. VOC alone cannot distinguish overheat byproducts from cleaners or external exposure. |
Sampling windows: run vs post-run (reduce false triggers)
Closed-loop actions: fan, heater, run-mode, and user prompts
- Soft actions first: boost fan duty, extend purge time, or switch to a lower-power run mode.
- Hard actions when cross-confirmed: stop/cooldown only when temperature evidence also indicates risk.
- User prompts must be concrete: “Clean chamber,” “Check vent path,” “Inspect splash seal” rather than unprovable odor labels.
Figure F6 places VOC and T/RH in stable airflow and highlights zones that frequently create false triggers.
Interlocks as a run gate: prevent unsafe operation and suppress false actions
Interlocks define whether the system may arm and run. Waterproof I/O design determines whether interlock signals remain trustworthy under splash, condensation, corrosion drift, and connector leakage.
Interlock groups (device-level signals and actions)
Waterproof I/O failure patterns and first fixes
Transient false trigger
Water droplets cause threshold jitter and rapid toggling. Fix with debounce, hysteresis input, RC filtering, and margin.
Corrosion drift
Slow changes in contact resistance and leakage paths create intermittent faults weeks later. Add self-check windows and clear fault codes.
Hard short / leakage
Connector leakage or short forces stuck states or cross-coupling. Detect open/short patterns and latch to prevent unsafe run loops.
Interlock table: signal → allowed state → failure symptom → first checks
| Interlock signal | Allowed state | Failure symptom | First checks |
|---|---|---|---|
| Lid / Door closed | Armed → Running | Random stop; repeated arm/disarm; “won’t start” after splash | Debounce time, input threshold margin, connector leakage, event counter |
| Trip input | Must latch fault | Immediate stop + cannot restart; repeated fault on retry | Trip line integrity, latch reset rule, overcurrent evidence correlation |
| Water ingress detect | Gate run / reduce confidence | False faults near wet cycles; interlock jitter | Ingress sensor placement, hysteresis, wiring insulation, moisture path |
| Connector health | Stable states only | Stuck-high/stuck-low states; cross-coupling between inputs | Open/short detection, leakage to chassis, corrosion inspection points |
UI alignment rule: never appear “ready” when interlocks are not satisfied
- Safe: motor/heater disabled; UI shows actionable instruction (close lid / check seal).
- Armed: ready indicator only after stable interlocks and basic self-check windows pass.
- Fault-Latched: explicit fault state and reset policy; prevent repeated unsafe attempts.
Figure F7 keeps UI, interlocks, and fault handling consistent to prevent unsafe or misleading operation under wet conditions.
EMC / ESD / EFT / Surge Ruggedization (mirror-light entry points)
Ruggedization is treated as energy routing: transient energy must be captured, slowed, and returned locally at the entry, instead of traversing sensitive references (touch, MCU rails, BT module supply, codec/amp reference). The focus is limited to mirror-light exposure points: touch-panel ESD, input surge, and switching-related EFT (heater/relay paths).
- TVS selection & placement: clamp at the entry so the return path stays local; avoid routing transient current through touch/RF/audio reference zones.
- RC edge limiting: slow sensitive control edges and reduce high-frequency injection into touch/reference nodes (targeted, not everywhere).
- Common-mode choke: apply on long input/harness paths to keep common-mode energy outside the PCB reference ecosystem.
- Shielding & grounding strategy: tie metal frame/backing and shields so ESD/surge currents return locally; do not let them wander across sensitive reference areas.
Likely trigger points: input terminals, rail injection points, MCU rail/RESET vicinity. Evidence: 3.3V/MCU rail dip or RESET event aligned to strike.
Likely trigger points: touch electrode edge, touch connector, bezel near touch traces. Evidence: raw counts/baseline jump with minimal rail disturbance.
Likely trigger points: speaker/heater harness coupling, amp PVDD/BT VDD disturbances. Evidence: pop/noise floor rise plus retry spikes during events.
Validation & Field Debug Playbook (symptom → evidence → isolate → fix)
Each symptom is resolved with a fixed micro-SOP: capture two first measurements (one rail, one domain reference), apply a discriminator that proves the root cause, then execute the first fix action. Probe-point labels are reused so the workflow remains repeatable across builds and field returns.
- First 2 measurements: (1) LED current sense / dimming PWM, (2) LED rail ripple/droop.
- Discriminator: if LED current shape distorts without rail droop, control/dimming path dominates; if rail droop aligns with flicker, power integrity dominates.
- First fix: tighten LED loop/decoupling and return path, then bound dimming slew/avoid sampling-edge collisions.
- First 2 measurements: (1) touch raw counts/baseline, (2) ground bounce at touch reference vs power return during LED/heater edges.
- Discriminator: edge-synchronous jumps indicate return-path injection; slow drift indicates moisture/wet-finger baseline disturbance.
- First fix: enforce touch reference protection and keep-out, then align sampling windows away from high dV/dt edges.
- First 2 measurements: (1) heater current waveform, (2) surface temperature rise (NTC or surface sensor).
- Discriminator: stable current with poor temperature rise indicates thermal path/contact issues; unstable current indicates supply/switching or protection limiting.
- First fix: stabilize heater rail and switching edges; validate safety cutoff behavior before increasing target power.
- First 2 measurements: (1) RSSI + retry indicators, (2) BT module VDD ripple or reference ground bounce during switching.
- Discriminator: acceptable RSSI with high retries points to elevated noise floor/return-path issues; large RSSI swings with posture points to antenna detuning with metal coupling.
- First fix: enforce RF keep-out and quiet supply/return, then revisit antenna placement/match only if required by evidence.
- First 2 measurements: (1) amp PVDD ripple/droop, (2) noise floor at silent content or pop/click event timing.
- Discriminator: switching-synchronous noise indicates rail/return injection; startup-synchronous pop indicates timing/mute sequencing.
- First fix: localize decoupling and contain class-D loops/harness coupling, then stabilize mode-change timing.
- First 2 measurements: (1) MCU/3.3V rail capture, (2) input/5V capture during switching and during ESD exposure tests.
- Discriminator: 3.3V drop without 5V drop indicates local return/decoupling stress; 5V/input disturbance indicates entry ruggedization gaps.
- First fix: strengthen entry clamp/return routing and rail hold-up locally; validate reset chain immunity to fast bursts.
H2-11. IC / BOM Selection Examples (MPNs)
This chapter stays strictly inside a smart mirror / vanity light: LED lighting + wet-robust touch UI + anti-fog heater safety chain + Bluetooth audio coexistence. The lists are intentionally short: select by failure modes (flicker, false touch, heater runaway, audio noise/dropouts) and by coupling paths (ground bounce, conducted EMI, ESD injection).
1) LED Driver (Low Flicker, Dimming Bandwidth, CCT Mixing)
Vanity lights typically demand stable constant-current, deep dimming, and camera-friendly flicker performance. Selection should start from the mirror-specific constraints: metal frame reflections (visible ripple), tight thermal envelope behind glass, and cross-coupling into touch/RF when switching edges are uncontrolled.
Selection levers (mirror-grade):
- Dimming method: prefer true PWM/shunt dimming or high-bandwidth analog dimming that keeps current regulation stable across steps.
- CCT mixing: tunable white needs current matching between warm/cool strings; favor architectures that simplify dual-string regulation or allow two clean channels.
- EMI control: predictable switching frequency and controlled edges reduce conducted noise that otherwise shows up as touch baseline drift or audio buzz.
MPN shortlist (examples):
- TI TPS92515 / TI TPS92515HV — constant-current LED driver family with integrated NFET; useful where efficient dimming and compact layout are needed. (Good fit for mirror light power ranges.)
- ADI LT3796 / ADI LT3796-1 — LED controller for constant-current / constant-voltage regulation; practical when input/output range is wide and protection hooks are needed.
Practical CCT rule: when warm/cool strings share optics, current mismatch becomes “color drift”. Either regulate two strings explicitly, or use two identical driver channels with matched sense networks and thermal placement.
2) Capacitive Touch Controller (Wet-Finger Robustness)
Mirrors operate in a worst-case touch environment: condensation, water films, and grounded metal frames. A wet-robust design needs both front-end technique (guarding/shielding/reference control) and signal integrity discipline (keep high di/dt heater/LED loops away from the touch reference return).
Selection levers (do not skip):
- Guard / shield support: reduces false triggers by controlling fringe fields and water-film coupling.
- Baseline tracking behavior: must tolerate slow humidity drift without “chasing” real touches.
- Noise rejection hooks: configurable acquisition windows and reference strategies help survive heater/LED switching events.
MPN shortlist (examples):
- Microchip AT42QT1110-AUR — 11-key capacitive touch controller family (suits typical mirror button sets + guard usage).
- Microchip AT42QT1070-SSU — 7-channel capacitive touch controller (compact keypads / minimal UI).
- Microchip AT42QT2120-SUR — multi-channel controller commonly used for richer UI patterns (keys/slider-style interactions, depending on electrode design).
Layout discipline: place the touch IC and electrodes as a “quiet island” with a clean reference return; route heater/LED power loops so their return currents never pass through the touch reference path.
3) Anti-Fog Heater Power + Temperature Sense (Absolute Safety Chain)
Anti-fog heaters are the highest-risk block in a mirror: large power steps, proximity to plastics/adhesives, and direct coupling into touch/audio/RF. The BOM should enforce a hard safety chain (electrical protection + temperature sense + fail-safe defaults) that remains effective even under sensor faults.
Selection levers (mirror-safe chain):
- Protection-first switching: current limit + thermal shutdown + fault reporting are preferred over “bare MOSFET only”.
- Inrush and fault containment: protect the shared power tree so heater faults do not reset touch/MCU/BT.
- Sensing placement: temperature sensor location must represent mirror surface thermal reality, not just PCB air temperature.
MPN shortlist (examples):
- TI TPS25947 — eFuse class protection for heater rail or shared input rail (inrush + fault containment).
- TI TPS22965 — load switch for smaller auxiliary rails (e.g., isolating touch/BT/audio rails from transient events).
- TI TMP117 — high-accuracy digital temperature sensor useful for closed-loop heater control and safety thresholds.
- Microchip MCP9808 — digital temperature sensor option for compact, stable sensing loops.
- ST BTA16-600B — TRIAC option when the heater is AC-mains switched (use only if the mirror design truly switches mains; keep isolation/creepage rules).
Fault model to enforce: “sensor open/short” must drive the system to a known safe state (heater off) and log the event. Power-tree containment should ensure heater faults do not collapse the touch/BT/audio rails.
4) Bluetooth Audio SoC / Amp / Quiet Power (No Buzz, No Dropouts)
Mirror audio failures are usually not “audio-only” problems: they are coupling problems. LED and heater switching inject noise into ground/rails, which raises the audio noise floor and destabilizes RF links—especially near a metal mirror frame.
Selection levers (coexistence-first):
- RF placement freedom: module/SoC options that tolerate constrained antenna keepout help with metal-frame products.
- Amplifier integration vs. heat: class-D choices must match exciter/speaker impedance and thermal limits behind glass.
- Quiet power rails: dedicated LDO/buck partitioning prevents LED/heater events from modulating audio/RF supplies.
MPN shortlist (examples):
- Qualcomm QCC3034 — Bluetooth audio SoC option commonly used for compact speaker/headset-class audio designs.
- Espressif ESP32-WROOM-32E — Wi-Fi/Bluetooth MCU module option for mirror control + connectivity integration (when system architecture prefers an MCU module approach).
- TI TPA3110D2 — class-D amplifier option for higher output needs (verify acoustic exciter/speaker impedance and thermal headroom).
- ADI MAX98357A — compact digital-input class-D amplifier option for simple audio paths (e.g., I²S-style integration).
- TI TPD1E10B06 — ESD protection diode option for exposed touch/audio/IO lines at the panel edge.
Minimum debug rule: compare BT link metrics (RSSI/retry rate) and audio noise floor under three states: LED step, heater step, and both combined. The delta identifies whether the dominant path is conducted (rail/ground) or radiated (antenna coupling).
Figure F11 — IC/BOM Map (Mirror-Specific, Coupling-Aware)
H2-12. FAQs ×12 (Evidence-Backed, No Scope Creep)
Each answer is locked to this page’s evidence chain: two quick measurements, a discriminator that proves the root cause, and the first fix action. Topics stay inside the mirror light (LED, wet-touch, anti-fog heater, sensors, BT audio, EMC/ESD, grounding).
1) Deep dimming shows visible flicker or camera banding — what to capture first?
Start with a paired capture that separates control from supply: LED current waveform (I_LED or sense resistor) and LED rail ripple (or upstream 5V ripple). If I_LED distortion appears while rails remain stable, the dimming/control path is dominant. If ripple/droop aligns with flicker, power integrity dominates.
- First 2 measurements: I_LED waveform + LED rail (or 5V) ripple
- Discriminator: current-shape failure without droop vs droop-synchronous flicker
- First fix: tighten local decoupling/return for LED loop; bound dimming edge rate and sampling collisions
2) CCT (warm/cool mix) looks fine cold, but shifts after heating — mismatch or thermal drift?
Capture warm-string current and cool-string current together with a temperature trace (NTC or digital sensor). If the current ratio changes with temperature, the shift is electrical/driver matching. If both currents stay matched yet CCT shifts, the cause is optical/thermal (LED bins, diffuser, or heat spreading) rather than regulation.
- First 2 measurements: I_WARM vs I_COOL + temperature rise
- Discriminator: current-ratio drift vs stable currents with CCT shift
- First fix: improve dual-channel current matching and thermal placement; limit high-temp drive if needed
3) After steam or condensation, touch becomes “jumpy” or triggers phantom taps — baseline drift or noise injection?
Log touch raw counts/baseline drift while toggling heater and LED states, and probe touch-reference ground bounce (or reference rail noise). If false touches correlate tightly with heater/LED edge events, injection via return paths is dominant. If drift is slow and not edge-synchronous, moisture film and baseline tracking behavior dominate.
- First 2 measurements: raw counts/baseline + touch reference bounce during switching
- Discriminator: edge-synchronous spikes vs slow drift
- First fix: enforce touch “quiet island” return/keepout; align acquisition windows away from high dV/dt edges
4) Touch is stable when idle, but drifts right after brightness changes — how to prove switching-edge coupling?
Correlate touch baseline jumps with PWM edges and sampling windows, then sweep PWM frequency or shift sampling timing if configurable. If the false-touch rate changes strongly with PWM frequency/timing while humidity is constant, the root cause is switching-edge coupling into the touch reference, not “random” sensor instability.
- First 2 measurements: touch baseline vs time + PWM edge timing
- Discriminator: error probability changes with PWM frequency/window placement
- First fix: separate returns, add targeted RC edge control, move sampling windows off noisy intervals
5) Anti-fog heating is slow or patchy — heater film issue or control/power issue?
Capture heater current waveform (I_heater) and the mirror surface temperature rise curve. Stable current with weak temperature rise indicates a thermal path/contact issue (film bonding, heat spreading) rather than electrical control. Unstable current or current limiting aligned with poor heating indicates supply limitations, protection foldback, or switching issues.
- First 2 measurements: I_heater waveform + surface temperature rise
- Discriminator: stable I but weak ΔT vs unstable I / foldback
- First fix: stabilize heater rail and switching edges; verify safety thresholds before raising power
6) Heater turns off early or “hunts” on/off — threshold too tight or sensor fault behavior?
Compare temperature readings with heater current around the shutdown event. If temperature shows abrupt jumps or impossible steps, suspect sensor wiring/placement or fault handling. If temperature is smooth but shutdown repeats near the setpoint, control hysteresis and threshold margins are likely too aggressive. Validate that open/short sensor states force a safe heater-off mode.
- First 2 measurements: temperature trace + I_heater around trip
- Discriminator: discontinuous temp steps vs smooth temp near setpoint
- First fix: enforce fail-safe fault states; widen hysteresis and verify cutoff strategy
7) Auto-brightness “breathes” (pulses up/down) — ALS placement or unstable control loop?
Record ALS ADC values and LED PWM/current over time under steady ambient light. If ALS readings are noisy or periodically occluded (reflective mirror geometry, shadowing), the controller will chase a moving target. If ALS is stable but PWM oscillates, loop gain or filtering is incorrect. Use a slower filter or add hysteresis to avoid visible hunting.
- First 2 measurements: ALS ADC time series + PWM/current time series
- Discriminator: ALS noise/occlusion vs stable ALS with oscillating output
- First fix: relocate/optically isolate ALS or tune loop filter/hysteresis
8) Proximity wake triggers when nobody is near — proximity threshold or wet-touch interference?
Compare proximity raw readings and touch baseline under the same humidity condition, then temporarily disable proximity to isolate the path. If wake events disappear with proximity disabled, the proximity channel (threshold, placement, EMI pickup) dominates. If wakes continue, the touch baseline or moisture-driven coupling is still triggering “activity.” Cross-check with heater/LED transitions for edge-synchronous events.
- First 2 measurements: proximity raw + touch baseline/raw counts
- Discriminator: disable proximity: problem gone vs persists
- First fix: adjust threshold/filter and placement; harden touch reference and sampling windows
9) Bluetooth drops only during heater/brightness transitions — RF detuning or rail/ground noise?
Compare link metrics (RSSI and retry/retransmit rate) against BT module VDD ripple or reference ground bounce during transitions. Stable RSSI with rising retries points to elevated noise floor from conducted interference (rails/return). Large RSSI swings with posture changes or metal-frame proximity points to antenna detuning/coupling. Fix the dominant path first; avoid blind antenna rework without evidence.
- First 2 measurements: RSSI+retry rate + BT VDD/ground noise during transitions
- Discriminator: retries↑ with RSSI stable vs RSSI swing detuning signature
- First fix: quiet BT rail/return and keepout; revisit antenna placement only if detuning is proven
10) Audio buzz or a “pop” happens when LED/heater switches — supply injection or mute timing?
Capture amplifier PVDD ripple/droop while logging the pop/buzz timing relative to mode transitions (enable/mute, PWM edges, heater switching). If noise aligns with PVDD modulation, the dominant path is conducted injection through rail/return. If noise aligns with enable/mute timing even when PVDD is stable, sequencing and pop suppression are dominant. Apply the first fix accordingly.
- First 2 measurements: amp PVDD ripple + event timing vs enable/mute/PWM/heater edges
- Discriminator: PVDD-synchronous noise vs timing-synchronous noise
- First fix: local decoupling/loop containment and harness EMI control; then adjust mute/enable sequencing
11) ESD at different points causes different symptoms (reset vs false touch vs audio mute) — how to map it?
Perform strike-point mapping: touch edge, bezel/frame, input terminals, and exposed connectors—then classify outcomes (RESET, FALSE TOUCH, AUDIO/BT). For resets, confirm whether 3.3V droops or RESET asserts during the strike. For false touch without rail movement, baseline jumps indicate injection into the touch domain. For audio/BT, compare PVDD/BT VDD disturbances. This mapping guides protection placement.
- First 2 measurements: strike-point log + (3.3V/RESET) or (touch baseline) or (PVDD/BT VDD)
- Discriminator: rail/RESET disturbance vs domain-only disturbance
- First fix: move clamps/returns local to the entry point; prevent transient current from crossing sensitive references
12) Random reboot in the field (often during heater/LED transitions) — which two rails first?
Capture MCU 3.3V and upstream 5V/input simultaneously during the transition that triggers reboots. If 3.3V dips while 5V stays stable, local decoupling/return integrity or fast burst sensitivity is likely. If 5V/input moves first, the issue is upstream (entry ruggedization, inrush, surge, or supply foldback). Apply the first fix based on “which rail moves first.”
- First 2 measurements: TP_3V3 capture + TP_5V (or input) capture
- Discriminator: 3.3V-first dip vs 5V/input-first disturbance
- First fix: strengthen local hold-up/return; or reinforce entry clamp/inrush control and fault containment