Thermal Management & Cooling for Robots: The Ultimate Guide
Where robot heat comes from and how to move it out: thermal resistance networks, heatsinks, TIMs, heat pipes, liquid loops, and motor thermal limits.
Every watt a robot burns that does not leave as useful work leaves as heat, and that heat has to go somewhere. A motor winding at 40% efficiency dumps more into its own copper than it delivers to the joint. A drive stage loses 2 to 3% of everything it switches. A compute module running a vision-language model pulls 40 to 275 W and turns almost all of it into a plume of warm air. A lithium pack heats on both charge and discharge, and its life collapses if it runs hot. None of these numbers are optional, and none of them care about your CAD model.
Thermal design is the quiet constraint that sets what a robot can actually do continuously. The datasheet peak torque, the burst compute clock, the fast-charge rate: those are transient numbers you can hold for seconds. What you can sustain is set by how fast you move heat from where it is made to the air around the robot, and that path is a chain of thermal resistances you can calculate, measure, and improve. Get it wrong and the robot throttles, derates, demagnetizes, or shuts down halfway through a shift, usually on the hottest day of the year when you least want it to.
This guide treats heat as an engineering flow with its own Ohm's law. We start with where the heat is generated, then the three transport mechanisms and the thermal-resistance network that ties them together, then passive cooling (heatsinks, interface materials, spreading), then active cooling (forced air, heat pipes, liquid), then the specific thermal limits of motors, compute, and batteries, and finally the real tension in any mobile robot: the sealing that keeps dust and water out is the same sealing that traps heat in.
The take: Cooling a robot is a thermal-resistance problem you can solve with arithmetic. Add up the K/W from junction to ambient, multiply by the watts you dissipate, and that temperature rise is what you get. Every cooling technique is just a way to lower one resistance in that chain: a better interface material, a bigger fin area, forced air instead of still air, a heat pipe to move the heat somewhere with room to reject it, or liquid when the heat flux is too high for air at all. Size for the continuous (RMS) load with margin, treat peak as a transient the thermal mass absorbs, and remember that an IP66 seal roughly doubles your internal resistance to ambient.
Companion reading: robot power & batteries, brushless DC motors (BLDC), edge AI robot compute, power electronics & motor drives, and robot enclosures & IP ratings.
Table of contents
- Key takeaways
- Where the heat comes from
- The three transport mechanisms
- The thermal resistance network
- A worked junction-to-ambient example
- Passive cooling: heatsinks, TIMs, spreaders
- Active cooling: forced air, heat pipes, liquid
- Motor thermal limits: RMS torque and time constants
- Compute and battery thermal
- The IP sealing vs cooling conflict
- Selecting a cooling approach
- Failure modes and maintenance
- Frequently asked questions
Where the heat comes from
Before you cool anything, tally the watts. A robot's heat budget is the sum of a few well-understood loss mechanisms, and knowing their magnitude tells you where to spend cooling effort.
Motor losses
A motor converts electrical power to mechanical power, and the gap is heat. The two dominant terms:
- Copper loss (I²R): current through the winding resistance. This is the big one under load, and it scales with the square of current, so with the square of torque (since τ = Kt·I). Double the torque and you quadruple the copper heating. For a joint holding against gravity all day, this is a continuous load with no duty-cycle relief.
- Iron loss (core loss): eddy-current and hysteresis losses in the stator laminations, rising with electrical frequency and flux density. Eddy loss goes roughly as (B·f)², hysteresis roughly linearly with f. At low speed iron loss is small; on a high-pole-count motor spinning fast it becomes significant.
Add mechanical losses (bearing friction, windage) that show up as the no-load current. For a well-matched BLDC running near its design point, total loss is 10 to 20% of input power. A small drone motor at full throttle can drop into the 70s percent efficiency, meaning a quarter of the input becomes heat in a 40-gram part. See the BLDC motor guide for the loss physics in depth.
Drive and power-electronics losses
The motor drive (the FOC controller or ESC) loses power two ways: conduction loss (current through the MOSFET or IGBT on-resistance, I²·Rds(on)) and switching loss (energy burned each time a device turns on or off, times the switching frequency). A typical drive runs 96 to 99% efficient, so a 500 W joint drive dumps 5 to 20 W into a few square centimeters of silicon and copper. That is a high heat flux in a small area, and it lives right next to temperature-sensitive gate drivers and capacitors. The power electronics guide covers device losses in detail.
Compute
Modern robot compute is a serious heat source. An edge AI module spans a wide range: a low-power SoC pulls 10 to 25 W, a mid-range module 40 to 60 W, and a full GPU-class inference board for running vision-language or perception stacks pulls 100 to 275 W or more. Nearly all of it becomes heat concentrated on a die a few centimeters square, which is a heat flux measured in tens of W/cm², high enough that the chip's own package and a good heatsink are mandatory. See edge AI robot compute.
Battery
A battery is a source with internal resistance, and current through that resistance heats the pack: P = I²·R_internal, on both charge and discharge. A pack delivering 100 A through 20 mΩ of internal resistance dissipates 200 W inside the cells. Fast charging heats it harder still. The battery is also the most temperature-sensitive component in the robot, so it is both a heat source and a thing you must keep cool, which makes its placement a real design fight. See robot power & batteries.
Rule of thumb: Tally continuous watts first, per source, at the worst sustained operating point. Motors and compute usually top the list on a mobile robot; drives and battery are smaller but sit in tight, hot, sensitive spots. You cannot cool a number you have not calculated.
The three transport mechanisms
Heat moves by exactly three mechanisms, and every cooling design is a combination of them.
Conduction
Heat flows through solids down a temperature gradient. Fourier's law, in the one-dimensional form you use for a heatsink base or a cold plate:
Q = k · A · ΔT / L # watts through a slab
R_cond = L / (k · A) # its thermal resistance, K/W
where k is thermal conductivity (W/m·K), A the cross-sectional area, L the path length, and ΔT the temperature difference across it. Conductivity spans four orders of magnitude: still air ≈ 0.026, plastic ≈ 0.2, stainless steel ≈ 15, aluminum ≈ 200, copper ≈ 400, and pure sintered silver or diamond higher still. This is why a 3D-printed PLA motor bracket is a thermal blanket (k ≈ 0.2) while an aluminum one is a heat path (k ≈ 200): a factor of 1000 in the same geometry.
Convection
Heat leaves a surface into a moving fluid (usually air). Newton's law of cooling:
Q = h · A · ΔT # watts off a surface
R_conv = 1 / (h · A) # its thermal resistance, K/W
The heat-transfer coefficient h is the whole story, and it depends on how the air moves:
- Natural (free) convection in still air: h ≈ 5 to 25 W/m²·K. The air moves only because it warms and rises.
- Forced convection with a fan: h ≈ 25 to 250 W/m²·K. Blowing air over the surface strips the boundary layer and multiplies the coefficient roughly 3 to 10×.
- Liquid convection: h ≈ 500 to 20,000 W/m²·K. Water carries orders of magnitude more heat per degree than air, which is the whole reason liquid cooling exists.
Radiation
Every surface radiates heat as infrared, following the Stefan-Boltzmann law:
Q = ε · σ · A · (T_s⁴ − T_amb⁴)
where ε is surface emissivity (0.05 for polished aluminum, 0.9+ for black anodize or paint), σ = 5.67e-8 W/m²·K⁴, and temperatures are absolute (kelvin). Because of the fourth-power dependence, radiation is small at low temperatures and modest ΔT, and grows fast as surfaces get hot. Below ~60 °C in a ventilated box it is usually a minor term. On a sealed, fanless enclosure sitting at 80 °C in still air, radiation can carry 20 to 40% of the total, which is why passive sealed boxes are almost always black anodized, not bare aluminum: raising ε from 0.05 to 0.9 is nearly free cooling.
Rule of thumb: Inside the robot, engineer the conduction path (short, wide, high-k, good interfaces). At the boundary to air, engineer the convection (area and airflow). Do not forget to paint or anodize a passive sealed surface black; the radiation term is free and non-trivial once the surface runs warm.
The thermal resistance network
The single most useful idea in thermal design is that heat flow is exactly analogous to an electric circuit. Temperature is voltage, heat flow (watts) is current, and thermal resistance (K/W) is resistance. The governing equation is Ohm's law for heat:
ΔT = P × R_th # temperature rise = power × thermal resistance
Resistances in a single path add in series; parallel paths add as reciprocals, exactly like resistors. A chip cooled to air has a series chain:
R_ja = R_jc + R_TIM + R_cs + R_sa
R_jc = junction-to-case (inside the package, from datasheet)
R_TIM = thermal interface material (paste/pad between case and heatsink)
R_cs = case-to-sink spreading (usually folded into R_TIM or R_sa)
R_sa = sink-to-ambient (the heatsink plus its convection)
The junction temperature is then just:
T_junction = T_ambient + P × R_ja
This is the whole framework. Every component in a robot has a stack like this. A motor winding: winding-to-iron, iron-to-housing, housing-to-mount, mount-to-ambient. A battery cell: core-to-can, can-to-holder, holder-to-cooling-plate, plate-to-coolant. Once you write the network, you see immediately which resistance dominates, and that is the one worth attacking. There is no point buying a 0.1 K/W heatsink if a lazy interface joint adds 2 K/W in front of it.
Two subtleties matter in practice. First, the network has capacitance too: thermal mass (C_th, in J/K) stores heat and slows temperature change, giving a time constant τ = R_th·C_th. That is why a heavy motor can swallow a hard transient a light one cannot. Second, resistances are not perfectly constant; convective h rises with ΔT (natural convection) and radiation is strongly nonlinear, so the network is a linearization that is accurate enough for design and worth refining with measurement.
Rule of thumb: Draw the resistance network before you buy anything. The largest single resistance in the chain sets your temperature, and it is usually an interface or the final convection step, rarely the metal in the middle. Fix the biggest resistor first.
A worked junction-to-ambient example
Take a real case: a robot's motor-drive board dissipating 15 W from a power stage, and we want to know if it stays under its 125 °C junction limit in a 40 °C enclosure.
Start with the resistances in the path, junction to ambient:
P = 15 W dissipated in the power stage
T_amb = 40 °C (inside the robot, not room air)
R_jc = 0.5 K/W # junction-to-case, from the device datasheet
R_TIM = 0.3 K/W # thermal pad, 1.5 W/m·K, area ~4 cm², 0.2 mm thick
R_sa = 3.5 K/W # small extruded heatsink, natural convection
Add them in series:
R_ja = 0.5 + 0.3 + 3.5 = 4.3 K/W
ΔT = P × R_ja = 15 × 4.3 = 64.5 °C
T_j = T_amb + ΔT = 40 + 64.5 = 104.5 °C
That clears the 125 °C limit, but only by ~20 °C, and that is with a clean pad and the datasheet ambient. Now stress it. Suppose the installer skips the pad and relies on a dry, slightly warped metal contact, pushing R_TIM to 1.5 K/W:
R_ja = 0.5 + 1.5 + 3.5 = 5.5 K/W
T_j = 40 + 15 × 5.5 = 40 + 82.5 = 122.5 °C # 2.5 °C from the limit
A single sloppy interface ate 18 °C. Now add a fan over the heatsink, dropping R_sa from 3.5 to 1.2 K/W, and keep the good pad:
R_ja = 0.5 + 0.3 + 1.2 = 2.0 K/W
T_j = 40 + 15 × 2.0 = 40 + 30 = 70 °C # comfortable
The lesson is in the arithmetic. The heatsink metal itself was never the problem. The two levers that moved the answer by tens of degrees were the interface material and forced air. This same calculation, with different numbers, sizes a motor housing, a GPU heatsink, or a battery cold plate. Write the chain, find the biggest term, attack that.
War story: A team shipped an AMR that ran fine on the bench and thermally shut down its compute after 40 minutes in the field. The bench had the lid off. Sealed for dust in the warehouse, the enclosure's internal air climbed from a 25 °C bench ambient to 55 °C, and the compute's 65 °C rise landed the die at 120 °C and triggered throttling then shutdown. Nothing in the resistance chain had changed except T_ambient, the term everyone had measured with the lid off. They added a sealed air-to-air heat exchanger on the enclosure wall and the internal ambient dropped back to 38 °C. Always compute from the sealed internal ambient, not room air.
Passive cooling: heatsinks, TIMs, spreaders
Passive cooling moves heat with no moving parts: conduction into a spreader, then natural convection and radiation off a finned surface. It is silent, reliable, and free of the failure modes of fans and pumps, so it is the default whenever the heat load allows.
Heatsinks
A heatsink is surface area for convection, plus enough base conductivity to spread heat to the fins. Its sink-to-ambient resistance R_sa is what you buy. Design levers:
- Fin area: more area lowers R_sa roughly proportionally, until fins get so tall or so closely spaced that the outer fins run cool (fin efficiency drops) or the channels choke airflow. In natural convection, fin spacing below ~6 to 10 mm starts to stifle the buoyant airflow between fins, so a natural-convection sink has fewer, taller fins than a forced-air one.
- Base thickness and material: the base must spread heat from a small source across the fin field. Too thin a base leaves the outer fins cold (high spreading resistance). Aluminum (k ≈ 200) is the default; copper (k ≈ 400) for high flux where its weight and cost are justified.
- Orientation: natural-convection fins must run vertically so the warm air rises through the channels. A finned sink laid flat with horizontal channels loses much of its rating.
Typical natural-convection extruded heatsinks land at 1 to 20 K/W depending on size; forced-air sinks reach 0.1 to 2 K/W.
Thermal interface materials (TIMs)
Two nominally flat surfaces touch only at their high spots; the rest is air-filled gaps that block heat. A TIM fills those gaps with something more conductive than air. The interface resistance is:
R_TIM = t_bond / (k_TIM · A)
where t_bond is the achieved bond-line thickness (thinner is better) and k_TIM the material conductivity. The options, roughly:
| TIM type | Conductivity (W/m·K) | Bond line | Use |
|---|---|---|---|
| Thermal grease/paste | 3 to 12 | Very thin (<0.1 mm) | CPU/GPU/die, best performance, messy, can pump out |
| Gap pad (silicone) | 1 to 8 | 0.5 to 5 mm | Fills large or uneven gaps, reworkable, easy |
| Phase-change pad | 3 to 8 | Very thin | Melts at temperature to wet the surface, clean |
| Graphite sheet | 5 (through) / 1500 (in-plane) | Thin | Spreading and interface, dry, reworkable |
| Thermal adhesive/epoxy | 1 to 4 | Thin | Bonds and conducts, permanent |
The single biggest amateur mistake is a dry metal-to-metal joint, or too much paste (which adds bond-line thickness instead of removing it). Aim for the thinnest continuous film that fills the gaps. On a big uneven gap, a pad; on a flat lapped die, a thin paste.
Heat spreading
When the heat source is small and the rejection surface is large, spreading resistance appears: heat cannot instantly fan out from a 1 cm² die into a 100 cm² plate. A thick high-k spreader (copper slug, vapor chamber, or graphite sheet) reduces it. A vapor chamber is a flat, sealed two-phase device (a heat pipe in planar form) that spreads heat nearly isothermally across its face, common under dense GPUs and increasingly in robot compute modules. Graphite sheets (in-plane k ≈ 1500 W/m·K) are a light, thin way to smear a hot spot across a chassis panel.
Rule of thumb: The heatsink is the cheap part; the interface and the spreading are where temperature hides. Spend on a good TIM and enough base/spreader to feed the fins evenly before you spend on more fin area.
Active cooling: forced air, heat pipes, liquid
When passive cannot shed the load, you add energy to move heat faster. Three tiers, in rough order of capability and cost.
Forced air
A fan multiplies the convective coefficient h by 3 to 10×, dropping R_sa by a similar factor. It is the cheapest, most reliable active method and the first thing to reach for. Design notes:
- Push or pull? Pushing air onto a heatsink gives higher pressure and turbulence at the fins (better cooling); pulling gives more uniform flow. Most compute modules push.
- Static pressure vs flow: dense fin stacks and filters need a high-static-pressure fan (thick, high blade count); open chassis want a high-flow fan. Reading only the "CFM" number and ignoring the pressure curve is a classic mistake that leaves a fan stalled against its own back-pressure.
- Filtration and fouling: a fan pulls dust in. A filter protects the fins but adds back-pressure and clogs over time, raising R_sa as it does. This is a maintenance item, not a fit-and-forget part.
Forced air's ceiling is set by air's low heat capacity: past roughly 50 to 100 W/cm² of local flux, or in a sealed robot where there is no clean air to move, it runs out.
Heat pipes
A heat pipe is a sealed copper tube with a wick and a small charge of working fluid (often water). Heat at one end boils the fluid; the vapor rushes to the cold end, condenses, and the wick pulls the liquid back by capillary action. The two-phase transport gives an effective conductivity of 10,000 to 100,000 W/m·K, tens to hundreds of times better than solid copper, at near-zero temperature drop along its length.
The key point: a heat pipe moves heat, it does not reject it. It carries heat from a cramped hot spot (a drive buried in a joint, a compute die in a tight bay) to a place with room for a heatsink and airflow. You still need a heatsink at the condenser end. Heat pipes have an orientation preference (they work best with the condenser above the evaporator so gravity assists the wick, though good wicks work against gravity to a limited degree) and a maximum power before the wick dries out. They are passive, silent, and reliable, which makes them a favorite for moving heat out of sealed or moving parts of a robot.
Liquid cooling
When heat flux is too high for air, or the heat must be carried a long way (off a moving arm, out of a sealed core to an external radiator), pump a liquid. A cold plate (a metal block with internal channels) mounts to the hot component; coolant carries the heat to a remote radiator where a fan rejects it to air. Because liquid's h is 500 to 20,000 W/m²·K, a small cold plate handles what would need an enormous air heatsink.
- Pros: highest heat flux capability, moves the rejection surface away from the hot core, quiet at the source, enables dense packaging.
- Cons: pumps and fans that fail, hoses and fittings that leak (a leak near electronics is catastrophic), coolant that degrades, added mass and complexity, and a system that must be bled of air and maintained.
Liquid cooling shows up on high-power humanoid and quadruped actuators running hard duty cycles, on GPU-class compute in dense robots, and on high-thrust linear-motor stages. For most robots it is overkill; reach for it only when air genuinely cannot cope.
| Method | R reduction | Heat flux ceiling | Cost/complexity | Failure modes |
|---|---|---|---|---|
| Natural convection | baseline | ~1 to 5 W/cm² | Lowest | None (silent, passive) |
| Forced air | 3 to 10× lower R_conv | ~50 to 100 W/cm² | Low | Fan bearing wear, dust fouling |
| Heat pipe | moves heat, near-zero ΔT | wick-dryout limited | Low to medium | Wick dryout, orientation limits |
| Liquid loop | 10 to 100× lower R_conv | >500 W/cm² | High | Pump failure, leaks, air locks |
Motor thermal limits: RMS torque and time constants
A motor's continuous rating is a thermal limit. The magnetics can produce far more torque than the copper can survive thermally for more than a few seconds, so heat sets the sustained ceiling. Understanding this is the whole game in actuator sizing.
The winding temperature limit
The ceiling is set by the winding insulation class (IEC 60085): Class A = 105 °C, B = 130 °C, F = 155 °C, H = 180 °C. These are the temperatures at which the enamel reaches its rated design life. The Arrhenius rule baked into the standard is that every ~10 °C over class roughly halves insulation life. A second, lower ceiling is the magnet: neodymium magnets lose ~0.11 %/°C of flux reversibly, and pushed past the knee of their demagnetization curve (heat plus armature current) they lose magnetization permanently, which shows up as a reduced Kt and a quiet failure spiral. Cheap N-grade magnets start suffering above ~80 °C; SH grades hold past ~150 °C.
Steady-state temperature and RMS torque
The winding settles at:
T_winding ≈ T_ambient + P_loss × R_th
P_loss ≈ I² · R (+ iron and friction losses)
Because copper loss goes as I², and torque goes as current (τ = Kt·I), heating goes as torque squared. The temperature responds to the mean of I² over the motion cycle, which is why the design-relevant quantity is the RMS torque:
τ_RMS = sqrt( (1/T) ∫₀ᵀ τ(t)² dt )
Size the motor so τ_RMS ≤ τ_continuous. The instantaneous peak can exceed continuous by 2 to 4×, but only for a duration short against the thermal time constant. A pick-and-place arm that accelerates hard then sits idle has a low RMS torque and can use a smaller motor than its peak suggests. A joint holding a leg against gravity all day has its hold torque as a continuous load with no relief.
The thermal time constant
How long the motor can exceed continuous is set by its thermal time constant, τ_th = R_th·C_th, the resistance to ambient times the thermal mass. The winding warms as a first-order lag:
ΔT(t) = P_loss · R_th · (1 − e^(−t/τ_th))
A 40-gram drone motor has τ_th of a handful of seconds; it reaches steady temperature almost as fast as you change the throttle, so it gets almost no burst relief. A 3-kg industrial servomotor with a heavy iron stator has τ_th of several minutes, and that thermal reservoir is exactly what lets it swallow a hard acceleration transient. Bigger thermal mass forgives spiky loads; a tiny motor does not.
Cooling the motor
Cooling directly buys torque, because the same motor at a lower R_th settles at a lower temperature for the same current, so you can push more current before hitting the insulation limit. The levers:
- Mount to a heatsink. Bolting the motor to the aluminum chassis can drop R_th dramatically. A 3D-printed PLA bracket insulates. In an outrunner (windings on the inner stator, spinning can outside), heat must go out the mounting face, so the mount is the cooling path and its interface matters.
- Airflow. Forced convection over the housing can raise the continuous rating 30 to 100%.
- Higher voltage, lower current. Same power at higher bus voltage means lower current, and copper loss falls with the square. Moving a drive from 24 V to 48 V halves the current for the same power and cuts I²R loss 4×, a big reason robot drivetrains are going to 48 V.
- Liquid jacket. High-duty humanoid and quadruped actuators increasingly run a coolant jacket around the stator for sustained high-torque work.
Rule of thumb: Compute RMS torque over the real motion profile, keep it under the continuous rating with 20 to 30% margin for your actual (usually worse than datasheet) cooling, then check the peak fits within the thermal time constant. Never size a motor from the peak number on the box.
Compute and battery thermal
Compute
Robot compute has the highest heat flux in the machine: 40 to 275 W concentrated on a die a few centimeters square, tens of W/cm². The package (with its integrated heat spreader), a good TIM, and a real heatsink are all mandatory; there is no passive-with-no-heatsink option at these fluxes. Design points:
- Throttling is the failure you design against. A GPU-class module runs full clocks only while it stays under its thermal limit (often ~85 to 95 °C junction). Exceed it and the firmware drops clocks to protect the die, and your perception pipeline slows exactly when the robot is working hardest. A robot that "gets slow after 30 minutes" is usually thermally throttling.
- Compute from the sealed internal ambient, not room air. As the war story above showed, the internal enclosure air, not the bench room, is the T_ambient in the equation, and it can be 15 to 30 °C hotter.
- Vapor chambers and heat pipes are common on dense modules to spread and move the hot-spot heat to a finned area or chassis wall.
- Duty cycle helps here too. Bursty inference on a heavy thermal mass can exceed sustained TDP briefly, but a robot running continuous perception has no relief and must be sized to the full sustained power.
Battery
The battery is the most temperature-sensitive component and a heat source at once. Lithium chemistry facts that drive the design:
- Sweet spot 15 to 35 °C. Within this band the pack delivers rated capacity and ages slowly.
- Heat kills life. Every ~10 °C above ~30 °C roughly halves calendar life. Sustained operation above ~45 to 50 °C accelerates degradation, and at the extreme (internal shorts, overcharge, or a hot ambient stacked on high current) risks thermal runaway, the self-heating chain reaction that leads to venting and fire.
- Cold hurts differently. Below ~0 °C, charging plates metallic lithium on the anode, which permanently reduces capacity and can grow dendrites that short the cell. Cold packs also sag hard under load. A robot working in a freezer or outdoors in winter needs to warm the pack before charging.
- The pack is a heat source. I²·R_internal heating on charge and discharge means a hard-working pack warms itself, so the cooling must handle both the ambient and the self-heating.
Battery thermal management ranges from passive (thermal mass, spacing cells for airflow, a conductive holder) on light robots, to forced air, to liquid cold plates between cells on high-power packs, sometimes with a heater for cold-start. A battery management system (BMS) monitors cell temperatures and derates charge/discharge current or cuts off when a cell leaves the safe window. The robot power & batteries guide covers pack design and the BMS in depth.
Rule of thumb: Keep the battery between 15 and 35 °C for capacity and life. Put it away from the motors, drives, and compute (the other three heat sources), give it its own conduction path to a cool surface, and let the BMS derate before the cells overheat. Never fast-charge a cold pack.
The IP sealing vs cooling conflict
Here is the tension that defines mobile-robot thermal design. To survive dust, splashing, washdown, or weather, a robot needs a sealed enclosure (see robot enclosures & IP ratings). An IP54 rating keeps out dust and splashes; IP65/66 keeps out dust entirely and withstands jets; IP67/69K survive immersion and high-pressure hot washdown. But the same seal that blocks water blocks the airflow you were counting on for convection. You cannot vent a sealed box.
The number to internalize: a sealed enclosure roughly doubles or worse the internal-ambient-to-outside-air resistance compared to an open, ventilated one, because you lose forced convection and much of the natural convection across the boundary. The heat still has to cross the wall by conduction and by natural convection and radiation on the outside. So a compute module that was fine at 60 W in an open chassis may throttle at 40 W once sealed, purely because the internal air climbs.
The ways to shed heat from a sealed robot, none of which is an open vent:
- Conduct to the enclosure wall. Mount the hot component (drive, compute, cold plate) directly to the metal wall through a good TIM, and fin or finned-extrude the outside of that wall. The wall becomes the heatsink, the seal stays intact. This is the cleanest solution and the most common on sealed drives and outdoor robots.
- Sealed air-to-air heat exchanger. A unit mounted in the wall with two isolated airflows: an internal fan circulates the sealed inside air across one side of a core, an external fan blows ambient air across the other, and heat crosses the core without air crossing. Keeps the IP seal while restoring forced convection. Common on outdoor cabinets and larger AMRs.
- Sealed liquid loop. Cold plate inside, hoses through a sealed pass-through, radiator outside. Highest capability, moves the rejection surface entirely outside the sealed core.
- External finned cold wall. For lower loads, just conduct everything to a black-anodized finned external surface and let natural convection plus radiation carry it, no moving parts at all.
- Heat pipe through the wall. Evaporator on the internal hot spot, condenser finned on the outside, the pipe crossing a sealed pass-through. Passive, silent, keeps the seal.
What you must not do is add a vent fan to a robot that needs IP protection; that trades the seal for cooling and voids the reason you sealed it. And an enclosure heater or purge may be needed for the opposite problem: condensation and cold in outdoor or refrigerated robots.
Safety rule: On any sealed robot, size cooling from the internal ambient with the lid on, and pick a heat-rejection method that preserves the IP rating (wall conduction, sealed heat exchanger, sealed liquid loop, or heat pipe). Never solve a sealed-box thermal problem with a vent; you will fail the ingress test and let in exactly what you sealed against.
Selecting a cooling approach
A repeatable workflow. Work in this order and the answer usually falls out.
1. Tally the continuous heat load
For each source (each motor, each drive, compute, battery), compute the worst sustained dissipation in watts at the real duty cycle, using RMS not peak for the motors. This is the number cooling must handle continuously.
2. Set the temperature limits and ambient
Write down each component's limit (winding insulation class, junction max, battery upper band) and the true worst-case ambient. For a sealed robot, that is the internal air with the lid on, not the room. Subtract to get the allowable rise ΔT.
3. Compute the required thermal resistance
The cooling path must satisfy R_required = ΔT_allowable / P. That single K/W number tells you which tier of cooling you need:
- A generous R_required (say > 3 K/W for the watts you have) means natural convection or a modest heatsink is enough.
- A tight one (< 1 K/W) usually means forced air.
- Very tight, or a sealed box, or high flux, pushes you to heat pipes or liquid.
4. Choose the tier and lay out the path
- Passive (heatsink + good TIM, black anodize if sealed): lowest cost, silent, no failure modes. Default whenever R_required allows.
- Forced air: the cheap big win when passive is close but not enough; watch static pressure and dust.
- Heat pipe: when the hot spot is cramped or moving and you need to carry heat to where fins fit.
- Liquid: when flux is too high for air or the heat must leave a sealed core or a moving limb to a remote radiator.
5. Respect the interfaces and the ambient
Put a real TIM at every metal-to-metal junction in the path. Keep the battery away from the other heat sources. Recompute with the installed R_th (brackets, seals, filters make it worse than the datasheet) and add 20 to 30% margin.
6. Verify transients against thermal mass
Check that peaks (a hard acceleration, a burst inference) fit inside the component's thermal time constant. Heavy parts forgive spikes; light ones do not.
| Situation | Typical answer |
|---|---|
| Low-power SoC, open chassis | Passive heatsink |
| GPU-class compute, open chassis | Forced-air heatsink, maybe vapor chamber |
| Motor drive in a tight joint | Conduct to structure + heat pipe if cramped |
| Motor holding continuous torque | Mount to chassis heatsink, 48 V, forced air |
| High-duty humanoid/quadruped actuator | Liquid jacket or aggressive conduction |
| Sealed outdoor/washdown robot | Wall conduction or sealed heat exchanger |
| Dense high-power compute in sealed core | Sealed liquid loop to external radiator |
| Battery pack, mobile robot | Isolate from heat sources, forced air or cold plate + BMS derating |
Failure modes and maintenance
Thermal systems fail in a handful of recognizable ways, and most are maintenance items, not design flaws.
- Interface degradation. Thermal paste dries out or "pumps out" from under a die over thermal cycles, raising R_TIM and slowly cooking the part. Pads compress-set. Symptoms: a machine that ran cool for a year now throttles. Re-paste on a schedule for high-power dies.
- Dust fouling. A fan-filter or a finned heatsink clogs with dust, raising R_sa. This is the single most common field thermal failure on mobile robots. Symptom: gradual creep in running temperature and shorter time-to-throttle. Clean filters and fins on a maintenance interval.
- Fan wear. Sleeve and ball-bearing fans have finite life (30,000 to 100,000+ hours) and slow or seize as bearings wear. A dead fan turns a forced-air design back into a much worse natural-convection one, often instantly over the limit. Monitor fan tach signals and replace on schedule.
- Pump and coolant failure. Liquid loops lose flow (pump wear, air locks) or coolant (leaks, evaporation, degradation). A leak near electronics is catastrophic. Monitor coolant temperature and flow; a rising delta-T at constant load means falling flow.
- Heat-pipe dryout. Overpower a heat pipe or run it against gravity beyond its wick capacity and it dries out, its effective conductivity collapsing to bare copper. Usually a design/orientation error rather than wear.
- Motor demagnetization. Sustained over-temperature (running peak current too long, or a hot ambient) permanently weakens the magnets, dropping Kt so the motor needs more current for the same torque, which makes it run hotter still. The rotor is not repairable; you replace it. Prevent with honest RMS sizing and temperature monitoring.
- Battery degradation. Chronic operation above ~35 to 40 °C ages the pack fast; capacity fades and internal resistance rises, which increases self-heating, a slow spiral. The BMS logs cell temperatures; watch for a pack that runs progressively hotter for the same load.
Instrument the robot. Cheap thermistors or the built-in sensors on motors, drives, compute, and the BMS let you log temperatures over a real shift and catch a rising trend before it becomes a shutdown. The best thermal maintenance is a temperature log that shows the slow creep of a fouling filter or a drying interface months before it trips.
Rule of thumb: Most field thermal failures are dust, a dead fan, or a dried interface, not a design mistake. Log component temperatures, set alert thresholds below the throttle point, and put filter cleaning and fan/paste replacement on the maintenance calendar. A robot that shuts down "randomly" in summer almost always has a clogged heatsink and a hot ambient nobody measured.
Frequently asked questions
How do I know if a component will overheat before I build anything?
Add up the thermal resistances from junction (or winding) to ambient, in K/W, multiply by the watts dissipated, and add the worst-case ambient. That gives the operating temperature: T = T_ambient + P × R_th. Compare it to the component's limit. If it exceeds, find the largest resistance in the chain (usually the interface or the final convection step) and lower it. The whole design reduces to that one equation and one resistance network.
Why does my robot run fine on the bench but overheat in the field? Almost always the ambient. The bench often has the lid off and room-temperature air; a sealed robot in a warm warehouse has internal air 15 to 30 °C hotter, and that internal temperature is the T_ambient in the equation. Compute (and the whole thermal design) from the sealed internal ambient with the enclosure closed, at the hottest environment the robot will see, not the bench.
Is thermal paste really worth it, or can I skip the interface material? It is worth it, and skipping it is the most common and most expensive amateur mistake. Two flat metal surfaces touch only at their high spots; the gaps are air, which blocks heat. A dry joint can add 5 to 15 °C that a few cents of paste or a pad would remove. The interface resistance is often larger than the heatsink's own resistance, so it is the first thing to get right.
What is the difference between a heat pipe and a heatsink? A heat pipe moves heat with almost no temperature drop, from a cramped or moving hot spot to somewhere with room to reject it. A heatsink rejects heat, giving it surface area to convect into air. They work together: the heat pipe carries heat out of a tight joint or compute bay to a finned heatsink in open airflow. A heat pipe with no heatsink at its far end has nowhere to dump the heat.
When do I actually need liquid cooling? When the heat flux is too high for air (dense GPU compute, high-duty actuators), or when the heat must be carried out of a sealed core or off a moving limb to a remote radiator. Liquid's heat-transfer coefficient is orders of magnitude above air, so a small cold plate does what a huge air heatsink cannot. The cost is pumps, hoses, leak risk, and maintenance, so use it only when air genuinely cannot cope; most robots never need it.
How much torque does cooling really buy on a motor? A lot, because the continuous rating is a thermal limit. The same motor at a lower thermal resistance settles at a lower temperature for the same current, so you can push more current before hitting the insulation limit. Good conduction to the chassis plus forced air commonly raises the continuous rating 30 to 100%. Cooling is the cheapest way to get more usable torque from a motor you already have.
Why is the battery placed away from the motors and electronics? Because it is the most temperature-sensitive component and the other three are heat sources. Batteries want 15 to 35 °C; every 10 °C above ~30 °C roughly halves their life, and heat accelerates degradation toward the runaway threshold. Putting the pack next to hot motors or compute soaks it in their waste heat. It gets its own location, its own conduction path to a cool surface, and a BMS that derates before the cells overheat.
How do I cool a sealed, waterproof robot without breaking the IP rating? Never with a vent. Conduct the heat to the enclosure wall through a good interface and fin the outside of that wall, so the wall is the heatsink and the seal stays intact. For higher loads, use a sealed air-to-air heat exchanger (two isolated airflows, heat crosses the core, air does not) or a sealed liquid loop with the radiator outside. A heat pipe through a sealed pass-through also works. All of these preserve the IP seal while restoring a real heat-rejection path.
What does radiation contribute, and should I paint my heatsink black? Radiation follows the fourth power of absolute temperature, so it is small at low temperatures and modest rises, but it grows fast on a hot surface. On a sealed passive enclosure running at 70 to 80 °C in still air, radiation can carry 20 to 40% of the total heat, and raising the surface emissivity from 0.05 (bare aluminum) to 0.9 (black anodize or paint) is nearly free cooling. For a fan-cooled sink in a ventilated box, convection dominates and the paint matters little.
Should I size for peak or continuous power? Continuous, using RMS for anything that varies (motor torque, bursty compute). The peak is a transient the thermal mass absorbs for a time set by the thermal time constant. Size the cooling so the RMS load holds the component under its limit with margin, then verify the worst peak fits inside the time constant. Sizing to peak wastes cooling; sizing to average and ignoring the transient risks a shutdown at the worst moment.
Related guides
- Thermal & Infrared Imaging for Robots: The Ultimate Guide
- Robot Networking: EtherCAT, TSN & Fieldbus, The Ultimate Guide
- Robot Maintenance & Troubleshooting: The Ultimate Guide
- How to Program a Robot Arm: The Ultimate Guide
- Robotics Career Roadmap: The Ultimate Guide
- Robot Fleet Management: The Ultimate Guide