Design a 12V temperature-controlled enclosure fan: from airflow to a release test plan

Build the review around a specific small product: a controller that ventilates an electronics enclosure with a replaceable 80mm fan. This reference design follows the requirements through candidate parts, numbers, firmware, mechanical details and commercial release evidence. It has not been built or tested; every acceptance criterion below is a proposed requirement.

Last updated: 2026-11-01 Device design exampleFan controlThermalFirmwareProduct release

1. Define the enclosure and the boundary of the product

Assume a dry indoor electronics enclosure, 8W of internal heat, 0–40°C outside air, a 12V DC input and one exhaust fan. Supply mains power only through an external, purchased adapter; the controller contains no mains circuitry, battery, radio or heater. Ventilation assists ordinary equipment cooling. It is not a medical, fire-prevention, animal-care or other life-safety control, and it does not switch the heat-producing equipment off.

The proposed normal target is a representative hot-zone air temperature below 55°C at 40°C ambient and 8W heat. Use a 60°C alarm threshold to prompt inspection, not as proof that every component remains safe. The cooled equipment must tolerate a failed fan or provide its own independent thermal protection. Establish its permitted component temperatures before freezing these thresholds.

For a first heat balance, Q = P/(ρcₚΔT). With assumed air density 1.2kg/m³, heat capacity 1005J/(kg·K) and a 10K air-temperature rise, 8W requires 0.000663m³/s, or 2.39m³/h. This is an ideal mixing calculation: bypass, recirculation, hot spots and filter resistance are excluded. Set an initial installed-flow target of at least 6m³/h with the specified dirty-filter surrogate, then prove the temperature target in the actual enclosure. The extra flow is an engineering allowance, not a calculated guarantee.

Requirements to agree before schematic release
ItemProposed requirement
Input / use12V DC only; specified adapter and cable; dry indoor 0–40°C
Cooling challenge8W thermal dummy; hot-zone air <55°C at 40°C ambient
Mechanical80mm fan, guards on accessible sides, keyed connectors, replaceable filter
User interfacePower LED, distinct latched fault indication, service label
Evidence stateReference design only; no airflow, sound, thermal or compliance results exist

2. Choose a concrete architecture and candidate BOM

The power path is DC jack → input protection → protected 12V fan branch and 3.3V LDO → MCU, temperature sensor and PWM buffer. Keep the motor return and input-capacitor loop away from the sensor and reset return. Provide test points for input, protected 12V, 3.3V, PWM, tachometer, reset and ground; reserve SWD programming access.

Choose Noctua NF-A8 PWM as a development candidate: 12V, 80 × 80 × 25mm, maximum listed current 0.08A, maximum operating voltage 13.2V and 0% PWM stop. The advertised 55.5m³/h is free-air maximum, and 17.7dB(A) is a component specification. Neither describes this finished enclosure. Do not include the supplied low-noise resistor adapter in this control path.

The TMP117 offers a digital interface and stated ±0.15°C maximum sensor error over −40 to 70°C; placement error can be much larger. A cheaper NTC divider is possible but needs resistor, NTC curve, ADC reference, self-heating and open/short diagnostics in a new error budget. STM32C011F6 supplies timers, I²C and watchdogs without a radio stack. Verify pin allocation, alternate functions, package and programming pins against the final ordering code before layout.

Candidate parts; supporting passives and exact procurement variants remain to be released
FunctionCandidateSelection/release action
FanNoctua NF-A8 PWMObtain supply continuity, replacement policy and installed fan curve evidence
External adapterMEAN WELL GST18B12-P1J, 12V / 1.5AJapanese distributor; verify actual PSE label, importer and separate Japanese AC cord
TemperatureTI TMP117, 3.3V I²CSmall isolated sensor PCB; freeze exact package and address
MCUST STM32C011F6Pin map and watchdog/reset implementation review
PWM interfaceTI SN74LVC1G125DBVR3.3V three-state buffer; 10kΩ OE pull-up
3.3V railTI TPS7A1633DGNRExposed-pad layout; effective output capacitance ≥2.2µF
Input protectionTI TPS26600, HTSSOP candidateReverse polarity, current limit and adjustable OVLO/UVLO; tolerance review
Mechanical / passiveDC jack, keyed fan header, 47µF/25V bulk, guards and filterRated connector/capacitor variants, ESD parts and final enclosure material to be selected
Temperature-controlled fanTemperature sensing, PWM control and tach feedback TMP117 / I²CSTM32C011 / statesNF-A8 PWM /12VSpecified adapter → protection →12V/3.3VCMOS buffer →25kHz PWMTach → MCU · faults request full speed8W enclosure load · validate airflow and temperatures
Functional blocks. Tach feeds back from the fan to the MCU; protection, buffer and connectors are specified in the text.

3. Budget normal operation, starting current and wiring separately

The GST18B specification gives 12V/1.5A and a ±3% voltage tolerance for this variant. For controller design use a deliberately wider assumed DC-jack acceptance window of 11.4–12.6V, then test the supplied adapter at Japanese input voltage and at this unusually light load. Its 18W rating is ample; it also means its own overload protection cannot substitute for protection of a thin fan harness.

Budget 80mA for the listed fan maximum, 20mA for the 3.3V electronics including indicators and design allowance, and approximately 0.4mA for input-protection quiescent current. With an LDO, approximately 100.4mA is drawn at 12V: 1.205W DC input. The 20mA allocation is an assumed load budget, not measured MCU consumption. Adapter wall power requires actual efficiency at this light load; do not apply its rated-load efficiency.

The fan page does not establish the motor-current waveform during start or internal retries. Reserve 0.30A for fan startup until measured. With 20mA electronics and charging a 47µF capacitor to 12.6V in 20ms (I = CΔV/Δt = 29.6mA), provision about 0.35A total transient current. This is an assumed design envelope, not fan data. Nominal 0.5A eFuse current limit is a starting point: calculate minimum/maximum limits and startup timer behavior from the TPS26600 data sheet and verify no nuisance trip across temperature.

For an optional extension, assume a measured or specified 0.14Ω total copper loop resistance, 0.10Ω contacts and a conservative 0.30Ω hot protection-path allowance. At 0.35A, drop is 0.35 × 0.54 = 0.189V, leaving 11.211V from an 11.4V jack. Cable copper loss alone is 0.35² × 0.14 = 17.2mW. These resistance assumptions must be replaced by the final cable, connector and eFuse corners. A bulk capacitor cannot sustain motor start: at 0.30A for 10ms and 0.5V permitted droop, C = 6mF; 47µF would supply only about 78µs.

Input protection is a coordinated design, not one TVS value
ConditionProposed implementation / unresolved check
Wrong polarityTPS26600 reverse-input protection; no polarity-dependent TVS directly across raw input
Wrong 15V/24V adapterOVLO nominal 12.8V; prove worst-case trip and overshoot stay within fan 13.2V limit; otherwise tighten accepted source or change protection
Shorted harnessNominal 0.5A limit, latch-off fault mode and deliberate user power-cycle recovery; verify wiring temperature and device SOA
Hot plug / ESDConnector-side ESD path and short return; select clamp from pulse current and actual residual voltage, not 12V nominal alone
Inrush / brownoutSet controlled rise, use brownout reset; verify adapter does not enter repetitive hiccup

4. Implement the actual four-wire interface, including reset

Keep fan supply continuous during speed control. Connect pin 1 to ground, pin 2 to protected 12V, pin 3 to tach capture and pin 4 to PWM. The Noctua interface paper specifies 25kHz target PWM, acceptable 21–28kHz, and a non-inverted duty definition: a high PWM input gives full speed. Do not drive this pin with 12V.

An open-collector circuit is common in fan discussions, but this manufacturer explicitly discourages it because its weak internal pull-up can deform the waveform, and recommends CMOS drive. Therefore this candidate uses SN74LVC1G125 at 3.3V, with 100nF local decoupling, 10kΩ pull-up on active-low OE, 100kΩ pull-down on A and an initial 100Ω series resistor at Y. Its three-state output and partial-power-down protection suit the fan’s internal pull-up; verify output and supply-off limits against the actual fan voltage. The series resistor is an EMI starting value, subject to waveform verification.

Before enabling the buffer, configure its input as high, start the 25kHz timer, then pull OE low. Reset leaves OE high and the fan input released, requesting full speed while fan power exists. Normal duty is high-time fraction at the fan pin. With a 48MHz timer clock and no prescaler, 1920 counts give 25kHz; ensure the timer really receives 48MHz and implement 0%/100% endpoints without compare glitches. Reset-default full speed does not cover a shorted PWM line or missing 12V.

Tach is the open-collector signal: use 10kΩ to 3.3V (about 0.33mA), a 1kΩ MCU-side series resistor, and initially 1nF at the capture input. Two pulses per revolution give rpm = 30f; 2200rpm gives 73.3Hz and a 13.6ms pulse period. Capture periods and reject implausibly short edges rather than counting only in a short window. Confirm rise time and pulse widths with the final harness. Do not assume a motionless high tach level proves rotation.

5. Give firmware explicit temperature and fault states

Read temperature at 2Hz, validate sensor identity/configuration after reset, use a bounded I²C transaction timeout and maintain the timestamp of each successful conversion. Use a 2s first-order filter for normal speed requests, while testing raw valid samples for overtemperature. Place the sensor in representative warm exhaust air away from the LDO, MCU, walls and direct cool inlet jet; use PCB slots or a small sensor daughterboard to reduce conducted heat. A short internal harness is assumed; an external long I²C probe needs a different physical interface and ESD design.

Use the following proposed state machine. Temperature thresholds are application assumptions, not sensor limits. Apply decreases no faster than 5 duty percentage points per second to reduce audible hunting; allow immediate increases for a fault or alarm. Keep 100% during boot until two valid readings arrive. Enable the independent watchdog with a proposed 1s maximum recovery time including tolerance; service it only when the sensor, control and output tasks each report completion. A hardware PWM timer can continue a stale command during a CPU hang until reset.

Sensor disconnected, SDA/SCL shorted, invalid ID, implausible range or conversion age over 1.5s all request full speed and a latched fault. A digital sensor repeatedly returning a plausible but stale value may evade these checks; detect data-ready progression where possible and evaluate an independent sensor if the cooled equipment requires it. No single sensor or watchdog makes this a protective safety function.

Proposed control law and recovery rules
State / triggerActionExit / detection detail
Stopped0% PWM after valid T ≤37°C for 30sStart at T ≥40°C; 3K hysteresis
Start request100% PWM for 2sThen ramp to normal request; prove tach presence
Normal run35% at 40°C, linear to 100% at 55°CD = clamp[35 + (T−40)×65/15, 35, 100]% while running
OvertemperatureRaw T ≥60°C: 100%, latched red alarmAlarm may be acknowledged only after T <55°C for 30s
Sensor / firmware faultRelease PWM or drive high; red faultTwo valid readings alone do not erase fault history
Possible stallAfter startup grace: no tach edges for 0.5s, or <200rpm for 3s while duty ≥35%Force 100%; latch alarm if no recovery after 10s; retain 12V
Intentional stopTach may be zeroDisable stall detection at 0% duty

6. Check junction temperature and the enclosure together

The LDO only supplies the electronics. At 12.6V and 20mA, main loss is (12.6−3.3) × 0.020 = 0.186W. Add an illustrative 0.1mA input-side allowance for regulator and programming-network current: total about 0.1873W. Confirm actual quiescent limits, output tolerance and capacitor requirements in the TPS7A16 data sheet. Do not multiply this loss by fan current.

For sensitivity only, assume local board air of 60°C in a blocked-vent fault and effective θJA of 70 or 150°C/W. Tj ≈ Ta + Pθ gives 73.1°C or 88.1°C. At an accidental 50mA continuous electronics load, loss becomes about 0.466W and the same 150°C/W model gives about 130°C, above a proposed 105°C design target. This makes a future bright LED or peripheral a thermal change. These are system assumptions, not the package θJA guarantee. TI’s thermal-metrics guidance explains why test-board θJA cannot establish an enclosed-board junction temperature.

Use the selected package’s exposed-pad land pattern, solder coverage and thermal vias; inspect the assembled board. Measure case/board temperatures with fine thermocouples and use applicable ΨJT with its limitations, or a validated thermal model, to estimate junction temperature. A thermal camera requires emissivity and reflection checks. Monitor the fan hub, LDO, protection IC, jack and hottest capacitor with clean filter, dirty surrogate, stalled fan and blocked openings. Normal operation must not rely on thermal shutdown.

Provide an intake area that does not throttle the exhaust, prevent recirculation around the fan frame, and separate the sensor from wall hot spots. Guards, foam and anti-vibration mounts change pressure drop and resonance. Compare orientations and grille spacings at the same installed flow; test startup at minimum voltage with the filter present. Specify a proposed finished-product noise target of ≤30dB(A) at 1m in a documented low-background room during the 8W/25°C test, recording background and tonal rattle. If background is too high, the measurement is inconclusive. A fan MTTF claim is not a product lifetime or warranty.

7. Decide the Japan sale scope before labels and packaging

For the defined 12V-only controller and fan, METI’s scope overview treats ordinary DC equipment as generally outside PSE designation, while the external AC/DC adapter is a specified electrical appliance. This is an initial applicability assessment, not an official product determination. METI’s applicability FAQ requires assessment by function, construction and ratings; a bundled accessory can remain regulated even when the main product is not. Submit the final schematic, nameplate, adapter/cord and sales configuration for classification confirmation where uncertain.

For a Japan launch, procure the adapter and compatible Japanese mains cord through a documented domestic supply chain, inspect the actual diamond PSE marking, rated values and responsible business identification, and retain the correct model’s conformity evidence. A manufacturer’s global “PSE” claim is not a check of the item delivered. If you become the adapter importer, establish the applicable notification, conformity-assessment, inspection/record and labeling duties using the METI business guide. A compliant adapter does not certify the assembled controller, and a non-designated DC controller should not be given a PSE mark simply for appearance.

Make a finished-product EMC plan with a laboratory after confirming product classification. VCCI is a voluntary scheme for multimedia equipment; an MCU alone does not automatically make this fan controller MME or impose VCCI registration. Nevertheless, motor commutation, clock, cable common-mode current and 25kHz edges can disturb nearby equipment. Perform emissions and immunity prechecks using the final adapter, harness and enclosure, then choose applicable product standards rather than declaring universal CISPR 32 applicability.

CE marking and FCC authorization are not Japan-market release requirements merely because an MCU is present. For an EU launch assess applicable legislation, including EMC requirements, technical documentation and declaration obligations; a 12V input alone does not exempt the entire product from all EU rules. For a US launch assess FCC Part 15 classification and any §15.103 appliance exemption using the final function, rather than promising FCC certification for every fan controller. Treat export variants as separate release configurations.

8. Turn the design into a measurable release gate and service plan

The table is a proposed verification plan, not a test report or a compliance certificate. Record hardware revision, firmware hash, fan/adapter lots, calibrated instruments, ambient conditions, sample count, setup photographs and raw logs for every test. Start engineering screening with at least three assemblies; choose reliability and production qualification sample sizes from the failure risk and business requirements, not from the fact that three prototypes passed.

The selected fan has its own lock/retry behavior. Keeping 12V present and commanding full speed for 10s allows observation across retries; it does not prove the rotor can recover from debris. Do not repeatedly power-cycle a mechanically blocked fan without first checking the obstruction. A sensor fault and a stall can coexist: log both, retain the full-speed request and indicate that cooling is unconfirmed.

Before sale, release schematics, PCB files, BOM with approved alternates, enclosure/guard drawings, firmware source and binary hash, programming and end-of-line instructions, hazard review, supplier conformity records, packaging/drop-test specification and Japanese instructions. Label 12V DC, polarity, the approved adapter configuration, indoor limits and identification/lot information. Instructions must explain hot surfaces where relevant, keeping guards fitted, cleaning/filter intervals established by dust testing, power removal before service and alarm response.

At end of line verify firmware version/CRC, sensor plausibility, forced-temperature state transitions, fan tach at two commands, fault LED and input current against limits established from qualification. Log serial number and calibration/functional result; a startup spin alone is insufficient. Retain a golden assembly and fixture check records. Track bearing noise, filter obstruction, connector damage and sensor drift in returns; stock compatible fans/adapters and control substitutions because a different fan can change PWM stop behavior, current, acoustics and EMC. The release decision remains open until the proposed tests, applicability review and production records are complete.

Proposed acceptance matrix — none of these results has been measured
Test / conditionsProposed acceptance / evidence
DC corners and startup11.4/12.0/12.6V; 0/25/40°C; 100 starts per assembly: no reset or eFuse trip; tach ≥200rpm within 2s; captured fan rail never >13.2V
PWM / power sequencingAt fan connector 25kHz ±2%, low ≤0.8V, valid high per fan interface; 0/35/100% and all rail-order/reset cases produce intended behavior
Temperature / airflow8W dummy at 40°C; specified dirty-filter surrogate: hot-zone <55°C and installed flow ≥6m³/h; soak to <1K change over 30min
Component thermalNormal and defined faults: inferred semiconductor Tj <105°C target and all parts within actual derated limits; uncertainty documented
Fault injectionSensor open, bus short, stalled rotor, tach open, hung control task: correct fault indication and full-speed request by specified 1.5s / 0.5s / watchdog limits; no unsafe heating
Input misuseReverse −12.6V for 60s and 24V wrong adapter: no damage or smoke; protected fan voltage remains within permitted limit including transient; recovery as specified
Short / hot plugFan harness short at 12.6V: current limitation/latch-off without damaged harness or enclosure; 100 hot plugs: no corrupted state or damage
ESD / EMC precheckProposed engineering screen ±4kV contact / ±8kV air on accessible points: no damage, autonomous recovery ≤2s and no false persistent stop; standard/applicable levels confirmed by lab
Sound / service enduranceNoise target above; initial 1000h at 40°C with logged starts and filter loading: no loss of control or visible damage; this does not establish field lifetime

Frequently asked questions

Can I copy a generic open-collector 25kHz fan driver?
Check the selected fan documentation. Noctua’s paper discourages open-collector drive and recommends CMOS. This example uses a three-state buffer so reset releases the input; the tach output remains open collector.
Does an external PSE adapter make the finished product ready for sale?
No. Confirm the exact adapter and cord, Japan applicability and your business role, then complete the finished-product thermal, mechanical, EMC, functional and production release evidence. This reference has no measured results.

Standards and references

DEVICE DESIGN EXAMPLES

Design a complete device

Follow unbuilt reference designs through requirements, circuit choices, power, heat, tests and release checks.

← All design guides