Warming PCB in cold environment using SMD components only

There are plenty of off the shelf surface mount resistors that can handle the power that is at your disposal. You can even use multiple resistors to spread the heat and derate the parts. For instance, many 1206 resistors are rated for 0.5W. Using two of these to spread the heat would split the power between them, giving each plenty of headroom to ensure you don't approach they're specified limits. A single 2512 resistor may be rated for 1W. Refer to the manufacturer's part data sheet for specifics on each part.

Keep in mind that you're trying to transfer the thermal energy into the PCB, and into your sensor. Depending on the type of heat sink that you're referring to, the heat sink may try to transfer that thermal energy into the surrounding air, which is what you want to avoid. Copper is a good thermal conductor, so you can use the traces that connect to the heating resistor/s to transfer the heat to the sensor. If the resistor and sensor share a common node for direct copper connection, use that to your advantage. Keep the resistor close to the sensor, and the copper between them as large as reasonable.


You’re trying to heat the sensor, not the PCB. So let’s heat the sensor.

Without knowing the footprint of the sensor, it’s hard to give anything more than a general answer, so you’ll need to adapt it to your specific situation. But, the gist is this:

  1. Use a single 0.5W resistor, sized to draw maybe 400mW-450mW. Do not use a larger power rating, you want the resistor to be rated for slightly more than the power you plan to dissipate through it. This is because heat transfer is dependent on temperature difference, so you want the resistor to get hotter rather than cooler, even if the power is the same.

  2. Place the resistor so it is mounted directly under the sensor, but on the opposite side of the PCB. And most importantly, both pads of the resistor are slightly over sized and have as many vias as you can fit in them.

  3. Now comes a choice: heating pads or direct heat injection. This really depends on the size, shape, footprint, and nature of the sensor. If it has a large pad tied to ground or some other obvious substrate connection, then direct heat injection is probably your best bet. Make only one pad of the heating resistor over sized, and only that pad has vias. Those vias connect directly to the ground (or whatever it is) substrate pad of the sensor. Thermally isolate the other pad of the resistor by using jut one very small (but not so small that it can’t handle the current) copper trace. Now we have a very direct interface between the resistor and sensor. The sequence is copper of the resistor pad -> solder > copper pad and thermal vias -> solder -> sensor’s copper ground connection. As you can see, we’ve actually directly attached our heater resistor to the sensor using solder and copper. Heat will much prefer to flow through this low thermal resistance path and much less into the surrounding PCB.

    Heating pads are similar. but we have thermal vias on both resistor pads and they connect to two copper pours directly under the sensor, acting as copper heating pads. If possible, don’t cover these pours with solder mask and use a thermal interface compound or thermal pad between the copper heating pads and the sensor. This option is likely going to be inferior to direct heat injection however.

    Note: Keep these thermal vias isolated form any of your internal copper pours as much as possible.

As for actually controlling this, if you weren’t just going to do it digitally, there are all sorts of delay circuits using a diode, transistor, and the RC time constant of a resistor and capacitor. You could use this to switch the power to the resistor off and on to the sensor after a preset delay (20-30 seconds).