Laptop Backlight Is Now Webcam Light

I have successfully salvaged the backlight module of a LG LP133WF2(SP)(A1) laptop LCD display, which meant in addition to all the lessons I learned along the way, I now have a rectangular ~15″ diagonal LED panel that can emit diffuse white light. What do I do with this light? I looked around at places in my life where I felt I had a lighting challenge, and the most relevant issue in these pandemic times is my webcam for video calls.

Right now my primary workstation is in a room with decent sunshine during the day but only a dim overhead light at night. Resulting in grainy video as the camera struggles to capture limited light, and the position of the light also cast some unfortunate shadows. There is a far stronger light in the room, but it is set up to illuminate my workbench behind me. If I forget to turn that light off during a video call, I can immediately tell there’s a problem because I turn into a silhouette on camera. What I need is a light behind the webcam, which is something I can easily buy. There’s an entire product category for this usually in the form of a ring that surrounds the camera. What I have on hand is a rectangle and not a ring but I still want to try it. To test this idea I’ll need a way to mount the panel on top of my computer monitor.

Since this is supposed to be a quick test, I didn’t want to go full out with CAD and 3D printing. I pulled some cardboard boxes out of the paper recycle bin and happily started cutting with my Canary cutter. It was a highly iterative trial and error process and after a few hours I had a cardboard contraption that held the panel above my monitor, sitting on its top edge.

This top edge mechanism was the trickiest part of the design as it needed to be strong enough to hold the weight of the entire assembly. This assembly was heavier than I had originally planned because I didn’t foresee the very obvious fact the panel would make the assembly top heavy unless I added a counterweight (in the form of a large lithium polymer battery pack) sitting below the lip in order to drop the center of gravity. This is too much weight for just cardboard to hold against, so I had to pull in some plastic to help. But still no 3D printing: I cut up an used-up Starbucks gift card into an inverted U shape to give me the necessary strength at this key junction on top of the monitor.

This is definitely not the final design. I want to move the panel lower and further away from my face so it is directly behind the camera instead of above it. I chose the current panel height because I needed to be able to reach the brightness adjustment knob mounted in the lower left. After I put this box together, I realized I could have easily rotated the panel 180 degrees so the knob is in the top right corner instead of the lower left, allowing me to sink the bottom edge below the camera. Alternatively, I could have the brightness PWM adjustment module as an external module mounted elsewhere.

So that is the first and most significant change I want to make for the next iteration, but I’ll use this cardboard first draft for a little while longer and see what other issues I might want to address. In the meantime I proceed to the next backlight exercise with an Amazon Fire tablet.

Installing Arduino Circuit, Round 2

I have a small circuit board to generate a PWM signal that tells the TPS61187 LED driver chip how bright to illuminate the LED of a backlight I salvaged from a cracked LG laptop LCD screen model LP133WF2(SP)(A1). It’s not the most compact thing I could have built, but it was simple and quick. Or at least it was supposed to be quick, because my first attempt at installing it destroyed a solder connection to the screen control board and I had to redo my soldering joints and secure them with hot glue in the hopes I wouldn’t destroy any more solder connections.

Now I’m installing the circuit board again, and I realized I forgot a very important detail: The location I wanted to mount this thing is on the metal frame of this backlight, because I didn’t want to block any light that might emit from the plastic back side of the panel. My circuit board had many soldered connections on the bottom. Putting soldered connections on a metal plate causes short circuits! Fortunately I realized this before destroying anything.

Adding to the bulk of this project, I placed a sheet of clear plastic packing tape as the first layer of insulation, followed by two layers of double-sided foam tape to raise it off the first layer. The foam tape wasn’t as secure as I had hoped, so I warmed up the hot glue gun again to squirt out some secure standoffs. Thanks to the first layer of clear packing tape, I’m semi-confident I can replace this with a different PWM generator if I decide to do so in the future. But for the moment I have completed all electrical work for this light panel that I can power off USB. A happy end result of a lot of very useful and valuable electronics lessons learned building this project. From reading datasheets and their schematics to figuring out what to do when things go wrong.

But the happy result does have one downside. When I have a failure, I can dispose of the pieces after thanking them for their valuable lessons. But when I have a success, I can’t just throw it out! So now I have a ~15″ diagonal rectangular LED light and I need to think of something useful to do with it.

Need Backup Plan For TPS61187 Interface

I had thought I was near the finish line for my backlight revival project, but then I tugged on one wire a little bit too hard and destroyed the circuit board test point I had soldered to.

This is bad, and it got worse. As I tried to gently unwind this LED_EN wire, it was not gentle enough and the soldered points for Vin and GND started unraveling as well. For those two wires I had soldered to either end of a (relatively) large surface mount decoupling capacitor bridging those two voltage planes, because the tops of these capacitors presented a metallic surface area for me to solder to. I had thought they were metal end pieces, but they were actually a thin layer of metal that I just learned would peel under stress. The good news was that I was able to melt the solder and remove those wires before they did any permanent damage, the bad news is that I’ll need another approach for these connections as well.

Since I’ve already proved to be clumsy with three out of four wires, I pulled out my hot glue gun to better secure my solder points starting with my PWM wire that still remains. I dropped a dollop of hot glue and, as I pulled my hot glue gun away, I felt the now-dreaded “pop” sensation in my fingertip holding the wire in place. I think I just lifted the PWM copper pad, too! Fortunately, my meter said I still had electrical continuity. So even if I did lift the pad, it is still connected, held in position by my drop of hot glue. But just in case I needed it, I probed around the board and managed to find a backup location for the PWM signal next to the main display control chip.

Backing up further, I found another test point to the left of the LED_EN test point I destroyed. It was labeled VLED and it was connected to the backlight supply voltage line. As fragile as these test points have proven to be, I think they’re still better than the end of a surface mount capacitor. I’ll use this one and hope I don’t rip this one out as well. Finding a replacement location to solder to the ground plane was easy, as the entire circuit board shared a common ground plane and I had many choices for ground. Including the metal housing of the now-unused data connector that formerly connected to the rest of the laptop. So I’m not worried about a ground connection, I have a plan C, D, E, F, etc. For now I found what looks like a test data bus will use the ground pad for that.

Which leaves me with the original problem: the LED EN pad that I’ve destroyed. I had no luck finding another test point, and while I expect it is connected to one of the pins on the main LG Display ANX2804 chip, I couldn’t find a good contact point for that either. Then I remembered the TPS61187 datasheet, where it said it was valid to connect EN to VDDIO which will cause the chip to be enabled whenever it receives power on Vin. From my notes probing the components around the chip, I knew there were some surface mount components adjacent to each other. They are tiny, but I was able to get a short length of wire to solder across those two components. Since I won’t be tugging on this wire, I should be OK here.

After I verified the VDDIO and EN pins are now connected, I realized there was another way: Since these two pins are adjacent to each other on the TPS61187 itself, a blob of solder can theoretically bridge those two pins right on the TPS61187. I’ll keep that in mind as a potential plan C if I should need it.

To minimize the chances I’ll need any of those backup-to-the-backup plans, I became very generous with my hot glue application. I sincerely hope I won’t have to take this apart again, because I don’t see how I can undo all this hot glue without destroying these solder points.

Fortunately I wouldn’t have to undo anything because my second attempt at system integration was a success.

Installing Arduino Circuit Caused Setback

I didn’t understand why I couldn’t pull USB power through the existing jack on my Arduino Nano, but I was willing to create a small circuit board to wire up VUSB directly as a workaround and move on. I originally soldered two 0.1″ headers next to each other for power and ground, but the first test run instantly pulled those wires out of the socket. So I wired up JST-XH connector for that beheaded USB cable instead. I wanted a connection more mechanically secure than the generic 0.1″ headers and towards that goal I used JST-XH 4-conductor connector. Even though I needed just two conductors, I wanted the wider connector for two reasons. (1) I hoped a wider connector will latch more securely, and (2) I was running low on 2- and 3- conductor connectors in my assortment box. (*)

Next to the power input connector is the potentiometer(*), now soldered and fixed to this perforated prototype board instead of dangling off somewhere via wires. I plan to mount this board on the sheet metal backing of the light, near the lower left corner so the knob for this potentiometer can be accessible.

Next we have the two rows used for seating an Arduino Nano. Even though I’m only using four pins, I soldered all the points on these two rows so this header will sit securely. I had originally thought I would run wires around the outside of these headers, but it turns out I could put all the wires, resistors, etc. in between these two rows so I did that. I doubt it makes much of a cosmetic difference.

And finally, the star of the show, my four-conductor connector to the wires I’ve soldered to various points on the LG LP133WF2(SP)(A1) LCD panel control circuit board. The connector is standard hobbyist stuff, relatively large and easy to work with for my projects. But the other end of the wires soldered to points on the control circuit board which were quite a bit smaller, so I had been concerned about the strength of my soldered joints. And when I lifted the connector to plug into my newly created perf board, I heard a “pop” and knew instantly that was bad news. I had destroyed the LED_EN connection. It was intended as a test point so it was small, but I had soldered to the tiny circle of copper and handling this circuit placed too much stress on this connection. The wire I added ripped off the copper pad, leaving non-conductive (and non-useful) bare circuit board material behind. This is not good. I need a backup plan.


(*) Disclosure: As an Amazon Associate I earn from qualifying purchases.

Arduino Nano Failed to Power Backlight via USB

It was fun to look at a revived LED backlight module, salvaged from a LG laptop display panel model LP133WF2(SP)(A1). It was controlled from a breadboard Arduino, and powered by my bench power supply. I’m still unsure what input voltage it was originally designed for, but it seemed to run well at 5V. When I turned brightness up to maximum, the bench power supply reported 1A of current draw. As a 5W LED light, it does feel approximately in the same ballpark as the 7W LED bulbs serving as 60W incandescent bulb replacements. But with the key and very valuable difference of the fact its light is evenly distributed across a much large area for a softer more diffuse light.

While I’m at it, I measured the electrical behavior of these LED strings. This is mostly for reference since the TPS61187 chip handles adjusting these voltage values to keep electricity flowing at the target current. When it sees a very minimal PWM signal, I measure the voltage drop from anode to ground to be roughly 15V and the panel is not visibly illuminated at this low level. When I turn the duty cycle up high enough to see just a little bit of visible illumination, the voltage differential has climbed to 24V. At max power, I measured about 28V. This was all generated by the onboard boost converter from a 5V input signal. In my experience white LEDs drop roughly 2.7-3V at full power, so these values are consistent with parallel LED strings of either nine or ten LEDs per string.,

Since this circuit seemed to run at 5V, I thought it would be fun to convert this to run on USB. The Arduino Nano was designed to run on 5V and already had a handy USB jack, and most portable USB power banks can supply 5V@1A or at least they claim to. When I hooked up the wires, it was able to illuminate up to a certain level. But beyond that level (roughly 1/4 to 1/3 brightness) the lights started flickering in a classic sign of power instability. Oops. What went wrong?

Whenever I see potential sign of power instability, my first reaction is always to perform the Big Honkin’ Capacitor test. Find the biggest capacitor I have handy, connect it across the power input terminals, and see if that solves the problem. In this case, the big capacitor failed to soothe the system.

Digging into schematics for an official Arduino Nano, I see that the VUSB line is not directly connected to the +5V output pin. There are a few components in the way, relating to power control and regulation. The Arduino Nano could be powered via its VIN pin. Following Arduino Uno barrel jack precedence, the input voltage is usually recommended to be 9V. When this happens, there’s a diode presumably to make sure that 9V does not feed back into the USB +V line. There are also several capacitors in parallel with VUSB but they should help rather than interfere with any instability.

Mystified as to why I couldn’t power the backlight via this Arduino Nano’s USB jack, I wanted to isolate the problem. See if the problem lies within the Arduino Nano or with my USB power bank. I took a USB cable and cut off its a damaged micro-B connector. Splaying out the wires, I found VUSB and GND wires, and I connected that to the Arduino Nano circuit. With this arrangement, my backlight module is happy all the way up to full brightness with no flickering problem.

Something about this particular (non-genuine) Arduino Nano module is causing interference, and I don’t understand why, but at least I have a workaround. That’s enough for me to ignore this weirdness today and proceed with my backlight project, even if there was a temporary setback.

A Closer Look at LED Backlight Panel

I’ve successfully interfaced with the existing TPS61187 driver chip on the circuit board of a LG laptop display panel LP133WF2(SP)(A1), and brought the backlight module back to life. Given all the new territory I had to explore to get this far, I was very excited by a successful initial test. After I was able to calm down, I settled down to take a closer look at its physical/optical behavior.

Since I tested it face-down, the easiest thing to look at first are the backsides of the LED strip. Most of it is hidden by the sheet metal frame from this side, but from earlier examination I knew there was even less to see from the front. Once illuminated, we can see the structure inside the light strip. The yellow flexible segment that connects to the green circuit board isn’t a separate piece like I thought earlier, it is actually all a single sheet of flexible circuit. All the LEDs are mounted on it, and they are located at the very bottom edges of the screen. I knew the lights themselves had to be very thin and well hidden right up against the bottom edge, but I couldn’t figure out where the wiring would go. Now we can see all electrical wiring runs above the LEDs, and when we look at it from the front we can see it as a thin strip of light gray along the bottom.

I had been worried that the illumination would be compromised because it is working without some of the friends it had earlier. The backside used to have a laptop lid that would have helped reflect and diffuse light. And the front used to be up against the LCD pixel array, which was backed by a mirror finish that would have also helped reflect light around.

I need not have worried. It was quite evenly illuminated and, as seen in the wire shadow picture above, there are no distinct spotlights marking location of individual LEDs.

I also wondered if the surprisingly complex four-layer diffuser required precise alignment with the LEDs in order to do their light distribution magic. They are no longer pressed by the LCD pixel array into a tight space, but happily they still worked quite well. While they worked visibly best at certain positions, the falloff is graceful. Not like aiming a laser at precision optics. Now I’m even more impressed by this stuff performing magic with light in ways I don’t understand.

But one thing I do understand is that they look thin and quite fragile. Designed to sit behind a LCD panel of multiple glass layers and without that, these layers of magical optical sheets flap around. I looked around and found a piece of 3mm clear acrylic that is nearly the perfect size and taped it to the metal backing chassis. The acrylic is far thicker than the LCD glass sandwich used to be, but it is also more rigid, so that’s a good tradeoff.

The final comparison I wanted to make before moving on is: how bright is the backlight alone compared to the full backlight plus LCD screen? I placed this backlight, turned brightness all the way up high, and set it side-by-side with the intact replacement screen still serving display duty in the Chromebook. I then turned on the Chromebook and increased its screen brightness to maximum setting.

I don’t have light level measurement instruments to obtain an objective number, but this picture makes it quite clear there is a dramatic difference in brightness. I knew some light would have been lost within the layers of a LCD panel, but it’s fun to see firsthand it’s far more than I had expected. This really drove home why alternate display technologies with self-illuminating pixels (OLED, micro-LED, etc.) can offer much brighter pictures than a backlit LCD could. My salvaged backlight is plenty bright running on just 5V, but running it on USB took more effort than expected.

Arduino Nano PWM Signal for TPS61187 LED Driver

Trying to revive the LED backlight from a LG Lp133WF2(SP)(A1) laptop display panel, I am focused on a TPS61187 LED driver chip on its integrated circuit board. After studying its datasheet, I soldered a few wires to key parts of the circuit and applied power, checking the circuit as I went. Nothing has gone obviously wrong yet, so the final step is to give that driver chip a PWM signal to dictate brightness.

This is where I am happy I’ve added Arduino to my toolbox, because I was able to whip up a controllable PWM signal generator in minutes. Putting an Arduino Nano onto a breadboard, I wired up a potentiometer to act as interactive input. 5V power and ground were shared with the panel, and one of the PWM-capable output pins was connected to the TPS61187 PWM input line via a 10 kΩ resistor as per datasheet. I found that my enable line already had a 1 kΩ resistor on board, so now I wired enable directly to the 5V line.

Since I wanted some confidence in my circuit before plugging the panel into the circuit, I also wired a test LED in parallel with the PWM signal line. I had originally thought I could use the LED already on board the Arduino, but that is hard-wired to pin 13 which is not one of the PWM-capable pins, so the external LED was necessary for me to run my PWM-generating test code, which thanks to the Arduino framework was as easy as:

int sensorPin = A0;    // select the input pin for the potentiometer
int ledPin = 3;        // select the pin for the LED
int sensorValue = 0;   // variable to store the value coming from the sensor

void setup() {
  // declare the ledPin as an OUTPUT:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // read potentiometer position
  sensorValue = analogRead(sensorPin);

  // map analogRead() range to analogWrite() range
  sensorValue = map(sensorValue, 0, 1023, 0, 255);

  analogWrite(ledPin, sensorValue);
}

My external test LED brightened and dimmed in response to potentiometer knob turns, so that looked good. My heart started racing as I connected the panel to my Arduino breadboard, which is then connected to my benchtop power supply. Even though I’m powering this system with 5V, I used a bench power supply instead of a USB port. Because I didn’t know how much the panel drew and didn’t want to risk damaging my computer. Also, by using a benchtop power supply I could monitor the current draw and also set a limit of 120mA (20mA spread across 6 strings) for the first test.

I powered up the system with the potentiometer set to minimum, then slowly started turning the knob clockwise…

It lit up! It lit up! Woohoo!

I was very excited at this success, jumping and running down the hallway. It was a wild few minutes before I could settle down and calmly take a closer look.

Soldering Wires to TPS61187 LED Driver

After passively studying its documentation, and passively studying how it is installed on an existing circuit board, it is now time for me to go active and start working on it. Whether I can get this backlight up and running is almost secondary at this point, it has already been a great electronics learning opportunity and I want to see how far I can get.

This next step tests my skill working with components far smaller than what I’m used to. The picture of these added wires spoke volumes: I used the finest spools of wire I had on hand, but 26 gauge wire looks absolutely gargantuan when soldered to this board. Due to their small size I assumed these surface mount components would not have the strength to handle external stresses. As a temporary measure I used a piece of tape to hold the wires in place, hopefully diverting all the little twists and tugs yet to come as I connect and disconnect these wires to power and signal sources.

Once the wires were in place, I had to make a very important decision: what voltage do I feed into the Vin wire? Earlier probing failed to find the values of resistors used in the boost converter feedback regulation circuit. If I had those resistance values I could hoped to calculate the expected input voltage range using the formula in the datasheet. The only other guideline I had was the requirement that input voltage must be lower than the voltage drop across individual LED strings so the boost converter (critical part of this circuit) can function.

Looking for hints elsewhere, I reviewed my earlier notes looking inside this machine. Its battery is labeled as a lithium-ion pack with a nominal voltage of 10.8V, implying three cells in series. This is within the valid input range for a TPS61187 chip and I thought it is possible they would wire the battery voltage straight through. This would avoid any conversion losses from a boost or a buck converter along the way.

Following my startup plan, I used my bench power supply to put 10.8V on Vin and was encouraged I didn’t see any sparks or smell any smoke. My probe saw 5V on VDDIO which I took to be a good sign and satisfies step 1. Moving on to step 2, I checked enable (EN) pin to find it is low, so nothing else on the board is raising it. I used a one kilo-Ohm (1 kΩ) resistor to pull EN high and it did, so either nothing else on the board is pulling it low or 1 kΩ is enough to overrule their signal. If something is fruitlessly trying to pull it low, the few milliamps involved here should not damage it. Or if I do damage it, hopefully it wouldn’t be anything I care about.

If I understand the datasheet correctly, once enabled the TPS61187 will put minimum voltage across the LED strings. I probed the voltage between LED common anode and ground, and found it was 6.7V, which is lower than the input voltage of 10.8V, exactly what the datasheet said not to do. Oh no! I quickly turned the input voltage down to 6V so it would be below the LED voltage, wondering if it was already too late. There were no obvious signs of damage so… whether I’ve just killed it or not, my next step is to put a PWM signal on the brightness control line.

Finding TPS61187 LED Driver Interfaces

I want to reuse the TPS61187 LED Driver IC already on board the display circuit board of a LG LP133WF2(SP)(A1) laptop LCD panel. Driving the backlight that used to shine from behind the now-cracked LCD screen. After studying the datasheet and probed around the circuit board to understand how the chip is configured, I am now probing to see where I can solder wires to interface with the chip.

There are two major concerns here. The first is that I’m learning to work with modern consumer electronics, with circuit boards populated by very small surface mount components. Most of the resistors and capacitors I probed earlier are barely larger than the tip of my soldering iron’s finest tip. The “normal” tip is comically large next to these things. If I continue with experiments like this I will need to buy my own hot air station and learn to use it well.

The second concern are the other components on this control board. If I supply voltage and ground to the TPS61187, the rest of the circuit will probably come alive in some way I don’t understand. I’m not worried about them draining a bit of battery, that’s the best case scenario. I’m more worried about them interfering with the backlight control signals for enable (EN) and brightness (PWM).

First target is to find a place to inject power. The datasheet told me where the power pins are on this chip, but it’s far too small for me to hand solder myself. I’m not saying it’s impossible to hand solder to them, I’m just saying it’s very difficult and unlikely to succeed with my current skill level. So I went poking around nearby components looking for a decoupling capacitor. Because this driver IC uses a boost converter circuit to raise the voltage to drive the backlight LEDs, I expect to find a sizable decoupling capacitor nearby to isolate the rest of this board from the electrical noise of boost conversion. I found one adjacent to the inductor. For a surface-mounted component, it is large and thankfully big enough for me to feel confident I could solder to its two ends for VIN and GND.

I found a resistor and capacitor nearby connected to the enable pin. But even though they are larger than the corresponding TPS61187 pin I couldn’t solder to them. I was able to connect to one side of the small capacitor, but an intended-to-be-gentle test tug ripped off the wire taking a corner chunk of the capacitor with it. Oops, not so gentle after all.

I had even less luck finding a PWM signal connection near the TPS61187. I could see its pin connection on the circuit board, but it instantly sank out of sight to one of the other layers of the board and I found no place nearby where it surfaced.

After some thought, I decided to look for these signals near the largest chip sitting on the other end of the board, labelled “LG Display ANX2804”. I reasoned that EN and PWM are probably controlled from this chip and perhaps I could find something. There was nothing obvious near the chip itself, but I struck gold on the backside of the board. Sitting effectively under the ANX2804 are several labelled and accessible test points, and I was happy to see “LED_EN” next to one pad and “PWM” next to another. (There’s also VLED visible further left I didn’t notice until later, which should be better than soldering to the VIN end of a surface mount decoupling capacitor.)

Continuity test confirmed these do connect all the way across this thin strip of circuit board to the TPS61187, I think we are in business! Time to do some soldering.

Probing TPS61187 LED Driver Configuration

I’ve read through the datasheet for a TI TPS61187 LED driver chip and I think I have a fair (if not perfect) grasp of how to use it. Specifically I want to use one I found on the integrated driver board of a LG laptop LCD panel I’ve taken apart, there to drive the backlight module I wanted to salvage as a LED light. Armed with the datasheet and a multimeter, I started poking at the driver board to understand how it uses the chip. Since most of the chip’s configuration are done via resistors connected to certain pins, I could use the ohmmeter to decipher configuration. I enlarged and printed out my picture of that area of the circuit board so I could scribble down notes as I went.

Here’s what I found on this board, listed in order of their corresponding datasheet sections:

7.3.1 Supply Voltage

For applications that are always-on, it is valid for the enable (EN) pin to be connected to the chip’s internal regulator output pin VDDIO. Since a laptop would want to put a screen to sleep, I did not expect EN to be tied to VDDIO and my meter confirmed it was not. Which means I’ll have to go hunting for my own connection to EN later.

7.3.2 Boost Regulator and Programmable Switch Frequency (FSCLT)

The internal boost converter can operate at a range of frequencies, giving the designer an option to tradeoff between efficiency, inductor component size, etc. I probed the selection resistor on this board to be 822 kΩ. Plugging this into datasheet formula I arrive at a switching frequency of 608 kHz. Table 1 lists a few recommended values, and 833 kΩ is one of the recommendations for 600 kHz. I suspect this was indeed the intent and this 822 kΩ resistor is pretty good at less than 2% off nominal value.

7.3.3 LED Current Sinks

This is arguably the core parameter of driving LEDs. I traced the circuit and found two resistors in series. ~20 kΩ and ~31 kΩ but they added up to about 58 kΩ so there’s obviously something else I missed. Nevertheless, plugging 58 kΩ into datasheet formula says it’ll sets the target at 20mA. Typical for driving LEDs.

7.4.2 Adjustable PWM Dimming Frequency and Mode Selection (R_FPWM/MODE)

There are two ways to control brightness of the backlight. Either they can be blinked directly by an external PWM signal, or they can be blinked with an internal signal generator. One advantage of using the internal signal is that the phase for each of six strings are offset, so they blink in turn instead of simultaneously, which I expect to give smoother dimming. Another advantage of separating the two signals is that the external PWM can run at a far slower frequency, even one that would otherwise cause visible flicker, but it wouldn’t matter. Because once its duty cycle is read, it is copied for use by the internal generator running at a far faster flicker-free rate.

Probing the configuration resistors proved this board uses the internal high speed PWM signal. The resistor is 3.9 kΩ which works out to about 46.6 kHz. This is not one of the Table 2 recommendations, in fact it is over twice the speed of the highest recommended value. at 9.09 kΩ / 20 kHz. Higher switching frequency usually mean smoother behavior but lower power efficiency, I wonder what design meeting decisions at LG led to this value. Though of course it’s possible I’ve misread the value somehow.

7.4.4 Overvoltage Clamp and Voltage Feedback (OVC/FB)

These resistors configure how the boost converter works, and there’s an ideal formula in the datasheet mapping input voltage to LED output voltage. I was able to measure Rdown as 20 kΩ, but Rupper did not converge. My ohmmeter’s initial reading was in the 370-400 kΩ range, but the value continued to increase as I kept the probes in place. Eventually it would read as off-scale high. I think this means there’s a capacitor in parallel?

Out of all the configurations I had hoped to read, this was the one I really wanted to get because it would inform me as to the best voltage level to feed into this system. With this ambiguous reading, I’m sadly no wiser.

But at least I have some idea of how this chip has been configured to run, so I could continue probing this circuit board looking for places where I can interface with this LED driving circuit.

My TPS61187 LED Driver Startup Plan

I wanted to see if I could power up just the LED backlight portion of a broken LG LCD laptop screen, model LP133WF2(SP)(A1). It was cracked and couldn’t display images, but the backlight still worked before I took it apart. Does it still work? I wanted to find out and I still had the screen’s integrated driver circuit board and will try that first. The biggest question mark here is how the rest of the circuit board will react if I try to power up the TI TPS61187 LED driver chip in-place on the circuit board. My fallback position is to bypass the chip and power the LED strings directly, but that wouldn’t be as energy-efficient and I lose out on cool features. The one most novel to me is the phase-shifted PWM dimming control, where the six LED strings are dimmed round-robin instead of all at once for a smoother display. It’s not something I would likely do if I had to power the LEDs directly with my own cricuit.

To see if I could get the original circuit running, I plan to do it in steps based on this excerpt from the datasheet:

7.3.4 Enable and Start-up

The internal regulator which provides VDDIO wakes up as soon as VIN is applied even when EN is low. This allows the device to start when EN is tied to the VDDIO pin. VDDIO does not come to full regulation until EN is high. The TPS61187 checks the status of all current feedback channels and shuts down any unused feedback channels. It is recommended to short the unused channels to ground for faster start-up.

After the device is enabled, if the PWM pin is left floating, the output voltage of the TPS61187 regulates to the minimum output voltage. Once the device detects a voltage on the PWM pin, the TPS61187 begins to regulate the IFB pin current, as pre-set per the ISETH pin resistor, according to the duty cycle of the signal on the PWM pin.

This translated to the following plan:

  1. Put minimal voltage across VIN and GND. If it doesn’t go up in smoke, probe VDDIO to see if it has some voltage.
  2. If that works, check the Enable pin. If I am to drive the chip, I will need to control the state of the Enable pin. This is where an interaction with existing components might cause headaches: something else on the board might be trying to keep it high or keep it low, and if I put voltage on that pin the opposite state, I might damage that component unless I cut a trace somewhere to disconnect it.
  3. I might also have to find and cut a trace for the PWM pin for the same reason.
  4. Send the Enable signal, and check the voltage level across a LED string for the “minimum output voltage” mentioned by the datasheet.
  5. If all of the above works, then I’ll work on how to generate the PWM dimming signal.

Plans rarely survive intact upon their first contact with reality, but I wanted to have one before I got started. It will guide me as I probe the circuit board to understand how it uses a TPS61187.

TI TPS61187 Circuit’s Boost Converter

I had a broken LG laptop screen, model LP133WF2(SP)(A1), which I’ve disassembled and now I’m digging into its backlight module. I want to see if it I could make it work as a standalone diffuse light panel. I could probably wire up the LEDs directly with a voltage source and current-limiting resistor, but I also have its original integrated driver circuit board which still worked as far as I knew. I’m sure most of it were concerned with moving pixels which are no longer relevant, but there is also a TI TPS61187 chip on the board to drive the backlight section.

The PWM control signal is 3.3V friendly with a logic high threshold of 2.1V, so I could use either a 5V ATmega328 Arduino or a 3.3V ESP32. The part I didn’t understand was the power input. The datasheet says input voltage can range anywhere from 4.5V to 24V, and that it has a built-in boost converter to send up to 38V to the LED strings. I had expected to see a separate output pin for this higher voltage, but in the Typical Application schematic, the LED’s common anode is connected to the input voltage plane via a diode and an inductor. This combined with the following quote in the datasheet confused me:

there must be enough white LEDs in series to ensure the output voltage stays above the input voltage range

With the common anode seemingly tied to voltage input, I didn’t understand how the anode voltage could be higher than the input voltage. The next hypothesis is that instead of different voltage supply planes, perhaps there are separate ground planes at different levels. I saw there was a PGND pin for logic that is separate from AGND pin for the LED strings so the hypothesis had potential. But when I probed the circuit board, my meter said PGND and AGND pins are tied together on my board, eliminating the “separate ground levels” idea.

With a distinct sense that I have misunderstood something, I went to Wikipedia to learn more about boost converters and how they work. As soon as the diagrams came onscreen for that page, I realized that inductor and diode I saw earlier WAS the boost converter. I just didn’t recognize it as I was only aware of a block diagram representation and didn’t know it when the core components of a boost converter were staring at me in the schematic. Now it all makes sense how the LED string common anode voltage will be higher than the input voltage, and I feel confident enough to devise a plan.

Investigating TI TPS61187 WLED Driver

I took apart a LG LCD panel LP133WF2(SP)(A1) hoping to salvage something useful. After I failed to salvage the polarizer film, my hope lies with the backlight module. Its diffuser had a multi-layer construction I didn’t understand but found fascinating and wanted to see it light up firsthand. And if I am to do that, I need to figure out how to send power to the backlight LEDs. When I split the panel into the display and backlight modules, I saw the backlight was connected by a ribbon cable with seven conductors. Six of them look identical, and the seventh was wider than the rest, making it a good candidate for either a common anode or a cathode. Which is it, though? For that I looked for hints on the display panel’s integrated driver board.

There were three significant-looking ICs on board. The largest is closest to the connector to the rest of the laptop and the top two lines written on it were “LG Display ANX2804”. I found no information on this chip online. In the middle of the circuit board is another IC, this one labeled “SM4037 DA1422 AMER038”. I found no information on this particular designation, either. (There exists a SM4037 from Fairview Microwave, but it is a connector and not a microchip.) That leaves the chip closest to the backlight connector as the best candidate for a LED driver, and luckily its markings of TPS 61187 match that of a Texas Instruments WLED driver. I think this is it.

Reading its publicly available datasheet reinforced it is the right result, as its “typical application” diagram shows the chip driving six parallel strings of LEDs. The schematic indicates the six strings are connected to a common anode with their own individual cathodes wired to one of six current sinks on the chip. This information is enough for me to wire up this array to my bench power supply to find the right voltage for this string and create my own LED driver circuit. But since I have the datasheet already on hand and a “I know it used to work” backlight control board, I kept reading to see if I could perhaps reuse the board as well.

It looks pretty promising. There are no handshake or control protocol involved, all the potential configurations for this chip are done via resistance values to certain pins which would be already present in this case. I think for a bare minimum setup I only need to provide a power source and a PWM signal to control brightness. I could also connect the enable pin but I think I could get away with using a pull-up resistor. And under this minimalist plan I would be ignoring the fault signals. Plus one very important lesson about its power supply I had to learn first.

LG LCD Panel Backlight Also Has Layers

I’ve got a cracked laptop LCD module by LG, model LP133WF2(SP)(A1) and I am taking it apart to see what’s inside and maybe salvage fun stuff for future projects. After I failed to learned lessons about salvage the polarizer film, my adventure continues with the backlight module. My ambition is to make it light up again as a diffused light source, hoping it’ll be more pleasant than the point light sources of individual LEDs.

I foresee a decision that I will have to make: do I work with the LEDs directly with its seven-conductor cable? Or do I try to work with the LED driver IC on the board?

But before I get that far, I wanted to examine the physical construction of this laptop LCD backlight. There wasn’t much to it at first glance, just a big flat expanse of white matte material.

I had expected a thin row of LEDs and some sort of light diffuser material, and I saw… just diffuser. The LEDs must be incredibly thin to hide under this black strip which is only about 2mm wide.

I had expected the diffuser material to be a translucent sheet of plastic. When I lifted it away from the frame, I found it’s actually composed of four layers. The top and bottom layers are close to what I had expected, they are translucent but are visibly different from each other. The surprise came in the middle two layers, which had optical properties that reminded me of a Fresnel lens but not in a concentric pattern as usually found in Fresnel lenses.

I’m ignorant on how to characterize this any more specifically, but it feels like an entire discipline of engineering that I have never known before. There are experts out there for this intersection between physics (optics) and manufacturing to mass produce these backlight elements. At some point I hope to learn the technical terms of this material so I can learn more about them. But right now this discovery makes me even more motivated to get the backlight back up and running so I can see this stuff in action. Which means it’s time to read up on that LED driver IC.

[UPDATE: This Hackaday post A Hacker’s Introduction to DIY Light Guide Plates has more details about these backlight layers, as well as making custom plates out of acrylic sheets with a laser cutter.]

Turning to Chemistry for LCD Panel Polarizer

I thought it might be fun to salvage the polarizer from a broken laptop LCD screen, but it has put up quite a fight. I first tried direct mechanical brute force and managed to shatter the glass. Thankfully, not injuring myself doing it. When physical power doesn’t cut it, we turn to chemistry.

The risk of this approach comes from the fact the polarizer is made of plastic of unknown composition. Ideally I could find a solvent that will dissolve the adhesive and leave the plastic intact. If I was better at chemistry I might have some methodical way to find that solvent, but all I’ve got is trial-and-error. To aid in the trial-ing (and the error-ing) I have a portion of the polarizer I’ve already freed from brute force, carrying with it a layer of tacky glue. It’s enough for me to get started.

I had a rough progression of least- to most-aggressive solvents. First up to bat was 70% isopropyl alcohol, and the glue just laughed at its feeble efforts. After I let the alcohol dry, I tried WD-40, which also did nothing. I wiped up as much of it as I could before moving on to the next contestant: Goo-Gone.

Goo-Gone had some effect. It did not magically dissolve the glue as it tends to do with most other glues I come across, but it did soften this stuff somewhat, and it didn’t seem to damage the plastic. Using Goo-Gone to soften the glue, I was able to peel the sheet of polarizer free of the remaining glass and finally freed myself of the risk of puncturing some body part from thin pieces of broken glass.

However, that’s only half a victory as the glue remained stubbornly attached to the plastic making it unusable for light polarization fun. More Goo-Gone only seemed to spread it around and didn’t dissolve it. So I moved on to the next item: mineral spirits. It further softened the glue enough for me to start rubbing them off the plastic. It was a very labor intensive process, but I could start to see the shiny surface of my polarizer sheet. But I soon reached the limits of this approach as well. I started sensing uneven bumps in the surface and I couldn’t figure out what’s going on until I dried off all the mineral spirits for a look.

It appears there are multiple parts to this glue, and there is a much tougher component that clung on to the film. They were applied in lines and that explained the ridges I could feel in my fingertips while this film was damp with mineral spirit.

Finding the limits of mineral spirits for this task, I moved on to acetone a.k.a. nail polish remover. This is something I knew could melt certain plastics, as it’s used to smooth and weld plastic parts 3D-printed in ABS. However, I also knew it is not equally destructive to all plastic, as it seems to do very little (or absolutely nothing) to 3D-printed PLA parts and acetone itself sometimes comes in plastic bottles. Lacking experience in identifying plastics, I proceeded on my trial-and-error process.

The good news: using a small amount of acetone in a test corner, I found that it quickly dissolved the adhesive, turning them into soft goop that are trivial to remove. Wiping it off, I see the clear surface of polarization film with no evidence of chemical etching or erosion. I think this is the ticket!

But then I went too far by soaking the entire sheet in acetone, expecting to pull out a completely clean polarizer. When immersed in acetone, the polarizer film became brittle and cracked into little pieces. It marked the end of this experiment, but next time (I’m confident there’ll be a next time) I’ll try a few intermediate steps to see if I can find a good point on the spectrum between “few drops in a corner” and “soaking the entire sheet.”

Trying to salvage something from this screen’s LCD module was a bust, but I still have a very fascinating backlight module to play with.

Layers of Glass in LG Laptop LCD

I have a broken laptop LCD display module that I’m taking apart. It is a LG LP133WF2(SP)(A1) and it came from a Toshiba Chromebook 2 which was retired due to said cracked screen. I was able to split it into its two main components, the backlight and the display, both connected to the integrated driver circuit board. The backlight connector was something I could disconnect and reconnect, which is not something I could say for the high density connectors to the front display panel. Fortunately the screen is already cracked and nonfunctional so the majority of risk of disassembly is from broken glass.

The edge of this display module made it clear there is a complex multi-layer sandwich within.

There are at least three layers. The topmost layer is very thin and feels like plastic. The middle and bottom layers feel like glass. They don’t come apart easily, so I thought I’d try peeling the top plastic layer like a sticker. It is indeed backed by some adhesive, pretty tenacious ones at that.

I tried to keep the glass layers as flat as I could while I peeled, a difficult task with the strength of that glue which resulted in some alarming flex in the glass. I double and triple checked to make sure my eye protection is in place while peeling. After several centimeters of progress, scary bending and all, I felt a “pop” as the flexing freed whatever had held the middle and bottom glass layers together around their edges. Once this corner popped free, it was trivial to travel around all edges to peel the two glass layers apart.

It was damp between these two layers, presumably a thin layer of the “liquid” in Liquid Crystal Display (LCD). It was easily absorbed by a single sheet of paper towel, and its oily residue cleaned up nicely with 70% isopropyl alcohol. As far as I know, this is not a toxic material and I had not just cut years off my life, but I went and washed my hands before proceeding.

The bottom layer is where the original crack had lived, and these cracks had gotten worse due to the recent flexing. I don’t see anything of interest in this layer so I set it aside for safe disposal.

The two glass layers each had a grating that can be barely felt with my fingertips. They are also visible if I shined light through each layer. They are orthogonal to each other which would make sense if one set controlled horizontal pixels and the other controlled vertical pixels. Also, once the two glass layers separated, I was able to confirm the passive polarization filter (one of the objectives for salvaging) is the flexible sheet of plastic I had been tugging on. I resumed peeling that layer but didn’t get much further. Now that I only have one glass layer instead of two, it shattered under stress.

Even though I expected this as a potential (likely, even) outcome, it was still a surprise when things finally let go. Three cheers for eye protection! I picked out a few tiny shards of glass from my fingertips, but none of them found a blood vessel so there was no bleeding. And I think I managed to collect all the pieces scattered around the table. I had thought this would be a minor setback and I could continue peeling but just with smaller pieces of glass, but I was wrong. I don’t know my glass properties very well, but something happened here to change the mechanical properties of the glass. Once the first break happened, it has almost no strength at all. Continuing to peel — even at a lower force — causes new breaks. Brute strength will take me no further. And when brute strength fails, I turn to chemistry.

LCD Panel Driver Circuit Board

I’m taking apart a broken laptop LCD panel, a LG LP133WF2(SP)(A1) from a Toshiba Chromebook 2. I started with the very fancy tape surrounding the edges. Once the tape was gone, its top edge started unfolding into two parts. But they’re still held together on the bottom edge with the integrated driver board for this display. So I should figure out what that’s about before trying to completely separate the two parts.

The front side of this board had three sets of extremely high density connectors to carry signal for all 1920×1080 pixels on this module.

The back side of this board had all of the integrated circuits and a lower density connector for the backlight.

A single cable carried both power and data from the laptop mainboard. The chip closest to that connector was the largest IC on this board and probably mastermind in charge of this operation.

A search for “LG ANX2804” came up empty, which is not a huge surprise for a chip designed and built by LG for internal consumption by their display division. There’s no reason for them to distribute specifications or datasheets. On the other side of the board we see a connector for the backlight. The connector has nine pins, but in the ribbon we see six thin wires plus a wider seventh wire. This wider wire consumes two of the nine pins, making it a good candidate for either a common anode or cathode for LEDs. This left one pin in the connector seemingly unused.

I had expected just two wires for a simple string of LEDs, but the backlight is evidently more complicated than that. I’m optimistic I can get this figured out because the IC closest to this connector is clearly marked as a TPS 61187 by Texas Instruments, and I hope the information available online will help me sort it out later.

Returning to the front of this board, these high density data connectors are fascinating but I don’t understand everything that’s going on here.

I count somewhere between four and five contacts within a millimeter. This is definitely beyond my soldering skill, but they aren’t soldered anyway. Whatever this type of connection is, it is clearly single use. Once I detach it (it peeled off like tape) there’s no way for me to reattach it. I see nothing to help me align the connector. I’m also curious about the fact the copper contacts area is wider than what we see actually used. I’m sure it’s a provision for something but I don’t know what. For today it doesn’t matter, as the screen is already cracked and nonfunctional so I lose nothing by peeling them off before I explore its intricate layers of glass.

LG LCD Panel LP133WF2(SP)(A1) Teardown

After I checked the USB OTG reader off my teardown to-do list, I decided to continue ignoring what I had originally planned to do and continued tearing down another item that’s been sitting on my teardown to-do list: a broken LG LCD panel LP133WF2(SP)(A1). It was the original screen in a Toshiba Chromebook 2 (CB35-B3340) which I received in a broken state with the screen cracked. I revived the Chromebook with a secondhand replacement screen, and I set the original cracked screen with the intent of eventually taking it apart to see what I can see. “Eventually” is now.

Out of all the retired screens in my hardware pile, this was the most inviting for a teardown due to its construction. The ever-going quest for lighter and thinner electronics meant this screen wasn’t as stout as screens I’ve removed from older laptops. I noticed how flexible it was and it made me nervous while handling it. Most of the old panels I’ve handled felt roughly as rigid as a thick plastic credit card, this display felt more like a cardboard business card. I’m sure the lack of structure contributed to why the screen was cracked.

The primary objective of this exercise is curiosity. I just wanted to see how far I could disassemble it. The secondary objective is to see if I can salvage anything interesting. While the display itself is cracked and could no longer display data, the backlight was still lit and it would be great if I could salvage an illumination panel. And due to how LCDs work, I know there are polarization filters somewhere in its sandwich of layers. I just didn’t know if it’s practical to separate it from the rest of the display.

The primary concern in this exercise is safety. The aforementioned quest for light weight meant every layer in this sandwich will be as thin as it can possibly be, including the sheets of glass. And since the screen is visibly cracked, we already know this activity will involve shards of broken glass. I will be wearing eye protection at all times. I had also thought I would wear gloves to protect my fingertips, but I don’t have the right types for this work. All the gloves I have are either too bulky (can’t work with fine electronics in gardening gloves) or too thin to offer protection (glass shards easily slice through nitrile.) I resigned to keeping a box of band-aid nearby.

All that said, time to get to work: around the metal frame this panel is surrounded by a thin black material that contributes nothing to structure. It’s basically tape. Cut to precise dimensions and applied with the accuracy of automated assembly robots, but it’s adhesive-backed plastic sheets so: tape.

The adhesive is quite tenacious and it did not release cleanly. Once peeled, the top edge of the LCD array could separate from the backlight. The diagonal crack is vaguely visible through the silvered mirror back of the LCD.

This is a good start, but I can’t pull them apart yet. Right now they’re both connected to this panel’s integrated driver circuit board.