Range Hood Hardware: BLDC Fan, Smoke/Odor, LED, Touch, IoT
← Back to: Smart Home & Appliances
Core takeaway: A robust range hood is built by isolating high-di/dt motor and LED switching noise from touch, sensors, and RF, then validating behavior with a short evidence loop (two measurements → discriminate → first fix). When auto mode, acoustics, flicker, or dropouts appear, the fastest path is to capture rail ripple/reset causes and sensor baselines, then correct partitioning, edge control, and thresholds at the device level.
H2-1 · System Boundary & What This Page Solves
Intent (what this page is built to solve)
- Design: pick a practical range-hood hardware partition that survives oil aerosol + steam + motor EMI without false triggers or unstable UI.
- Select: map each functional block to selection levers (what parameter truly drives field outcomes) and typical IC families (examples later in IC-selection chapter).
- Validate: define a minimal test matrix that proves airflow control, noise, sensing reliability, lighting flicker, touch stability, and comms resilience.
- Debug: convert the most common symptoms (noise, stall, mis-trigger, flicker, UI glitches, resets) into a two-measurement start and a fast discriminator.
Boundary (what is deliberately excluded)
- Not covered: induction cooktop / microwave / oven / coffee maker internals (sibling appliance pages).
- Not covered: cloud backend architecture, mobile app walkthroughs, protocol-stack deep dives (only device-side evidence hooks appear).
- Not covered: certification procedures as a process (only engineering test points and evidence are used).
Three-line boundary card (fast reader alignment)
✅ Covers — Fan drive + feedback, sensing chain & placement, LED driver & flicker/EMI coexistence, touch robustness, device-side IoT hooks, power entry & EMC evidence.
❌ Excludes — Other appliances, cloud/app tutorials, protocol-stack deep dive, whole-home IAQ platform architecture.
🎯 Reader outcomes — Choose a workable block partition, place the right probes/logs, and isolate the top field failures with minimal tools.
Acceptance test: search within the page for excluded terms (e.g., “cloud backend”, “app tutorial”, “protocol stack”). Any substantial coverage indicates scope drift.
Deliverable: Block Ownership Map (why it prevents cross-page overlap)
This map defines “ownership” of signals, evidence, and failure modes. Each later chapter must stay inside its block. Cross-block interactions are allowed only as measured coupling paths (e.g., motor EMI causing touch errors), not as unrelated platform explanations.
H2-2 · Top-Level Architecture & Key Specs
Planning logic: convert user-perceived outcomes into measurable evidence
Range hood “performance” is judged by airflow, noise, auto-mode correctness, lighting comfort, and robustness. Each outcome must map to signals that can be probed on a bench and recognized in field logs.
- Airflow / suction levels → speed range, torque margin under restriction, current draw slope under clog/pressure drop.
- Noise → PWM/commutation strategy, current ripple, structural resonance vs fixed-frequency electrical whine.
- Auto smoke/odor mode → sensor response time, hysteresis/filters, contamination drift, steam/cleaner mis-triggers.
- Lighting → LED current ripple, flicker evidence, dimming method vs camera banding risk.
- Ruggedness → brownout/reset reason, driver fault flags, ESD/EFT susceptibility points (panel, AC entry, lamp wiring).
Specs / symptoms → electrical evidence (what to measure)
| Spec / Field Symptom | Electrical Evidence (what to measure, where, and what it implies) |
|---|---|
| Weak suction or “levels feel the same” |
FG/tacho vs target speed (MCU command): speed not tracking → feedback/control. I_sense under restriction: current rises quickly with little speed gain → clog/pressure drop or torque margin issue. Probe: FG pin + shunt sense output + DC bulk ripple during transitions. |
| Annoying whine at low/mid speed |
Check PWM / commutation frequency and whether the tone is fixed (electrical) or speed-proportional (mechanical). Look at phase current ripple: large ripple often correlates with audible torque ripple. Probe: PWM nodes, I_sense, and rail ripple; correlate with speed steps. |
| Auto mode over-reacts to steam / cleaners |
Plot SENS_RAW and BASELINE with NTC/RH context. Strong correlation to humidity/temperature spikes indicates steam-driven mis-trigger. Evidence: rise-time, decay-time, and baseline drift rate across days. |
| Auto mode becomes “lazy” after months |
Baseline drift and contamination: BASELINE shifting upward reduces effective headroom. Compare sensor delta to known events; if deltas shrink but cooking is unchanged → sensor aging/pollution. Evidence: baseline slope, fault flags, self-test response (if available). |
| Lighting flicker or camera banding |
Measure I_LED ripple and dimming PWM. High ripple or low PWM rate drives banding even when eyes feel “OK”. Probe: LED current sense or series shunt; compare across dim levels. |
| Touch panel glitches when fan is high |
Look for touch sense line noise and its alignment to PWM edges; confirm return-path coupling from motor zone. If glitches disappear when fan drive is paused → EMI coupling, not “bad UI firmware”. Probe: TOUCH_SNS node (or controller raw counts) + PWM edge timing. |
| Random resets under speed changes |
Capture DC bulk sag and 5V/3V3 UVLO during inrush/step load; read reboot reason and driver fault pins. Probe: DC_BULK, 5V/3V3 rails, RESET#, and event counters. |
Figure F2 (mandatory): full chain + test points (TP1–TP6)
This architecture diagram is designed for fast debugging: each test point corresponds to a failure class. The content stays device-side and avoids cloud/app details.
Chapter deliverable checklist (to keep later chapters evidence-driven)
- Probe set: rails (DC_BULK, 5V/3V3), PWM/gate timing, I_sense, FG/tacho, sensor raw, touch raw counts, RESET#.
- Log set: reboot reason, brownout count, driver fault latch, sensor baseline drift, auto-mode trigger timestamps, RF reconnect counter.
- Coupling map: motor zone → touch/sense via return path; LED ripple → RF resets; rail sag → drive faults.
These items are referenced later in the validation plan and field debug SOP to avoid vague troubleshooting.
H2-3 · BLDC Fan Drive Choices
Drive route trade-offs (range-hood specific, not a motor textbook)
| Choice | What it buys / what it costs (and what to measure) |
|---|---|
| Trapezoidal (six-step) |
Buys: simpler control, lower BOM and MCU demand, easier bring-up. Costs: torque ripple → audible “whine” or vibration at low/mid speed; speed “steps” may feel non-linear. Evidence: large I_sense ripple aligned to commutation events; a fixed audible tone often tracks commutation/PWM strategy. First probes: TP4 (PWM/GH/GL), TP5 (I_sense), TP3 (rail ripple under speed steps). |
| FOC (field-oriented control) |
Buys: best low-speed smoothness potential and perceived quietness; better linearity across levels. Costs: more sensitive to current-sense SNR, sampling window, and rail noise; tuning and validation effort is higher. Evidence: if I_sense noise correlates with PWM edges, control becomes unstable at low speed; rail ripple can leak into current measurement and cause jitter. First probes: clean current-sense waveform + confirm sampling avoids switching edges. |
| Hall (sensored) |
Buys: reliable low-speed start and stable commutation under back-pressure and aging (grease, clog, higher load). Costs: extra wiring/connector exposure; ESD paths and harness reliability must be managed. Evidence: Hall/FG pulse continuity under vibration; after ESD, check if pulses drop or shift. First probes: FG/Hall output + rail dips during start. |
| Sensorless (back-EMF) |
Buys: fewer components and simpler assembly; lower BOM. Costs: low-speed start is the weak point; under grease/back-pressure, start failures rise unless a robust start strategy exists. Evidence: during start attempt, I_sense spikes but FG stays absent; driver fault/overcurrent latch may appear. First probes: I_sense during start + fault latch pin/state. |
Key component chain (what actually determines field outcomes)
Selection should focus on the parameters that control heat, EMI, and protection behavior rather than generic headline specs.
- RDS(on) & thermal path: drives steady-state heating at high speed; grease reduces convection, so margin matters.
- Qg/Coss: too “hard switching” increases EMI and ringing that can disturb touch/sensors; too slow increases switching loss.
- Layout loop + overshoot evidence: measure switch-node ringing and case temperature to avoid “mystery” overcurrent events.
- Bootstrap vs charge pump: ensure high-side gate supply remains valid at low duty/low speed modes.
- Dead-time control: too small risks shoot-through; too large increases torque ripple and audible noise.
- dV/dt immunity: prevents false turn-on and fault latching during fast edges and noisy ground return paths.
- Single-shunt (low-side): often enough for protection and robust control; prioritize clean sampling windows.
- 3-shunt / phase sensing: improves fine control and low-noise potential but raises BOM and layout sensitivity.
- Reconstruction: depends on PWM regions; validate with scope that the reconstructed current is not dominated by edge noise.
Typical failure mechanisms (pre-embedded for fast debug)
| Symptom | First 2 measurements → discriminator → first fix |
|---|---|
| Low-speed jitter (speed hunts / “breathing”) |
Measure: TP5 I_sense noise + TP4 PWM timing at low speed. Discriminator: if I_sense noise aligns with PWM edges, the loop is sensing noise (sampling window / layout). If rail ripple rises during hunting, power integrity drives instability. First fix: move sampling away from switching edges; increase sense filtering carefully; reduce dV/dt; reinforce rail decoupling near driver. |
| Audible whine at a “specific” level |
Measure: TP4 commutation/PWM frequency + TP5 current ripple spectrum (or ripple envelope). Discriminator: fixed tone across speed indicates electrical source; tone tracking speed indicates mechanical resonance. First fix: adjust PWM band; reduce torque ripple (control strategy); damp return-path injection; check dead-time. |
| Start failure (tries, jerks, stops) |
Measure: TP5 start current peak + FG/Hall pulse presence. Discriminator: high current with no pulses suggests sensorless start weakness or mechanical back-pressure; pulses then stop suggests protection/fault latch. First fix: strengthen start strategy (sensored or hybrid); verify rail sag at start; check driver fault behavior and current limit thresholds. |
| False overcurrent trips at high speed |
Measure: TP3 rail ripple + TP4 gate waveform ringing; check TP5 sense spikes vs real load changes. Discriminator: sense spikes coincident with ringing indicate measurement/EMI issue; sustained current indicates real overload (clog/duct restriction). First fix: tame ringing (gate resistors/RC), improve return path, re-check sense filtering and blanking; validate under clogged filter test. |
The same three nodes classify most issues: gate/PWM integrity, current-sense fidelity, and rail ripple under transitions.
Decision tree (If / Then) — selecting a route that can be validated
- If low-speed quietness and smooth multi-level control are top priorities, then choose FOC and budget effort for clean current sensing and sampling windows.
- If cost and rapid bring-up dominate and low-speed noise tolerance is higher, then choose six-step with careful PWM band selection and torque ripple control.
- If reliable start under grease/back-pressure is a hard requirement, then choose Hall (sensored) or a hybrid start strategy for sensorless.
- If touch/sensors are sensitive and the platform is EMI-constrained, then prioritize dV/dt control, return-path partition, and sense-noise immunity regardless of algorithm.
Figure F3 (mandatory): 3-phase bridge + sensing + control + required test nodes
This diagram is intentionally “measurement-first”: it highlights the three mandatory probe classes for drive problems: PWM/GH/GL, I_sense, and DC rail ripple.
H2-4 · Speed Control, Airflow & Acoustics Evidence
Closed-loop speed chain (what must be true for stable airflow)
- Counting window sets resolution at low speed; too short a window makes the loop “noisy” even if the motor is fine.
- Pulse integrity matters under grease/vibration; missing pulses look like “random speed drops.”
- Evidence: correlate FG pulse gaps with rail dips and PWM state before blaming mechanics.
- Integral windup appears as overshoot + hunting after a restriction change (filter clog, long duct).
- Rate limit (slew) prevents “audible step changes” when levels change.
- Evidence: speed error sign flips repeatedly while current rises → the loop is fighting a changing load.
- PWM band controls perceived tonal noise; avoid a single fixed tone across levels.
- Edge aggressiveness changes EMI injection into chassis/touch; gate ringing can masquerade as “noise problems.”
- Evidence: noise event aligns with PWM edge and I_sense spikes → electrical origin is likely.
Symptom → Measurement → Discriminator (evidence-first bullets)
| Symptom | Measurement (first) → Discriminator (what it proves) |
|---|---|
| Airflow feels non-linear (levels “bunch up”) |
Measure: FG frequency vs command level + I_sense average at each level. Discriminator: FG changes little while current rises → restriction/back-pressure dominates; FG follows but airflow doesn’t → mechanical/duct system, not control. |
| Low-speed hunting (speed breathes) |
Measure: FG windowed count variance + I_sense noise relative to PWM edges. Discriminator: I_sense noise synchronized to PWM → sampling/EMI issue; FG quantization dominant at low speed → counting window/PI tuning issue. |
| Single sharp whine at a specific level |
Measure: PWM frequency + current ripple envelope at that level. Discriminator: tone frequency fixed across levels → electrical (PWM/loop); tone tracks speed → mechanical resonance / airflow interaction. |
| Buzz increases when filter is dirty |
Measure: DC rail ripple and I_sense average under “clean vs clogged” condition. Discriminator: large current rise + temperature rise → real load increase; ripple spikes at transitions → power integrity limits or layout loop sensitivity. |
| Touch becomes unreliable when fan is high |
Measure: rail ripple near logic/touch + switching node ringing (gate edge). Discriminator: touch errors align with fast edges/ringing → EMI injection/return-path coupling, not a UI algorithm problem. |
Each discriminator should point to a “first fix class”: control tuning, measurement fidelity, power integrity, or mechanical/duct restriction.
Recommended PWM bands (engineering guidance) & what to watch
| Guidance (not a standard) | What to watch (trade-offs) |
|---|---|
| Avoid a single fixed audible tone Prefer a band strategy that does not lock a tonal peak to one level. |
Higher PWM can reduce audible content but may increase switching loss and EMI injection; verify MOSFET temperature and touch/radio robustness. |
| Keep sensing windows edge-aware Schedule sensing away from switching edges where possible. |
Over-filtering I_sense hides real overload; too little filtering makes the loop chase noise. Validate with I_sense vs PWM edge correlation. |
| Control dV/dt to protect coexistence Edge control often matters more than raw PWM frequency. |
Slower edges can reduce ringing but increase losses; ensure driver and MOSFET operate within thermal margins under clogged-filter worst case. |
Figure F4: closed-loop speed & noise evidence classifier (single-view)
This block diagram highlights where to capture evidence for airflow stability and noise classification: feedback, actuation timing, current ripple, rail ripple, and restriction sensitivity.
H2-5 · Smoke / Odor Detection Front-End
Sensor chain choices (what matters in greasy, hot airflow)
Selection should prioritize drift, contamination behavior, and power budget rather than only “sensitivity.” Range hoods operate in a mixed environment: hot steam, grease aerosols, and cleaning chemicals.
| Sensor | Sensitivity (cooking) | Drift & contamination | Power notes |
|---|---|---|---|
| VOC / MOX | Good odor / volatile cues; useful for “start of cooking” rise detection. | Baseline drift with aging; humidity/temperature strongly modulate readings; requires context gating + tracking. | Preheat/burn-in energy can dominate standby budget; manage duty-cycle and warm-up evidence. |
| Optical scatter (PM-like) | Fast response to aerosol density; can correlate well with visible smoke events. | Optical window contamination from oil mist is the primary risk; placement dictates contamination speed. | Emitter/receiver current budget; manage sampling rate and cleaning/contamination detection hooks. |
| NTC + RH | Not primary smoke/odor sensing; used as context evidence. | Stable; helps discriminate steam and hot air bursts that cause false triggers. | Low power; can remain always-on for gating and baseline stabilization. |
False-trigger checklist (most common non-cooking confounders)
- Steam bursts (boiling water): RH rises quickly; use RH/NTC gating to avoid immediate max-level triggers.
- Cleaning chemicals (alcohol, detergents): VOC spikes without aerosol pattern; require multi-signal consistency before step-up.
- Temperature ramps (hot air recirculation): NTC changes with weak odor signal; apply rising-edge + hysteresis logic.
- Backflow / recirculation: outlet placement can dilute or delay response; correlate with fan level and duct configuration.
- Sensor contamination: optical drift (slow loss) or MOX baseline shift; detect via baseline tracking and self-test flags.
Trigger logic (engineering rules, no “AI model” dependency)
Use a time window to suppress short spikes; confirm that “true cooking events” persist beyond the window.
Prevent fan level oscillation around a threshold; define separate step-up and step-down behavior.
Treat a rapid increase as “start of cooking”; reduce sensitivity to slow baseline drift.
Higher airflow dilutes sensors and changes transport delay; thresholds may need level-aware compensation.
Track long-term baseline; flag open/short, stuck-at, and drift beyond expected bounds to avoid silent degradation.
Evidence anchors to log: sensor_raw, baseline, RH, NTC, fan_level, and time stamps around each trigger event.
Figure F5: duct placement (3 positions) & placement-driven symptoms
Placement determines response time vs contamination rate. The diagram intentionally avoids CFD and focuses on practical positions and symptoms.
H2-6 · Lighting Drivers (LED) & Flicker-Free Dimming
Common lighting paths (range-hood focused, not a lighting textbook)
| Path | Why it is used | Most common risk | First evidence to capture |
|---|---|---|---|
| Low-voltage DC LED (fed from 12/24V rail) |
Easy integration with MCU control; simpler isolation boundary; good for multi-level dimming. | Motor rail ripple and switching noise can modulate LED current → flicker/banding and touch/radio disturbance. | LED current ripple vs DC rail ripple correlation during fan speed steps and dimming steps. |
| Mains-direct LED (if present) |
Lighting can be separated from low-voltage rails; can reduce low-voltage loading. | Safety boundary and common-mode EMI near the panel harness; coupling into touch reference and radio rails. | Touch errors / radio issues synchronized with light switching transitions; common-mode noise changes. |
Selection should be driven by measurable coexistence and lifetime behavior under heat and contamination, not only by “brightness.”
Flicker-free evidence chain (Symptom → Measurement → Discriminator)
| Symptom | Measurement → Discriminator |
|---|---|
| Visible flicker at low dim levels |
Measure: LED current waveform (ripple amplitude) and dimming command (PWM/duty). Discriminator: ripple follows dimming edges even with stable rails → dimming method/band is the cause; ripple worsens when fan changes level → rail/return coupling. |
| Camera banding (phone stripes) but “looks OK” to eyes |
Measure: PWM frequency and modulation pattern, plus LED current ripple spectrum. Discriminator: banding changes with PWM band selection → PWM band interaction with camera sampling; if banding increases with motor activity → shared return/rail noise. |
| Flicker during fan speed steps |
Measure: DC rail ripple at LED driver input and LED current ripple during the same transition. Discriminator: LED current ripple tracks rail ripple → power integrity/decoupling/return path; if rail is stable but LED current spikes → driver control loop stability/compensation. |
EMI coexistence & thermal derating (what to verify)
- Light switching transitions should not elevate touch reference ground noise or radio supply ripple.
- Fast edges (high dv/dt) should not coincide with touch false triggers or radio retries.
- Evidence: synchronize LED driver switching node ringing with touch/raw noise counters and rail ripple.
- LED and driver temperatures should remain predictable under long operation and high ambient heat.
- Derating should reduce current smoothly (no oscillation causing flicker).
- Evidence: temperature rise vs LED current limit/flags; confirm stable current reduction over time.
Design checklist (execute-and-verify)
- Target brightness & levels: define max current and dim steps; reserve thermal headroom.
- Dimming method: PWM / analog / hybrid; choose to minimize visible flicker and camera banding.
- Flicker verification: capture LED current ripple at low and mid dim levels; repeat with fan high level and with speed steps.
- EMI nodes: inspect switching node ringing and return path proximity to touch/radio; enforce partitioning and controlled edges.
- Thermal path: measure board and driver temperatures in worst-case ambient; confirm derating behavior is monotonic (no “blink”).
Figure F6: LED driver evidence nodes & coupling paths
This block diagram highlights measurable nodes for flicker, camera banding, coexistence, and thermal behavior, without expanding into general lighting industry content.
H2-7 · Touch / UI Panel Robustness
Why false touches happen (mechanisms that can be proven)
- Oil/water films change the effective dielectric and electrode coupling.
- Baseline shifts upward; edges and large pads become more sensitive.
- Evidence: raw count baseline drifts with humidity/film presence even when rails are quiet.
- Motor/LED current loops inject noise into shared impedance and chassis reference.
- Touch threshold is crossed by noise spikes rather than real touches.
- Evidence: touch raw noise increases at fan high level and aligns with PWM edges.
- Fast switching nodes couple through parasitic capacitances into touch traces.
- Specific keys/regions fail more often (spatial signature).
- Evidence: slowing edges (gate R) reduces false touches immediately → strong electrical coupling proof.
Interference paths (source → coupling → victim)
| Source | Coupling path | Victim | Fast proof |
|---|---|---|---|
| 3-phase bridge motor switching |
Shared return impedance, capacitive injection from switching nodes, harness antenna effects. | Touch reference ground, touch electrode traces, touch controller front-end. | Touch errors align with PWM edge timing and ringing amplitude. |
| LED driver switch node | dv/dt coupling into panel harness and local ground reference near touch controller. | Touch raw noise counters and baseline stability. | False touches appear during dimming transitions; reduce with edge control/return routing. |
| ESD events panel touch point |
Discharge path through panel metal and cable shields if not controlled. | Touch controller lockups, MCU brownout, radio reset. | Reset reason logs + touch controller fault flags after ESD contact. |
Layout do / don’t (high-yield rules)
| Do (recommended) | Don’t (avoid) |
|---|---|
|
|
Figure F7: noise coupling map (what to probe, what to fix)
This single-view diagram maps noise sources to coupling paths and touch victims, and marks three probe points that prove electrical vs environmental causes.
H2-8 · IoT Connectivity (Device-Side) & Local Control
Device-side wireless essentials (what must be correct in hardware)
- Radio power domain: isolate the wireless rail from high di/dt loads and keep decoupling physically close to the module/SoC.
- Reset / enable: prevent glitches during motor speed steps, light dimming transitions, and brownout recovery.
- Clock stability: keep the reference clock/oscillator away from switching hot zones and noisy return paths.
- Antenna environment: enforce a keep-out region from metal, harnesses, and switching loops; validate with repeatable RSSI/throughput checks.
Dropout & reboot evidence chain (Symptom → Measurement → Discriminator)
| Symptom | Measurement → Discriminator |
|---|---|
| Random disconnects that increase at high fan levels |
Measure: RF rail ripple and minimum voltage (TP8a), plus reconnect counter (TP8c). Discriminator: if disconnects align with motor PWM edges or speed steps → coexistence/return-path injection; if they align with TX bursts → rail transient margin. |
| Sudden reboot during dimming or fan changes |
Measure: RST/EN line glitches (TP8b) and reboot reason logs. Discriminator: short negative pulses on EN/RST → reset integrity; clean EN/RST but RF rail dips → brownout; thermal correlation → derating/clock drift. |
| Slow reconnect after a disturbance |
Measure: reconnect count and time-to-ready; capture fan/light state snapshot (TP8d). Discriminator: high retry count with low RSSI → antenna/metal/harness coupling; normal RSSI but long time-to-ready → firmware watchdog/brownout recovery path. |
The goal is to prove whether failures are rail integrity, reset integrity, antenna environment, or coexistence coupling—using repeatable evidence.
Antenna keep-out & coexistence checks (device-side, practical)
- Keep-out region: avoid nearby metal surfaces, motor harness loops, and high dv/dt nodes; maintain a consistent mechanical stack-up between prototypes and production.
- Motor/LED coupling: verify RSSI/packet retries while stepping fan speed and light dimming; the test must be repeated with the hood in its real enclosure (metal matters).
- Return-path control: partition power returns; connect sensitive RF return to system ground at a defined star point, away from switching loops.
Local control first (must work offline)
| Rule | Why it matters | Evidence to record |
|---|---|---|
| Offline usability keys/touch control fan & light |
A range hood must remain usable when Wi-Fi is unavailable or unstable. | State transitions (fan level, light level) without cloud dependency; error flags if wireless is down. |
| Power-up order stabilize rails → UI → wireless |
Starting radio before rails/UI settle increases brownout risk and false inputs. | Boot timeline markers + reboot reason; RF rail minimum voltage during first seconds. |
| Power-loss recovery safe default or last-known state |
Prevents unsafe behavior and reduces customer complaints after outages. | Saved state integrity + restore decision; brownout count and last state snapshot. |
Security boundary (minimal, hardware-only)
- Key storage option: external secure element (I²C/SPI) or SoC TEE. Only the interface, power domain, and reset domain are in scope.
- What to verify: secure element enumeration after brownout, reset timing margin, and stable supply during early boot.
- What is out of scope: threat models, cryptographic protocol details, and backend security policies.
Recommended event logs (small set, high value)
| Log field | When to update | What it proves |
|---|---|---|
| brownout_count (radio rail domain) |
Increment on detected RF rail undervoltage; store with timestamp. | Power integrity issues correlated with fan/light transitions or TX bursts. |
| reboot_reason (WDT / POR / brownout) |
Write on boot; persist across resets. | Distinguishes software watchdog vs rail collapse vs external reset glitch. |
| wifi_reconnect_count (windowed) |
Count reconnect attempts per time window. | Connectivity health and disturbance sensitivity, without cloud data. |
| sensor_fault_flags | Update on sensor errors affecting auto mode. | Separates “connectivity issue” from “device-side sensor instability.” |
| state_snapshot (fan/light level) |
Record on disconnect/reboot and on major transitions. | Correlation between noise sources and wireless failures. |
Figure F8: device-side IoT power/reset/antenna & local-control evidence
This block diagram ties wireless reliability to measurable rails and control signals, while enforcing local-control-first behavior and a minimal event-log set.
H2-9 · Rugged Power Entry + EMC/ESD/Surge
AC input side (what to measure, not certification)
- Fuse / inrush / surge clamp: confirm inrush behavior and post-event stability. After surge-like events, check reboot_reason and UVLO counters before changing firmware.
- EMI filter block (CM choke + X/Y caps): verify conducted-noise paths by correlating fan speed steps and LED dimming with touch/RF anomalies.
- Evidence mindset: use repeatable triggers (fan step + dimming transition) and record DC bulk ripple, logic-rail ripple, and reset integrity in the same capture.
The objective is to locate which domain fails first: AC entry, DC bulk, logic rails, gate drive integrity, current sensing, or RF reset/power.
DC rail partitioning (motor transient + LED ripple + RF TX peaks)
| Domain | Typical disturbance | Victim & proof |
|---|---|---|
| Dirty power rectifier/DC bulk, inverter |
High di/dt loops, switching dv/dt, bulk ripple during speed steps | Gate ringing or driver_fault; DC bulk ripple correlates with resets and audio/touch symptoms |
| Semi-dirty LED driver rails |
Switch-node edges, current ripple, ground injection | Flicker/stripe artifacts + touch raw noise spikes during dimming transitions |
| Quiet zone MCU, touch, sensors, RF |
Rail dips, reference-ground bounce, reset/EN glitches | reboot_reason + brownout_count + RF reconnect spikes; EN/RST glitches prove reset integrity issue |
Zone-based layout (Dirty vs Quiet) with a proof-first approach
- Dirty power zone: keep rectifier/bulk/inverter current loops compact; route returns to avoid crossing sensitive references.
- Quiet zone: keep touch/RF/sensor references isolated from switching returns; enforce a defined star-point connection.
- Coupling paths to break: shared ground impedance, conducted ripple on shared rails, and harness/chassis radiation near antenna/touch flex.
“Must-probe 6” points (fast isolation)
| Probe point | Why it matters | Discriminator (what it proves) |
|---|---|---|
| AC input | Line dips/spikes can cause hidden resets and false faults | If resets align with AC dips → entry/hold-up; otherwise move to DC bulk/rails |
| DC bulk | Speed steps and stall events stress bulk ripple margin | Bulk ripple spikes with reboot_reason → power integrity root |
| 12V/5V ripple | Shared rails can inject noise into LED/touch/RF domains | Ripple correlates with touch false triggers or RF reconnect spikes → partitioning issue |
| Gate ringing | Over/undershoot triggers driver faults and radiates EMI | driver_fault aligns with ringing severity → gate loop/edge control issue |
| I_sense | Noise here causes false OCP trips or unstable torque | OCP events without real load increase → sensing/blanking/filtering issue |
| RF reset pin | Glitches silently break connectivity and force reconnect | EN/RST glitch aligns with disconnects → reset integrity, not antenna quality |
Figure F9: noise zoning + return paths + probe map
This diagram links “dirty” switching loops to “quiet” touch/RF references, with the six critical probe points (TP9a–TP9f) aligned to the fast isolation checklist.
H2-10 · Validation Test Plan (Engineering)
Minimal toolset (engineering-grade, repeatable)
- Oscilloscope (2–4ch): DC bulk + logic rails + gate + reset/EN in one capture when possible.
- Current evidence: current probe or shunt-based I_sense waveform and mean/peak trends.
- Thermal evidence: thermocouples or thermal camera for MOSFET/driver/LED board hotspots.
- Near-field probe (optional): identify dominant switching harmonics near touch flex and antenna region.
- Device logs: reboot_reason, brownout_count, driver_fault flags, wifi_reconnect_count, state_snapshot.
Test matrix (scenario → pass criteria → evidence)
| Scenario | Stimulus | Pass criteria | Evidence to capture | Discriminator + first fix hint |
|---|---|---|---|---|
| Cold start low speed + light off |
Power-on → fan low; repeat 20–50 cycles | No start failures; stable speed within expected settling | DC bulk min, 12V/5V ripple, gate ringing, reboot_reason | If fails only at cold start → inrush/hold-up/UVLO margin; if gate ringing spikes → gate loop/edge control |
| Speed sweep acoustics sensitivity |
Ramp fan level step-by-step; hold each level | No unstable oscillation; no driver faults | I_sense ripple, gate ringing, driver_fault flags | Fixed-frequency issues → electrical; speed-tracking issues → mechanical/airflow; first fix: edge control vs mounting |
| Blocked airflow stall/pressure |
Simulate restriction / clogged filter condition | No false trips; thermal stays within derating plan | I_sense mean/peak, DC bulk ripple, temps, driver_fault | If OCP trips without real overload → sensing/filter/blanking; if bulk dips → rail margin/partitioning |
| Light dimming flicker + coexistence |
Step dimming levels; combine with fan steps | No visible flicker/stripe; no touch/RF anomalies | LED current ripple, 5V ripple, touch raw noise, reconnect count | If touch errors align with dim edges → dv/dt injection; first fix: return path + shielding + timing windows |
| Sensor mis-trigger steam/alcohol/cleaner |
Expose sensor to steam/IPA/cleaner; log baseline drift | No runaway fan; controlled hysteresis and recovery | Sensor raw + baseline, RH/NTC, state_snapshot | If triggered with RH step → add gating/threshold lift; if baseline drifts → placement/contamination handling |
| ESD pre-check panel / entry / lamp port |
Target points: panel, power entry, lamp connector | No permanent lockups; controlled recovery | reboot_reason, touch errors, driver_fault, reconnect count | If only RF drops → reset/rail filtering; if full reboot → entry/UVLO; if touch-only → ESD network/layout |
| EFT-like stress entry disturbances |
Disturbance injection method per lab availability | No repeated resets; faults are logged and recover | DC bulk, rails, reboot_reason, brownout_count | If resets with bulk dips → hold-up/partitioning; if EN/RST glitches → reset conditioning |
Each test must specify: where to probe, what to watch, and how to decide. Evidence should be captured in the same time base as state transitions.
Production / self-test hooks (minimal but high impact)
- Fan FG check: verify tach/FG signal presence and sanity at power-on and during a short sweep.
- Sensor baseline: capture baseline tracking values after warm-up; flag out-of-family drift.
- LED open/short detection: detect abnormal load conditions and log a persistent fault flag.
- Touch self-calibration: record calibration status and noise margin; detect abnormal water/film conditions.
- Wireless health: windowed reconnect count + last RSSI snapshot (device-side only).
Figure F10: coverage map (failure modes → tests → evidence)
This coverage map ensures each major failure mode is provoked by at least one test scenario and produces a concrete evidence bundle that points to first fixes.
H2-11 · Field Debug Playbook (Symptom → Evidence → Isolate → Fix)
How to use this SOP (30-second workflow)
- Step 1: reproduce with a trigger (fan step, dimming edge, humidity/steam, RF reconnect burst).
- Step 2: capture the first 2 measurements (same time base whenever possible).
- Step 3: apply the discriminator (synchrony / condition / locality) to classify the bucket.
- Step 4: apply the first fix (highest ROI action). Re-test with the same trigger.
Recommended baseline logs: reboot_reason, brownout_count, driver_fault, wifi_reconnect_count, sensor_fault_flags, state_snapshot (fan level / light level / auto mode).
Jump to symptom cards
MPN quick reference (common “first-fix” replacements)
Examples for reference only; verify voltage/current/ESD ratings, package, and availability.
| Block | Example MPNs | When it helps (typical) |
|---|---|---|
| 3-phase gate driver | TI DRV8353, TI DRV8323, Infineon 6EDL7141, ST STSPIN32F0A (MCU+driver) | Start failures, driver faults, dv/dt immunity issues |
| Motor MOSFET (40V class) | Infineon BSC010N04LSI, Infineon BSC016N04LS, ST STL140N4F7, Vishay SiRA80DP | Thermal overload, high conduction loss, switching stress |
| Current-sense amplifier | TI INA181, TI INA180, TI INA240, ADI AD8418 | False OCP, noisy I_sense, unstable torque at low speed |
| Shunt resistor | Vishay WSL series, Susumu KRL series, Bourns CSS2H series | Overheating shunt, drift, low SNR sensing |
| Buck DC/DC (logic rails) | TI TPS54202, TI TPS54331, MPS MP1584, Richtek RT8250 | Brownouts, rail ripple coupling into touch/RF |
| Reset supervisor / conditioner | TI TPS3808, Microchip MCP100, onsemi NCP303, ST STM809 | Spurious resets, weak power-up sequencing, RF EN/RST glitches |
| Schmitt buffer for EN/RST | TI SN74LVC1G17, Nexperia 74LVC1G17 | Noise-induced EN/RST glitches |
| ESD protection (data/IO) | TI TPD4E02B04, TI TPD2E007, Nexperia PESD5V0S1UL | Touch lockups after ESD, RF pin damage risk |
| LED constant-current driver (DC) | Diodes Inc AL8860, Diodes Inc PT4115, TI TPS92512, onsemi CAT4101 | Flicker/stripes, unstable dimming, EMI from switch edges |
| Wi-Fi/BT module | Espressif ESP32-WROOM-32E, Espressif ESP32-C3-WROOM-02, TI CC3235MOD, Murata LBEE5KL1DX | Connectivity issues after RF layout/power is proven OK |
| Secure element (optional) | Microchip ATECC608B | Device-side key storage boundary (no cloud discussion) |
Template Card #1 — Low-speed whine / tonal noise
Symptom
Noticeable tonal whine at low fan levels, often changing with speed steps or dimming transitions.
First 2 measurements
- M1: I_sense waveform (or phase-current proxy) during steady low-speed + one speed step.
- M2: DC bulk / motor rail ripple (min/max and ripple) aligned to the same time window.
Discriminator
- Speed-locked tone (frequency tracks RPM): points to commutation/FOC tuning, current ripple, or sensing noise.
- Fixed-frequency tone (independent of RPM): points to PWM band choice, switching edges, or magnetics resonance.
- Worse during dimming / RF activity: points to shared rail/return coupling into drive control.
First fix (highest ROI)
- Reduce dv/dt excitation: tune gate resistance / snubbing around the inverter loop (verify gate ringing reduction).
- Stabilize current sensing: improve shunt routing + filtering/blanking to avoid “jittery torque”. Consider INA240 (PWM-rejection) or INA181 class CSA, plus a robust shunt (Vishay WSL).
- Re-band PWM: move PWM out of the most audible zone; validate by correlating tone shift with PWM changes.
What to log
fan_level, target_speed, driver_fault, OCP_count (if available), state_snapshot timestamps.
Template Card #2 — Start failure / fails to spin
Symptom
Fan does not start, starts then stalls, or requires repeated attempts—often worse after clogged filter or low line.
First 2 measurements
- M1: DC bulk minimum + logic rail minimum during startup (capture the dip).
- M2: Gate drive presence (GH/GL activity) or driver_fault timing aligned to the same capture.
Discriminator
- Bulk dip → UVLO/brownout: power entry / hold-up / rail partitioning issue.
- Rails OK but no gate / immediate fault: driver chain, protection blanking, or sensing false-trip.
- Only fails under restriction: overload boundary; OCP threshold or stall handling too tight.
First fix (highest ROI)
- Strengthen startup power margin: separate motor rail from logic/RF rails; improve bulk + local decoupling near driver.
- Reset/UVLO integrity: add/verify supervisor such as TPS3808 / STM809 to avoid half-brown states.
- Reduce false OCP: CSA selection and filtering (e.g., INA181/INA240), plus shunt choice (Vishay WSL / Bourns CSS2H).
- Driver robustness: if dv/dt immunity is suspect, consider gate drivers with strong protection handling such as DRV8353 / DRV8323 / 6EDL7141.
What to log
reboot_reason, brownout_count, driver_fault, start_attempt_count, stall/OCP counters, temperature snapshot.
Template Card #3 — Touch false triggers / random key events
Symptom
Random touches, missed touches, or UI lockups—often triggered by motor switching, dimming edges, or humid/greasy conditions.
First 2 measurements
- M1: Touch reference noise (touch GND/Vref ripple or raw-noise metric if available).
- M2: One dominant aggressor: LED switch node (during dimming edge) or gate ringing proxy (during speed step).
Discriminator
- Noise synchronous with switching edges: dv/dt injection + return path coupling.
- Only after steam/film/oil: environmental baseline shift + reduced SNR.
- Localized region only: layout/flex routing/shielding issue in that zone.
First fix (highest ROI)
- Break the coupling path: enforce quiet-zone ground, keep touch traces away from inverter/LED switch nodes; add shielding/guard where feasible.
- Edge control on aggressors: reduce dv/dt (gate R / snub) and soften LED switching edges if possible.
- ESD network sanity: ensure touch lines have appropriate ESD arrays placed at entry; examples: TI TPD4E02B04, Nexperia PESD5V0S1UL.
What to log
touch_noise_metric, key_event_rate, fan_level/light_level snapshots, ESD event marker (if available), reboot_reason.
Template Card #4 — Auto-mode mis-trigger (smoke/odor)
Symptom
Auto fan ramps unexpectedly (steam/cleaner/alcohol), or fails to ramp under real cooking smoke. Focus is device-side sensing behavior only.
First 2 measurements
- M1: Sensor raw + baseline (or threshold-crossing count) during the event window.
- M2: Context evidence (humidity/temperature/NTC) captured in the same window.
Discriminator
- Baseline drifts slowly and recovers slowly: contamination/aging/placement issue.
- Short spikes correlated with steam/IPA/cleaner: false-trigger source is contextual; gating/hysteresis is needed.
- Raw is stable but actuation is unstable: threshold logic / hysteresis / linkage to fan levels is the primary suspect.
First fix (highest ROI)
- Engineering-grade thresholds: apply hysteresis + rising-edge trigger + window filter; validate by counting false triggers per exposure.
- Baseline tracking + self-test: detect open/short and out-of-family drift; set sensor_fault_flags rather than silently misbehaving.
- Placement sanity: confirm sensor is not in direct steam plume or oil deposition hotspot; validate by repeating the same exposure with changed airflow path.
What to log
sensor_raw, baseline, threshold_hits, humidity/temp snapshot, auto_mode_state, fan_level command history.
Template Card #5 — Wireless disconnect / reconnect storm
Symptom
Frequent dropouts or slow reconnects; worsens with fan high speed, dimming changes, or after ESD events. Focus is device-side evidence only.
First 2 measurements
- M1: RF rail minimum + ripple aligned to reconnect bursts (TX events if visible).
- M2: EN/RST integrity (glitch check) or log pair: reboot_reason + wifi_reconnect_count.
Discriminator
- Rail dips align with reconnect bursts: RF power integrity / decoupling / regulator transient response issue.
- EN/RST glitches present: reset conditioning / pull strategy / ESD coupling into control pins.
- Only during motor/LED transitions: coupling from dirty zones into RF domain (conducted or return-path).
First fix (highest ROI)
- Harden RF rail: local LDO or filtered buck output; verify transient response. Example buck: TPS54202 / MP1584; add tight local decoupling at the module.
- Condition EN/RST: add supervisor (TPS3808/MCP100) and/or Schmitt buffer (SN74LVC1G17) to suppress glitches.
- ESD protect control lines: add ESD arrays on exposed lines (e.g., TPD2E007, TPD4E02B04), and re-check return paths around the RF keep-out zone.
- Module swap (only after PI/layout proven): examples ESP32-WROOM-32E, CC3235MOD, LBEE5KL1DX.
What to log
wifi_reconnect_count (windowed), last_rssi_snapshot, reboot_reason, brownout_count (RF domain if available), state_snapshot (fan/light transitions).
Template Card #6 — LED flicker / camera stripes
Symptom
Visible flicker, camera banding, or instability around certain dimming levels; can worsen during fan transitions.
First 2 measurements
- M1: LED current ripple (or LED rail ripple if current probe is not available).
- M2: LED driver input rail ripple + timing relative to dimming edges and fan steps.
Discriminator
- Stripes shift with PWM frequency: dimming strategy/band selection issue.
- Worse during fan steps: rail coupling/return path injection from motor domain.
- Only near certain brightness levels: mixed-mode dimming transition point or control resolution issue.
First fix (highest ROI)
- Improve current regulation: consider CC drivers such as Diodes AL8860 / PT4115 or TI TPS92512 (verify ripple reduction).
- Rework dimming band: move PWM band to reduce visibility/camera artifacts; validate with a fixed test setup.
- Partition LED rail: isolate LED supply from logic/RF rails; verify by reducing LED-rail ripple at dim edges.
What to log
light_level, dimming_mode, LED_fault_flag (open/short if available), fan_level transitions, rail ripple snapshots if supported.
Figure F11: Symptom → 2 measurements → bucket → first fix
This diagram is a field-usable decision map: start at the symptom, take two measurements, classify into a bucket, then apply the highest-ROI fix.
H2-12 · FAQs ×12 (Evidence-Based, Collapsible)
Q1Low speed is very loud. Is it PWM frequency or commutation strategy? What two waveforms should be measured first?
Measure I_sense (or phase-current ripple) and DC bulk/motor rail ripple on the same time base. If the tone frequency tracks RPM, suspect commutation/FOC tuning or noisy current sensing. If the tone is fixed-frequency, suspect PWM band or switching edge excitation. First fixes: reduce dv/dt (gate loop/ringing control) and stabilize current sensing (e.g., INA240 or INA181 class CSA + robust shunt).
Q2The fan sometimes fails to start but recovers later. Is it rail droop or driver protection? Which two counters/pins prove it?
Check reboot_reason/brownout_count and the driver_fault signal (or driver status) aligned to the failed start. A rail dip with brownout evidence points to power entry/partition/hold-up. Stable rails with early driver_fault points to protection false-trips, gate ringing, or noisy OCP sensing. First fixes: harden reset/UVLO using a supervisor (e.g., TPS3808 / STM809), and reduce false OCP using cleaner current sensing (e.g., INA181/INA240).
Q3Auto mode goes to max when steam appears. How to distinguish real cooking smoke from hot/humid false triggers?
Capture sensor raw + baseline and a humidity/temperature context snapshot in the same window. Steam-driven events often show short spikes tightly correlated with RH/temperature rise, while real smoke/odor typically sustains above baseline with cooking-time correlation. First fixes: add hysteresis + window filtering + rising-edge gating, and use RH/temperature as a context gate (reduce actuation when the pattern matches steam rather than oil smoke).
Q4VOC/MOX feels less responsive after months. Is it aging drift or contamination, and what baseline evidence proves it?
Trend baseline vs time (days/weeks) and record recovery time after a controlled exposure. Aging often appears as slow monotonic baseline shift and reduced sensitivity; contamination often shows long recovery, event-dependent offsets, and strong dependence on placement in the airflow path. First fixes: enable baseline tracking with drift limits and explicit fault flags, and validate placement (avoid direct steam plumes and heavy deposition zones).
Q5After wiping the panel with alcohol/cleaner, touch becomes unstable. Is it ESD damage or a water-film capacitance shift?
Check touch baseline/noise metric and reboot_reason/lockup signs right after the event. If behavior recovers as the panel dries and baseline returns, suspect water-film dielectric shift. If resets, permanent dead zones, or post-ESD instability appear, suspect ESD coupling or overstress. First fixes: strengthen ESD at exposed lines (e.g., TPD4E02B04 or PESD5V0S1UL) and improve shielding/guarding plus return-path control near aggressor switching nodes.
Q6Wi-Fi drops more often after turning the light on. Is it LED ripple or ground-return injection? Which two ripples should be captured first?
Capture LED driver input/LED rail ripple and RF rail min/ripple during dimming edges. If RF rail dips align with LED switching, suspect conducted coupling and insufficient filtering/decoupling. If RF rail stays clean but drops align with switching edges, suspect return-path injection or radiated coupling into the antenna/keep-out zone. First fixes: isolate RF rail (filtered buck/LDO + local decoupling) and condition EN/RST (e.g., SN74LVC1G17 or a supervisor).
Q7Touch sometimes fails at high fan speed. Is it common-ground noise or sampling-window conflict, and how to prove it quickly?
Measure touch reference noise and correlate with PWM/commutation timing (speed step markers or known PWM edges). Edge-synchronous glitches indicate ground/return coupling and dv/dt injection. Failures limited to specific timing windows (but not edge-synchronous) indicate sampling-window conflicts with motor/LED switching. First fixes: reduce coupling (quiet ground island, reroute, shielding) then schedule touch sampling away from high-di/dt edges.
Q8The light looks steady, but a phone camera shows stripes. Is it PWM frequency or current ripple, and how to measure accurately?
Prefer measuring LED current ripple (or a close proxy) plus the PWM band/dimming waveform. If stripe spacing shifts when PWM frequency changes, PWM banding is the driver. If stripes correlate with rail ripple or fan steps, the cause is current regulation ripple or conducted coupling. First fixes: move PWM to a safer band or use mixed-mode dimming, and improve current regulation/filters (e.g., CC drivers like AL8860 / PT4115 class when applicable).
Q9After airflow restriction (dirty filter), thermal derating happens more. How to decide if the motor is hot or the driver/MOSFET is hot?
Compare temperature rise at two places: motor housing/near windings and MOSFET/driver hotspot (thermal camera or sensors). If MOSFETs dominate, suspect conduction/switching losses, poor gate control, or ringing; if the motor dominates, suspect overload and reduced efficiency under restriction. First fixes: for MOSFET heat, optimize gate loop and consider lower-Rdson devices; for motor heat, adjust control limits and validate the restriction test matrix.
Q10After ESD to the panel the device reboots. How to use reboot_reason and rail waveforms to locate MCU vs power-path root cause?
Read reboot_reason and capture key rail minimum/ripple during the ESD event (logic + RF rails if possible). Rail dips preceding reset point to power-path susceptibility and return-path issues at the entry/ground. Clean rails with reset-pin activity or watchdog reasons point to control-pin coupling and reset-chain weakness. First fixes: reroute ESD return paths, add/relocate ESD arrays, and harden reset supervision (e.g., TPS3808 / MCP100 class).
Q11Offline the device can’t keep the last fan level. Where should state be stored, and what power-loss boundary evidence matters?
Prove two things: state write/read success (a counter or CRC flag) and the power-down window (rail decay curve to MCU brownout). If power collapses too fast, state writes cannot complete—hold-up or faster storage is required. If writes succeed but restore fails, suspect the power-up state machine and sequencing. First fixes: store state locally in MCU NVM/FRAM where appropriate and restore only after rails are stable; keep offline control independent of cloud.
Q12Same hardware behaves differently across kitchens. Should sensor placement or airflow path be suspected first, and how to validate?
Run a minimal A/B: capture sensor response curve (raw vs time) under the same stimulus and compare across two airflow conditions (fan level or duct configuration). Large changes in response delay/amplitude with installation suggest airflow-path/placement sensitivity; slow baseline bias across days suggests contamination/environment. First fixes: validate placement against the three-position logic (inlet / after filter / outlet) and document the “wrong placement symptoms” for installers.