Skip to main content
Why Does a Fanless Edge Device Slow Down by Afternoon?
Edge AI

Why Does a Fanless Edge Device Slow Down by Afternoon?

EDGE AI

A fanless module drawing 15 W at 40 °C ambient climbs to 77.5 °C with a 25-minute time constant, yet a 5-minute benchmark sees only 18 % of that rise.

Treating the edge module of a molded-part inspection system as a thermal resistance and a heat capacity, I calculated the steady-state temperature, clock fixing, allowable thermal resistance and temperature alarm in turn.

About 11 min read

Inspection systems that put an edge inference module inside a fanless enclosure usually show excellent numbers in pre-shipment tests. Power on, run a benchmark for a few minutes, and inference time stays flat with no wobble in decision latency. The trouble starts in the afternoon, a few hours after installation on the line, when decision latency turns ragged. The model and the optical setup are unchanged, yet the results differ, and without a temperature log not even the fact that heat is the cause comes to light.

First, the target surface. Molded parts differ greatly in brightness under the same lighting depending on whether the resin is matte or glossy, and on glossy faces the exposure and preprocessing get adjusted to avoid specular reflection, which changes the compute load and power. The thermal calculation below assumes matte resin under a diffuse ring light. On strongly reflective faces such as glossy resin the power conditions have to be set again, so the numbers cannot be guaranteed before a sample test.

Here are the assumptions. The module is fixed in a 15 W power mode, the fanless enclosure has a thermal resistance1 of 2.5 °C/W, the module, heat sink and housing together have a heat capacity2 of 600 J/°C, and the highest ambient at the installation site is 40 °C. The camera has 2,048 × 1,536 px with 3.45 μm pixels and a 16 mm lens, capturing a 61.4 mm × 46.1 mm FOV at 30 μm/px from about 155 mm at the lens principal plane (a WD3 of 140 mm or more secured). The model’s inference time is 10 ms at the reference clock.

Five-minute benchmarks see 18 % of the rise

The module, heat sink and enclosure have both a mass that stores heat and a path that releases it to the ambient air. Feed in a constant power P and the temperature rise follows 1 − e−t/τ, with the thermal time constant4 τ equal to the product of the thermal resistance R and the heat capacity C. The final rise is set by P × R, but reaching it takes several τ, and a fanless design, with a large R and a large C from its aluminum mass, easily ends up with a τ of tens of minutes.

With the assumed values, τ is 2.5 × 600 = 1,500 s, 25 minutes, and the steady-state temperature is 40 + 15 × 2.5 = 77.5 °C. But at the end of a 5-minute benchmark the rise is only 1 − e−0.2 ≈ 18 % of the final value, leaving the module at 46.8 °C. The benchmark sees the performance of a cool module, the line the performance of a hot one. So I start performance measurement only after at least 3τ, when the rise has reached 95 % of its final value.

Clock swings shake inference time by 4.3 ms

Thermal protection logic lowers the clock near the limit and raises it again as the temperature falls. Inside an enclosure with a long time constant, this control becomes a slow oscillation, and inference time oscillates with it in inverse proportion to the clock. The decision latency distribution splits into two peaks and the p99 sits on the slow peak, so even if the average looks only slightly slower, the slow state becomes the reference from the deadline’s point of view. This is thermal throttling5.

Graph comparing the cold-start benchmark window with the rise to thermal equilibrium, and throttling-induced inference jitter with stable fixed-clock latency
Compare how far into the temperature rise a short benchmark reaches, and how latency behaves when the clock swings versus when it is fixed.

For a model with a 10 ms inference time, throttling the clock to 70 % makes inference take 10 ÷ 0.7 ≈ 14.3 ms. When the clock moves between the two states, the same model develops a 4.3 ms wobble, the jitter6. Fixing the clock at 85 % from the start makes inference 11.8 ms, slower on average, but the wobble disappears. For an inspection with a deadline, I would choose a fixed 11.8 ms over swinging between 10 and 14.3 ms.

The power mode and clock are not set at peak performance; they are fixed at values that hold at thermal equilibrium. Dynamic clock adjustment is a convenience feature that does not stay as the default on inspection equipment, and it is worth confirming that the same values come back after a reboot. How clock jitter stretches the tail of decision latency is calculated with per-stage p99 values in the latency budget article.

Allowable thermal resistance of 2.0 °C/W takes one line

The starting point of heat dissipation design is less the heat sink size than one line: allowable thermal resistance Rmax = (target temperature − highest ambient) ÷ power. The temperature at which throttling begins is set by the module maker’s documents, and the design target is placed with a margin below it. Once the target temperature, highest ambient and fixed power are set, the thermal resistance the enclosure must meet follows directly, and then come thermal pad7 contact, fin orientation and the convection conditions at the installation site.

With a target of 70 °C, a highest ambient of 40 °C and 15 W, Rmax is (70 − 40) ÷ 15 = 2.0 °C/W. The 2.5 °C/W enclosure above exceeds this, so either the fin area grows or the installation site changes. Meeting 2.0 °C/W makes τ 2.0 × 600 = 1,200 s, 20 minutes, and validation running needs 3τ, 60 minutes or more. At the 60-minute mark the module sits at 68.5 °C, still 1.5 °C short of the 70 °C target.

This design also means the module stops at exactly 70 °C at the highest ambient. At a site with 45 °C ambient the steady state rises to 75 °C and the margin is gone, so I take the summer peak temperature of each candidate site as an input to the thermal calculation first.

Temperature alarms work better on the rise

Setting the alarm 5 °C below the target, at 65 °C, looks sensible, but putting it into this setup exposes the problem. On a day with 40 °C ambient the steady state is 70 °C, so the module reaches 65 °C about 36 minutes after power-on and the alarm then stays on all day. An alarm that is always on is an alarm nobody looks at.

So I set the alarm on the rise above ambient, in place of the absolute temperature. The design value P × R is 15 × 2.0 = 30 °C, so the alarm fires when the rise exceeds 35 °C, which means the apparent thermal resistance has grown to 2.33 °C/W. Whatever the ambient, the same criterion catches degradation of the heat path, such as fins clogged with dust or a lifted thermal pad, while the absolute limit stays separately at 70 °C. This approach needs one more ambient temperature sensor near the enclosure.

The log exists for analysis after the fact. Recording module temperature, ambient temperature, clock, power and inference time on the same timestamp every second lets you match the clock value at the moment a latency tail appeared and separate thermal problems from software problems. Software optimization cannot cover flaws in the thermal design or the optical setup, so the log is used only to point to the cause, and the fix is found in heat dissipation and installation. Five values every second pile up to 86,400 lines a day, so I add a rule that cuts out and keeps only the 10 minutes on either side of each latency tail.

Keep the camera out of the module heat path

Putting the camera head in the same enclosure as the compute module first brings up the worry that focus will drift. By my calculation that worry is small at this magnification. Assuming a 20 mm aluminum mount warmed by 30 °C, it grows by 23 × 10−6/°C × 20 mm × 30 °C ≈ 14 μm, while the image-side depth of focus8, taking a circle of confusion of two pixels (6.9 μm), is 2 × 8 × 6.9 μm × (1 + 0.115) ≈ 123 μm at f/8 and still 43 μm at f/2.8, so the expansion is a third of it or less.

Even so, I keep the camera outside the heat path of the compute module. As the sensor warms, dark current9 noise grows and the signal-to-noise ratio of low-contrast defects such as a 3 px speck drops first, and as the lens and bracket warm and cool repeatedly, the calibrated position reference shifts little by little. Noise and the position reference become problems before focus does.

90 μm specks and thermal conditions in one table

Optical and thermal conditions sit side by side in one table. The thermal numbers are managed by calculating their margins the same way as the optical ones.

Item① Minimum defect size② Optical setup · WD③ Algorithm · thermal parameters
Surface speck (particle)Diameter 90 μm = 3.0 px (30 μm/px)2,048 × 1,536 px, 3.45 μm pixels, 16 mm lens, FOV 61.4 × 46.1 mm, diffuse ring light at 45°, WD 140 mm or more (object distance about 155 mm from the principal plane)15 W power mode fixed, clock fixed at 85 %, inference 11.8 ms
Parting line flashWidth 150 μm = 5.0 pxCamera mounted separately from the compute enclosureAllowable thermal resistance 2.0 °C/W, τ = 20 minutes, validation run 60 minutes or more
Thermal alarmRise above ambient over 35 °C (apparent thermal resistance 2.33 °C/W)Extra ambient temperature sensor near the enclosureAbsolute limit 70 °C, jitter criterion p99 − p50 ≤ 3 ms
LogEvery secondModule and ambient temperatures recorded togetherTemperature, clock, power and inference time on the same timestamp

The two places with the least margin in this table stand out. The 90 μm speck sits at 3.0 px, the floor of the optical resolution, and on the thermal side the 2.0 °C/W design stops at exactly 70 °C at the highest ambient, a margin of zero. So if the ambient at the site runs higher than assumed, the thermal side gives way before the optics, and the rise alarm is what catches that signal earliest.

When a fan or intermittent operation is better

There are places where the opposite choice wins. In an installation without dust and maintenance constraints, a fan structure cuts the thermal resistance sharply and allows a higher fixed clock, with filter replacement intervals managed as a precondition. If inspection runs in brief bursts of a few minutes with long idle periods between them, the module cools before reaching τ, so cold-start performance is close to actual running performance. And in structures where latency wobble does not lead to escapes, such as offline inspection with a loose decision deadline, raising average throughput with dynamic clock adjustment can be the better call.

Strongly reflective materials such as glossy molded parts change the preprocessing load and power conditions with the lighting and exposure. So carrying the thermal design numbers above over to another product cannot be guaranteed before a sample test, and when the product changes I start again from a 60-minute continuous run at fixed power.

Field Note

If I place a fanless inspection system somewhere hot, I look at the latency distribution after 60 minutes or more of continuous running in place of the benchmark numbers. As the housing temperature rises, the clock can step down and lengthen the latency tail, and a short benchmark does not show that stretch. I overlay the 1-second temperature and clock logs on the latency records on the same time axis, and if it comes to that, I fix the clock at a lower value, choosing less jitter over a better average. The alarm goes on a 35 °C rise above ambient.

Field Checkpoints

Check that the items below are in the pre-shipment test plan. The thermal items carry the same weight as the optical ones.

  • Is a WD of 140 mm or more secured by measurement, including the ring light thickness and the bracket for the separately mounted camera? (object distance about 155 mm from the principal plane)
  • Have you sorted the part into matte or glossy resin and measured power under the matching lighting and preprocessing conditions?
  • Was performance measured at thermal equilibrium, after continuous running of 3τ or more? (60 minutes for τ = 20 minutes)
  • Was the allowable thermal resistance Rmax calculated from the highest ambient at the installation site? (70 °C, 40 °C, 15 W → 2.0 °C/W)
  • Are the power mode and clock fixed, and do they come back to the same values after a reboot?
  • Is the temperature alarm set on the rise above ambient, with module temperature, ambient temperature, clock, power and inference time recorded together every second?

Frequently Asked Questions

If I enlarge the heat sink, do I still have to fix the clock?

Enlarging the heat sink to bring the thermal resistance below 2.0 °C/W makes reaching the throttling temperature less likely, and latency may hold steady even with a dynamic clock. The criterion, though, is whether a margin remains after the highest ambient and dust buildup go into the calculation, and until that margin is confirmed, keeping the clock fixed is the safer side for the deadline.

How do I measure the thermal time constant?

Run at fixed power and log the module temperature every second; the time when the rise reaches 63 % of its final value is τ. In this setup the module should pass about 59 °C around the 20-minute mark at 40 °C ambient, and if it lands far from that, I go back to the heat capacity or thermal resistance assumptions.

Glossary

  • [1] Thermal resistance thermal resistance
    How much temperature difference a heat path creates. At 2.5 °C/W, every watt flowing through it makes the module 2.5 °C hotter than the ambient air. ↩
  • [2] Heat capacity heat capacity
    The heat needed to raise the temperature by 1 °C. At 600 J/°C, warming by 1 °C takes 600 J. ↩
  • [3] WD working distance
    The distance from the front of the lens to the surface under inspection. The roughly 155 mm in the text is a thin-lens object distance from the lens principal plane; the distance from the lens front comes from the lens drawing. ↩
  • [4] Thermal time constant thermal time constant
    The product of thermal resistance and heat capacity, the time the temperature takes to reach 63 % of its final rise. After three time constants it reaches 95 %. ↩
  • [5] Thermal throttling thermal throttling
    A protective action that lowers the clock to cut heat as the chip temperature nears its limit. Computation slows by as much as the clock drops. ↩
  • [6] Jitter jitter
    How much the processing time of the same task wobbles from run to run. Here it is measured as the difference between p99 and p50. ↩
  • [7] Thermal pad thermal pad
    A soft sheet that fills the gap between the chip and the heat sink so heat crosses easily. If it lifts or its compression changes, the thermal resistance grows. ↩
  • [8] Depth of focus depth of focus
    The range on the sensor side over which the image stays sharp. The values in the text take a circle of confusion of two pixels (6.9 μm) and use 2 × f-number × circle of confusion × (1 + magnification). ↩
  • [9] Dark current dark current
    Current that flows in sensor pixels even without light. It grows as the temperature rises and mixes into the image as noise. ↩

References

  • Formulas: thermal time constant τ = R × C, steady-state temperature = ambient + P × R, rise at time t = P × R × (1 − e−t/τ), allowable thermal resistance Rmax = (target temperature − highest ambient) ÷ P, inference time at a clock ratio = reference inference time ÷ clock ratio, apparent thermal resistance = rise ÷ P, thermal expansion = expansion coefficient × length × temperature change, image-side depth of focus ≈ 2 × N × c × (1 + m), object distance = f × (1 + 1/m)
  • Assumptions: power 15 W, thermal resistance 2.5 °C/W (2.0 °C/W after improvement), heat capacity 600 J/°C, highest ambient 40 °C, target temperature 70 °C, reference inference time 10 ms, camera 2,048 × 1,536 px (3.45 μm pixels), 16 mm lens, FOV 61.4 × 46.1 mm, aluminum expansion coefficient 23 × 10−6/°C, mount length 20 mm, circle of confusion 6.9 μm

Related reading — Four Snags in Initial Jetson Orin Nano Setup · In Edge Inspection, Input Drift Shows Up Before Accuracy Drops · Why an Average Latency Inside the Deadline Is Not Safe

An engineer who has handled mechanical design and project management for production equipment since 2005. Here I work through the cameras, lenses and lighting that go into equipment with formulas and public data, and record the assumptions and sources alongside the numbers.

Leave a Reply

Your email address will not be published. Required fields are marked *