Creating a 3W LED assembly that is reliable and doesn’t meltdown


3 Watt grow light LED

In this post I will be describing my adventure to dimension a heatsink and learn the physics behind its purpose. I started with no idea of how it worked, and how to keep my LED cool when it turned on. 







From time to time I get an urge to plant herbs. See them grow, giving the seeds all they need to germinate and grow to be a beautiful and tasty herb. I have seen many video tutorials on how to grow fresh herbs at home. The difficulty to me is actually when we try and have to face nature. Living in an apartment increases a bit the difficulty but for the most part I think is my lack of experience. It’s not just placing the seed in a container with soil and watering it. Either you plant those and all turns out perfect or you will have to mitigate not so perfect ambient conditions. My journey started when I realized that I could control a bit more the conditions and have more reliable plant growth. A big problem that I faced was that my plant loved a certain amount of sun, but too much of it would actually hurt it for I don’t have many solar location options. In this article I will be describing my journey to use artificial lighting instead of the sun. To achieve this goal I had to use grow light LED, however those can come in a very simple package, without a driver or heat dissipation.



The problem to realize this endeavor started with the actual driver for the LED. The LED prefers constant current not constant voltage. This required me to buy an additional driver specific for my 3W LED. Initially When I used voltage to supply the LED I imediatly noticed that heating would be a problem for it continuously heated up consuming more and more energy. This made me see that LED heat control would be a very challenging endeavor even with the appropriate driver. The question that remained to be answer was how to use the LED safely.

Another topic which was important was if a dissipator and a fan were used, then how can we join everything together to make a single unit.



The deal with heating normally heat dissipators are used. But my question was which one to buy and will it cool down the LED light? I selected two cylindric heat dissipators with different dimensions to solve this problem. There was however the possibility that neither solution alone would work. When the LED heats up, it will by conduction, transfer heat to the dissipators and from them convection to air takes place. The problem that can occur is that the dissipator can take so much heat from the LED as it can transfer it’s heat to the air. Natural convection uses the natural motion of hot air upwards to bring new cold air to the fins of the dissipator but this can be a relatively slow process. However forced convection will blow more “cold” air to the surface of the dissipator fins to increase the rate at witch we remove heat from the fins of the dissipator. This will influence LED temperature.


Heatsinks for heat dissipation.

  • No dissipation with natural convection

  • No dissipator with forced convection
  • Small dissipator with natural convection
  • Small dissipator with forced convection
  • Bigger dissipator with natural convection
  • Bigger dissipator with forced convection

In bold are the ideas that actually were tested more in-depth.



To be honest I started out just trying new things out of curiosity and when finished asked myself   if calculations would have prevented me from spending money in failed attempts or would have gained some time. I learned a lot in this sections and it made me realize that the tools available for free are mature enough to help.

I selected Freecad and their Calculix implementation. My calculation was done only for the big dissipator. The mesh geometry used was a tetrahedron type mesh created with gmsh. The elements used were Four-node tetrahedral elements (C3D4) and the type of analysis was a steady state coupled temperature-displacement.   

The important inputs of the model were the amount of heat generation by the LED, ambient temperature and convection coefficients now the heat transfer of the fins to the air.

  • Heat generation (Surface heat flux) 10300 W/m^2
  • Generic Aluminium considered for the heatsink
  • Ambient temperature 300K (27ºc) considered a summer day
  • Surface Convection:
    •  Natural: 5W/m^2/K
    • Forced: 100W/m^2/K

A side from perfect conduction between the LED pc board to the heatsink and convection between the heatsink and air nothing else was considered.

To set up FreeCAD on Mac was a bit challenging for Calculix and gmsh don’t come pre installed. The windows version already includes everything. On the linux version I did not test to see what comes by default. Please note that the FEM package comes included in the Mac version but when you try to mesh or solve unfortunately it won’t be so straight forward. I will make a post specific for this topic in the future. 

Calculix and gmsh setup in MacOS Mojave

Experimenting at home I could see that with natural convection I could reach very easy 80º C (353K) in 10 minutes of LED operation with the current driver. This made me decide that natural convection would never yield safe operation.

Interestingly the model offered the following result:

Steady-state heatsink result with natural convection

From the model we can see that temperature reaches 446K (173ºC). I don’t know if let alone it would reach these temperatures. Also my measurement was done on the opposite face of the heatsink so there might be some difference between where the LED is and the opposite face. Still my intuition was correct to use a fan to remove heat from the heatsink as a more secure and safe option.

Steady-state forced convection heatsink result

Steady-state heatsink result with forced convection

When forced convection is included temperature reduces to ambient temperature which was 300K (27º C). On my practical experience as the fan starts blowing the heatsink drops rapidly to ambient temperature.

I naturally had to consider heatsink and fan for the LED heated too much. But how to connect all of this together and make a single working unit.


I had to go back and forth with this. I first started with natural convection and a small heatsink then concluded it wasn’t enough. Then tried with a bigger heatsink with the same heating problem and finally decided to include a fan. 

The assembly was 3D printed with PLA and the basic concept was to use the spacers to pressure together the fan and the LED against the heatsink. The thermal probe was place on top near the fan. To access that the heatsink cooled down after running, I would turn the LED and measure the temperature rise. In my case I measure the temperature without the fan working to set an action to turn on the fan for active cooling. I tried PWM to control the fan speed but it was just too noisy for my taste.

LED Assembly

LED Assembly



An important lesson was that I really needed forced convection as the LED reached 80ºC even with the large dissipator. What I noticed was that it took more time to heat up and was faster to cool down comparing to the smaller dissipator, even with natural convection. In my case the LED temperature had to be managed when reaching a critical temperature.