Teardown: A Dying “X-Glow”-branded Cree XLamp Torch

A few years ago, while shopping around at a local Jaycar, I got a bit distracted and did something bad. I made an impulse buy. I saw a nice LED torch sitting on the shelf, on special, with a very nice number of lumens and I thought … I could do with one of those.


It wasn’t really cheap, when compared to eBay or direct importers. It didn’t have a proper branding, it was just inscribed with X-Glow, CREE XLamp. I should know better than to take a chance on a product with questionable credentials, but surely a torch isn’t that hard to make right and CREE is a reputable LED manufacturer.

Sadly, it was pretty much bad news since after the first month of ownership, the first one had a current driver issue which resulted in a very unstable, flickering output that was more like a candle than a torch.

I didn’t want to be out of pocket, so I took it back, and they gave me another. It seemed to work fine, although my family did make fun of me for buying it in the first place. They said “who needs a torch anyway?”

Then one night, looking to do some work on his car at night, my brother did and so he borrowed it almost-permanently. I didn’t see it again for another year, at least.

Then it came back to me – he was done with it. But it wasn’t quite the same …

Bright, but not quite right?

Interestingly, when I powered it up, I immediately realized the colour temperature was off and the torch wasn’t as bright as it should be. It was more of a rosy white, rather than the cool white it started off at. It wasn’t really bright enough to make it worth using anymore. A quick examination of the LED gives us an idea of what’s wrong.


Instead of a nice light-yellow phosphor surface on the LED chip, it’s a toasted black. That’s not right! The LED seems to have burnt – but why? Did it overheat? It never really felt warm. Did the current driver over-drive the LED? Intrigued, I decided to take it apart and analyze it on its way to the bin.

Teardown and Test


Unscrewing the front reflector lets us see the LED itself up close. The LED looks like a Cree XR-C or XR-E series LED, mounted on some thin, but regular fiberglass PCB. The board itself is riveted onto the aluminium plate. This doesn’t bode well for thermal management at all, as metal-core printed circuit boards (MCPCB) is preferred for LEDs to reduce the thermal resistance from the LED to the heatsink, in this case, the body of the torch. The XR-C is rated for a drive current of 0.5A maximum, with the XR-E rated for 0.7A for Neutral White and 1A for Cool White, provided the LED is kept cool enough.


A close up of the LED chip shows the rough edges from sawing the LED wafer into dies, and the mounting of the die on the package with gold bond wires. It’s lovely, except for the toasty brown center.


This is how it looks when it is running – the loss of light and alteration in colour temperature from the brown area is very visible. Just visible is the grid pattern shadow of the front contact on the LED chip.

In order to investigate mode of failure, the first thing I wanted to measure was the LED waveform and current. In order to do that, I needed to desolder the LED connection to open the circuit and add a wire to allow me to insert a non-inductive resistor set just like how I did with the Infineon RGB LED Shield over at element14.


Screwing it into circuit, and then clipping my oscilloscope leads over the resistor lets me observe the current through the LED.


So what does the waveforms look like?


While the LED torch is on the maximum brightness mode, the output duty cycle isn’t 100% as you would expect. Instead, every 8.754ms, there is a short dip in the current, resulting in a very short flicker at a rate of 114.2Hz. The forward current averaged 892.2mA which is a high value to run this LED. The RMS ripple averages 55.93mA, so nothing too disasterous to the LED’s longevity.


A close-up of the dip shows a fairly clean curve with no strong overshoots which could harm the LED. So, aside from a slightly high output current, the current driver doesn’t seem to be lethal to the LED on its own.

According to the XR-E datasheet, the forward voltage drop at 900mA is about 3.8v. The most efficient royal blue LEDs which underlie white LEDs are generally about 50% efficient, thus the LED would be putting out 1.71W of heat at the least. In reality, it’s likely to be about 2W. An easily managed amount provided sensible design procedures are followed.

Lets take a look at some of the other modes of this controller – the low-brightness mode for example:


The low-brightness mode has an average forward current of 184mA in the LED and a duty cycle of about 25%. In fact, this is likely to be safe for most LED packages even with questionable thermal management, as it should result in about 0.25W of heat. The frequency of the flicker is 112.7Hz, so it seems like it corresponds with the periodic dipping in the above measurements. This implies it might be a microcontroller which runs a loop every ~1/100s. Not particularly expected.

Finally, there’s a bike-light-like flash mode:


The flash cycles every 567ms, and the on periods feature dips similar to the above. Average current over a cycle is 195.6mA, although the on-time current is about 726.3mA, which is close to my expected 700mA value.

To find out the problem, we must dig deeper. As you might have realized, the LED is mounted to a PCB which is riveted to an aluminium plate that’s part of the torch. The torch barrel doesn’t unscrew any further from the outside … so how can one access the current driver circuit and the LED PCB itself? That’s where a watch wrench comes in handy – as the unit is internally secured by a ring with holes for a tool to fasten/unfasten it.


The rear of the plate already shows cause for concern – there doesn’t seem to be much there in terms of thermal management at all. Drilling through the rivets and some prying with a flat-head screwdriver released the PCB from the plate itself.


Cree LEDs come with a feature – an electrically neutral thermal bonding pad which is circular and in the centre of the LED. This is designed to be soldered to a printed pad area (at the least) so as to take the heat away from the small LED chip and spread it to a larger area (making it easier to move to a heatsink).

As you can see above, the PCB itself was glued to the aluminium plate (I’m not sure if it’s even thermal adhesive), but the thermal bonding pad was unconnected. There was no contact of the thermal bonding pad with any adhesive (a poor thermal conductor, but better than air). Even worse, the power connection pads copper area isn’t particularly big either, and would have been the last “hope” as a heatsink.

If they wanted to cheap out on an MCPCB, they should have at least gone with a double sided PCB with no solder resist on the rear, and vias from the thermal pad to the copper on the back to spread the heat. Proper thermal adhesive would then move this heat to the body of the torch, acting as a heatsink, thus keeping the LED cool.

There is no way the 2W of heat would have made it from the small chip to anywhere decent – the torch never heated up in your hand and that’s exactly the problem – the heat was stuck in the LED chip, killing it.

For completeness, lets take a look at the current driver board as well.

20150225-1637-3744 20150225-1636-3743

The main controller is an IC which is bonded to the board in gob-top fashion, thus remaining anonymous. There is a regular ST opamp package on the board as well. The board is marked ALC-0713D-1 V1. Searching the code reveals the OEM as Dongguan Lumingear Lighting Co. Lets hope they aren’t still building their units like this nowadays.

Post Mortem

It seems likely that the torch might have been accidentally left on for an extended period of time, until the batteries drained. The lack of thermal path from the thermal pad on the back of the LED to any form of heatsinking would have allowed the LED to overheat after a minute or two of operation. Further compounding the problem is the LED driver which drives the LED at (likely) excessive current even for an ideal thermal arrangement.

Once the LED overheated, it might have cooked the phosphor layer, or caused a chemical reaction with the packaging materials causing it to go dark. Surprisingly the LED chip itself didn’t get hot enough to fail entirely.


A LED torch isn’t as simple as one might think. In this product, the lack of proper thermal management set the LED on a course of failure from the day it was manufactured. Users which didn’t use the torch for long periods may not observe the failure as quickly, although it is not a recommended way of incorporating an LED into a product. Regardless, the current driver also ran the LED at a high, likely slightly excessive current depending on the LED unit, which exacerbated the issue.

Even if it is imported, branded and sold by a local electronics shop for a sizeable mark-up is no guarantee the product is of any quality or the shop knows what they’re doing. I never thought I would meet an LED product with such a fundamental flaw. Too bad, they have my money already and I’m not going to see it again …

About lui_gough

I'm a bit of a nut for electronics, computing, photography, radio, satellite and other technical hobbies. Click for more about me!
This entry was posted in Electronics, Lighting and tagged , , , , , , . Bookmark the permalink.

One Response to Teardown: A Dying “X-Glow”-branded Cree XLamp Torch

  1. Mark says:

    You are right, if your LED flashlight is not getting warm-hot on high, you have a very poor thermal path from the LED to the flashlight body and your LED will cook (or desolder itself).

    The best MCPCBs these days are copper with a “direct thermal path” from the LED to the MCPCB. The thermal pad on the LED gets soldered directly to the MCPCB without having to pass through a dielectric layer. The best ones are called SinkPad or Noctigon. They can allow overdriving the LED maybe 50% over a standard MCPCB. The Cree XRE is a very old and inefficient LED. A CREE XML LED can be driven to around 5 amps on a direct thermal path MCPCB (if the flashlight body can handle the heat).

    That spike in the current waveform on the high setting is rather common in LED drivers. On ATMEL ATTINY based drivers it is usually caused by improper programming of the PWM register while running the chip in “fast PWM” mode. PWM rates of less than a few kHz can cause rather annoying flicker in the LED output.

    A good site for learning about LED flashlights, moding, and drivers is budgetlightform.com There are several open-source firmware projects (most based on the ATTINY13 processor). Users have designed and posted many driver boards available on OSHPARK.COM

Error: Comment is Missing!