Call for Support
thepulsar.be has been providing high quality articles, experiments and open-hardware instruments since 2009. I always choose to provide the content for free, without relying on paid advertisements/popups and such which spoil the overall user experience. As a consequence, I run exclusively on private donations through the Patreon plateform. I therefore ask you to take a moment to consider donating to support our 15yr+ effort on this website.
In [»] my last post, I explained how to characterize LED and diffusers angular spectra in order to properly model optical backlights. In this post, we use this information to build a 40×30 mm² highly homogeneous, polarized, white light backlight capable of delivering up to 600 mW of optical power.
The backlight follows a classical standard backlight architecture shown in Figure 1. A LED panel provides the illumination and a diffuser, placed at a specific distance, homogenizes the output. A polarizer sheet is introduced in front of the diffuser to create linearly polarized light, and the enclosure provides a 40×30 mm² square aperture in addition to several mounting holes. As always, the complete CAD (including Gerber files for the LED panel) is available [∞] here for free for all our [∞] Premium members for reproduction.

Most of the optimization process goes into the LED panel. Given the distance between the LED panel and the diffuser, in addition to the backlight aperture, required homogeneity (and a few other parameters which will be discussed later), we need to determine: (a) the distance between LEDs to use, and, (b) the number of LEDs to use. Backlight optimization usually boils down to identifying these two quantities as the distance between the LED panel and the diffuser is often fixed by mechanical constraints and compactness requirement.
It is relatively straightforward to understand that packing the LEDs closer to each other will result in a more homogenous illumination, but note that this will always be at the expense of the overall number of LEDs to use. Less straightforward this time is that using more LEDs with a given spacing will also improve homogeneity at the rim of the backlight. This is because we would like each point of our backlight to be as symmetrical as possible, but we break this symmetry when reaching the edge of the LED panel.
In Figure 1, the LED panel is therefore 48×36 mm² for an aperture of 40×30 mm² with a LED spacing of 12 mm. If the LED spacing were decreased to 10 mm, the homogeneity would improve on the center part of the backlight but decrease on the outer part hence revealing the importance of proper optimization of these parameters!
I also tried different LED pattern arrangements for the backlight through simulations. Indeed, I demonstrated [»] here how square patterns are among the worst arrangements you can use in raytracing of optical systems and that there are much better arrangements possible such as square-centered, hexagonal and, among the best, Poisson-disk distributed sampling. In fact, I was certain I could improve on traditional backlights using these different arrangements and that was the reason I started investigating backlights! Ironically, my investigations yielded the exact opposite of my initial guess: the traditional square arrangement proved to be the best and Poisson-disk distribution the worst by far :)
A photography of the final PCB is shown in Figure 2. Normally, you would want to use a metal-core PCB to remove the heat from the LEDs, but I couldnt afford one and so I used standard FR4 for my prototype. This does not change the homogeneity of the backlight but reduces the amount of optical power to about 600 mW. In theory, with proper heat management, the same backlight could produce as much as 2,500 mW of optical power!

A lot can also be written on how to power the LEDs but, here, I went for a very straightforward 4 strings of 5 LEDs with passive resistors in front of each string as shown in Figure 3. It is probably the worst way to power a LED panel but, again, it is good enough for a prototype and I am by no means a professional electronic engineer (despite I enjoy building circuits as you have seen on this blog). A laboratory power supply with an adjustable voltage source provides the energy and the passive resistors provides a current limitation for the LED more on that below.

In our backlight, each LED will radiate heat which needs to be dissipated to avoid thermal damage to our backlight. Assuming each LED could handle 0.1 W of thermal power, we can deduce how much current each LED should be receiving at maximum. From that current, and assuming our resistor can also handle 0.1 W of thermal power, we can draw what resistor value to use. This total voltage drop (LEDs + resistor) gives the maximum voltage that our laboratory equipment must be able to source.
Figure 4 displays the characteristics of the LED being used (LEDSW50 from Thorlabs). We see that near ~30 mA the voltage drop of a LED is around 2.75 V, yielding a thermal power of ~0.08 W. At 40 mA, the voltage drop is a bit higher, yielding a thermal power of ~0.11 W. A target of 35 mA seems then to be a good starting point for our circuit. Note that this is purely drawn based on the assumption that we can dissipate 0.1 W of thermal power per LED, without even questioning the number or the fact that our circuit is enclosed in a box and contains multiple LEDs in total. Experimentation is therefore required to validate or fine-tune our assertion but you can consider these values as a safe boundary. With proper cooling and a metal-core PCB, I have seen LEDs draw as much as 3 Watt of thermal power in steady state operations for a total electrical power of 200 Watts and optical power of 80 Watts!
Concerning the resistor, a value of 81Ω would produce 0.1 W at 35 mA. A value of 100Ω seems therefore reasonable for a 1/4 Watt resistor.
Consequently, our power supply must be able to provide a maximum of 17.25 Volts and 140 mA. During experimentation, I have found that a 15 Volts supply with 70 mA provides enough light intensity for most of my experiments. I did not push the backlight past 17 Volts up to now.

When working with this prototype, I discovered several flaws that I would like to address.
First, you should always remember that each LED will have different characteristics in terms of voltage drop vs. current. But since we are using a resistor-based approach, the overall voltage drop vs. current curve of the LED fixes the current and so the illumination output of the LED. This is the reason I have been working with strings of LEDs and not single LED each operated by a resistor. By making a string of LEDs, you dampen the normal distribution by a factor of √N. So, if each LED has a 5% dispersion in voltage drop at a given current, the overall effect is damped by a factor of ~2.25 for a string of 5 LEDs. You therefore gain in homogeneity from row to row by using string of LEDs. Larger strings are preferrable but produce larger overall voltage drop.
Second, and this was not expected at all when I designed the circuit of Figure 3, a thermal flaw in one of the LED of a string will likely cascade to all other LEDs in that string. If your LED shorts at full power due to a thermal fault (i.e. by over-heating), the local voltage drop will become zero and the other LED current will therefore increase making them even hotter and more likely to have thermal fault on their own. This is illustrated in Figure 5 where one of the LED was faulty, probably due to over-heating during soldering operations, which made the other LED of the string draw more current. In Figure 5, this translates by having brighter LEDs in the top row compared to the other rows.
Third, and this was also not expected, do not use asymmetric pads even if your LED anode and cathode have different pad sizes. I had some rocking when soldering the LEDs which (I believe) originates from the different pad sizes and capillary effect of molten soldering paste. A former colleague confirmed me he observed similar behavior in the past even with professional equipment like reflow ovens. This is problematic because now each LED points towards a slightly different direction which can affect the overall homogeneity of the backlight. That being said, the results I got did not seem to be influenced much by the amount of rocking I had on my LED panel.

This is about everything I can say about the electronics of the LED panel. Now, it is time to discuss more in depth how I performed the optimization of the backlight through simulations. To benefit from this discussion, make sure you read my former post on [»] LEDs and diffusers angular spectra.
The overall simulation process is shown in Figure 6. Each LED emits multiple primary rays to the diffuser plate and each ray hitting the diffuser plate is then scattered into multiple secondary rays that propagate up to the image plane. The intensity of each primary ray exiting the LED is given using a cosn model from the ray direction, vled, compared to the LED orientation, nled. The intensity of each secondary ray exiting the diffuser is given by an ABg model which takes as input the direction of the primary ray, vled, orientation of the diffuser plate, ndiffuser, and direction of the secondary ray, vdiffuser.
As mentioned, the packing of LED and number of LEDs will define how homogeneous the light is going to be at the image plane. Note that Im using here the term image plane which, in your system, will most likely correspond to the object plane. But since the object and image planes are conjugated, this is just a naming convention. Here, I use image plane because I emphasize that this is the plane that Im observing on the camera or in my simulations just like if I was placing the camera sensor directly at that position.
Furthermore, when our backlight is designed to be used in conjunction with an imaging system in most operations, we should only keep those secondary rays that lie within the acceptance cone of the imaging system based on its f-number. This is something that is often neglected in practice, but you ought to remember that a backlight can be optimized only for a given imaging system especially if you start accounting for vignetting and fall-offs as we will illustrate later on.
For the simulation, both the diffuser and image planes are divided in a grid of N×N pixels, resulting in a complexity of O(N4M) with M being the number of LEDs. I performed the simulations in Octave with N=32 for optimization passes and N=128 for high-definition rendering passes. This was found to be extremely slow, and I must confess a GPU would be a good addition to these simulations.

A typical result is shown in Figure 7, which corresponds to the backlight of Figure 1 and LED panel of Figure 2. On the left-hand side of the figure, you can see the expected homogeneity over my 40×30 mm² aperture with the LED placement shown in green. On the right-hand side of the figure, you can see a cross section of the light intensity for the middle row and middle column of the backlight, as well as the mean radial profile in dashed lines. The homogeneity of this backlight is therefore expected to be 90% over a disk a 30 mm and better than 85% over its full field of view.
I initially drafted specifications of 95% for the inner region and 90% for the full field of view, but that required too many LEDs for my prototype and therefore decided to lower my requirements a bit. At the end of the post, I will discuss strategies to improve homogeneity using the same number of LEDs and LEDs spacing.

To test the actual performances of the backlight, I made two setups: one with a camera and camera objective placed above the backlight, and one with a fiber and a photodiode. Using a camera with an objective introduces non-uniformities due to both vignetting and cosine illumination fall-off, but it is also the one that is the closest to what we will later try to achieve when imaging some objects. Ideally, one would require a telecentric lens with no vignetting, but I could not afford one so I used a standard 35 mm camera lens instead.
The first test setup is shown in Figure 1. It consists of a camera (here a MER2-1220-9GC-P) and a 35 mm camera lens (here a NVL35M23) held above the backlight using two custom parts and fixed on a 300 mm rail. The CAD files for this test setup are included in the [∞] zip archive as well.

Images were acquired at two different apertures (f/2 and f/16) and a radial profile computed and approximately corrected for a cos4 illumination fall-off. The results are shown in Figure 9 and compare relatively well with the simulations of Figure 7. Note that the fall-off is larger at f/2 as expected due to probable vignetting of the lens. Nonetheless, these results are satisfactory and confirm that our simulation provided meaningful data.

Because of the illumination fall-off and vignetting issue, I also tried measuring the backlight homogeneity using a 0.22 NA fiber coupled to a photodiode (a DET36A from Thorlabs). I used a test plate as shown in Figure 10 to sample at specific locations of the backlight.

The results for the test with the fiber are shown in Figure 11 and Figure 12. I found it very difficult to hold the fiber perpendicular to the backlight, leading to some relatively strong fluctuations of the signal which prevented accurate measurements. You can see in Figure 11 that the structure of the LED does not show up in this test at contrario to the results obtained with the camera. On the other hand, the radial homogeneity profile computed in Figure 12 is much closer to the simulation than the one computed using the camera, probably due to the absence of illumination fall-off and vignetting.


In conclusion, both the tests with the camera and the fiber prove that our simulations provided meaningful results and that the optimization strategy works.
Based on simulations, we can now try to tweak our backlight to achieve better homogeneity than the one in Figure 7. If you pay attention to the results of Figure 7, you will notice that there is a drop in intensity that is approximately quadratic with distance to center. If we could fix that profile, we would gain a lot at the edge of the backlight. Similarly, for a given imaging system such as the one of Figure 8, we could also compensate for illumination losses by making the backlight artificially brighter at the edge to compensate for the imaging system.
I tried two different approaches in that regard: (1) modifying the LED positions, and, (2) modifying the LED intensities.
My initial idea was to tweak the LED positions such as to change the spacing between LEDs dependent on the radial positions. Put differently, packing the LEDs more at the edge of the backlight than at the center. However, I was not able to optimize the system that way mostly due to a speed issue of the optimization function. Even with as few as 20 LEDs, it was impractical to optimize using fminsearch and I was not able to tweak the system manually.
On the other hand, I found it pretty easy to tweak the LED intensities by trial and error. After just a few simulations, I got a model where the LED brightness would increase quadratically with radial distance to center using a formula
with c=0.45 and R=20 mm.
The results are given in Figure 13 where you can see that the radial profile is now almost flat and the overall homogeneity is now 90% on the full field of view compared to 85% in our initial simulations. I however did not implement this approach yet because it would complexify the LED panel circuit which was out of scope for this post. I am keeping potential improvements over my backlight optimization strategy for later, as I would like to progress a bit in the polarization series for now.

This therefore closes our second part of the backlight article series. We now have everything ready to study some polarization imaging systems!
Do not hesitate to share your thoughts on the [∞] community board to let me know if you enjoyed this post!
I would like to give a big thanks to Sebastian, Alex, Stephen, Lilith, James, Jon, Jesse, Karel, Michael, Kausban, Zach, Samy, Sivaraman, Shaun, Sunanda, Benjamin, Themulticaster, Tayyab, Marcel, Dennis, M, Natan, Pronto, Anthony and Wein who have supported this post through [∞] Patreon. I also take the occasion to invite you to donate through Patreon, even as little as $1. I cannot stress it more, you can really help me to post more content and make more experiments!
[⇈] Top of PageYou may also like:
[»] Measuring and Modelling BSDF of LEDs and Diffusers
[»] OpenRAMAN LD & TEC Drivers
[»] DIY Camera Test Bench Setup