Heatsinks for when the H7+ dies during heavy processing

I wanted to share how our team made heatsinks for the H7+, as we kept getting the “solid light of doom” during image processing when deploying outdoors. In our case, outdoors is Texas summer, above 95F, full sun. We ran tests, and it was indeed the high-temperature environment that led to the three H7+s crashing.

The addition of heatsinks was an improvement. Units that were crashing within two minutes without a heatsink, ran for over an hour with the heatsink, we got tired of waiting for them to crash and unplugged them, then formally deployed them later. The crashing was an interaction of processor load, based on how many images per second we were processing, against external temperature. Direct sunlight, heating the H7+ was a secondary factor that was also predictive of failure.

Here are finished heatsinks and a heat-sink specific case. The goal was to have the fins align with the case, not stick out, so they couldn’t get snagged and ripped off. I’m not allowed by the forum to embed step by step photos so I’ll explain in writing.

These are the parts I bought from Digi-Key.

Heat sink rails: PART: ATS2182-ND MFG : Advanced Thermal Solutions Inc. / ATS-EXL58-300-R0

Heatsink thermal past: DESC: HEATSINK AL6063 300X6X8MM 7.93000 7.93.
PART: 3196-TC-GC-03-02-ND MFG : Gelid Solutions LLC / TC-GC-03-02, DESC: THERMAL COMPOUND 10GR, 8.5W

Additionally, I had a tabletop mini-vise, the smallest and cheapest I could find at Home Depot, a hack saw, and a rotary tool stone for removing metal burrs.

To create the heatsink, I placed the heatsink rails side by side in a vice. Using a hacksaw with fresh blade, I made two cuts. First, I cut them to be a generous 1cm square block of fins. Then, I cut the fins of 5mm of the block, leaving the metal base. This created a large area of contact with the processor, while minimizing the chance of the metal heatsink touching the underside of the camera board. This is what the cut heatsink looks like. https://photos.app.goo.gl/N1zpG9pq4RApaU1z5

I removed the camera board, exposing the processor.
Then I used non-conductive thermal paste to attach the heatsink to the chip.

Finally, I edited the available case 3D model to accommodate the heatsink and a solar shade/reflector. Here is a SketchUp file and STL for anyone who wants a case that attaches a heatsink’ed H7+ to a tripod, either Manfrotto quick-release, or insert a quarter-inch nut for typical screw-on mount.

Note, the SketchUp file is 1000X larger, because Sketchup has issues with fine geometry. Just scale your resulting stl.


Very cool! What was the internal temp of the CPU when crashing? You can see it via using the ADC all object in pyb. There’s a way to get the internal processor temperature.

We found that the extreme environment related crashes happened sooner when we stayed connected to the IDE using an active USB cable (we were running about 40 feet away from the workstation). So we stopped watching specifics live but we could save data locally with our unmodified H7 and record the internal temps. I’ll see if one of the student workers can re-create a crash. The weather is not nearly as punishing during August as in July so we may not have the same extremes. If we do I’ll update.

Very informative post, thanks!
We have similar temperatures here. What kind of heavy computing did you do to bring the board to its heat limits? We have had several crashes and we are not sure what to attribute them to since heat was supposed not to affect our setup (Heat and pressure build-up in waterproof enclosure).

We were running blob detection using background comparison and removal. The overheats happened at 200ms to 2 second intervals. We never got an overheat at, say, 5 second interval. It was possible to get an overheat by leaving the H7+ on a pile of papers or other desktop detritus at low process loads but that’s not the H7’s fault.

You might want to try the heatsink, or even a really bitchin’ flared fin-type heatsink to overcome the insulation of a waterproof plastic layer. You could pretty easily make a waterproof bottom for your case that accommodates the fin by putting a dead H7 with a fin on a vacuum table and make the bottom of your case a permanent addition to the board. Then, seal the vacuum table sheet into a hole cut in the bottom of the case using say, aquarium silicone. You could make a removable case if you had vertical fins and not a flair but a flair would be extra cooling.


Thank you for all these suggestions!