Older blog entries for shimniok (starting at number 108)

22 Sep 2015 (updated 3 Feb 2017 at 02:07 UTC) »

Fixing Flaky LCD Monitor with ESR Meter

My Dell E2210H LCD monitor was really wonky.

Powering up from sleep, it would only occasionally come back to life, usually after resetting itself several times.

More often, it would power off or go into power saving mode, leaving the front panel buttons inoperative.

Occasionally it would reset or power off while operating normally.

Here's how I fixed it, using my DIY ESR test harness to find a bad capacitor without desoldering.

You can find disassembly videos and tutorials out on the web specific to your monitor. Remember, safety is your responsibility so please learn how to safely deal with dangerous high voltages, how to safely discharge capacitors, etc.

Low voltage drop; low ESR.
Meanwhile, after disassembling, I used my
Equivalent Series Resistance (ESR) Test Harness to identify bad aluminum electrolytic power supply capacitors.

The device sends a 1.0 Vp-p, 1kHz - 250kHz square wave through a capacitor on the board while the oscilloscope displays voltage drop across the capacitor.

You turn on the ESR harness, connect Channel 1 to the Probe BNC and Channel 2 to the Trigger BNC.

Then touch the red/black probes to the positive/negative capacitor terminals while they are on the board. Which is nice; you don't have to desolder every cap.

High voltage drop; high ESR.
The harness incorporates a voltage divider, so you can compute ESR based on voltage drop and the harness' series resistance.

But usually it's really obvious when you find a bad capacitor.

What you should see is a very low voltage drop across the capacitor as pictured above right.

A capacitor with overly high ESR will drop far more voltage as shown in the bottom right picture.

And that is just what I found on one of the 100uF supply capacitors on the main driver board for the LCD. The rest of the capacitors tested ok.

The bad cap looked fine but tested bad.
The test harness I built uses a 6.8 ohm series resistor so the ESR is computed as:

Normal ESR for good capacitors of similar size are orders of magnitude less than that.

With such a high ESR, the capacitor was slowly charging and discharging, likely confusing whatever circuit or MCU was controlling the main power.

After replacing the capacitor with a good one, the monitor works normally, as expected. All with a minimum of work and the very low cost of a capacitor.

Admittedly, I somehow missed the bad capacitor the first time I tested so I ended up buying a power supply board. Now I have a spare. Oops.

Syndicated 2015-09-22 00:00:00 (Updated 2017-02-03 01:06:38) from Michael Shimniok

Automated OLED Test Jig: eeZee MicroSD

How does one test boards one sells on Tindie?

With a fancy-pants, standalone, OLED-equipped, high-zoot test jig, of course.

At least, that's what I built for testing my eeZee MicroSD boards. They're microSD breakouts for breadboard Arduinos. They've got the microSD socket plus 3.3V regulator, level-shifter IC, and various passives.

The test jig features an Arduino on the top of a two-layer permanent breadboard apparatus. Power is supplied by convenient USB connector. I manually place the board onto good ol' pogo pins soldered into the D10-D13 positions (plus power and ground).

A red and a green LED indicates overall status, while the Digole Serial OLED displays pass/fail status for each of the tests: initializing the card, creating a file, and removing a file, with an overall board status.

The test takes just a few hundred milliseconds to complete. The test jig is ready to go at any time. Just plug in a USB cable for power I can run through dozens of boards in a few minutes.

Here's the source code for the test jig: TestJig.ino

Syndicated 2015-08-06 14:30:00 from Michael Shimniok

Redlink Connection Refused

Trying to launch LPCXpresso Redlink server, getting a "connection refused" because a shared library is missing? Online forum threads like this one don't help?

Here's the real answer: actually troubleshoot and solve the problem on your unsupported Linux distro. It's easy, just read on...
If you see the error "could not load shared redlink object" then run strace to see what library the server is trying to open. 

strace /usr/local/lpcxpresso/lpcxpresso/bin/redlinkserv 

Look through the output for open() syscalls like this one.

open("/usr/local/lib/libudev.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

The problem is that redlinkserv cannot find libudev.so.1 because the 32-bit version of libudev is named something different on your distro. (I'm using Mint 13, for example). First, you have to find the i386 library. Use find to search for the file. Specify -type f to ignore softlinks. Search in /lib, /usr/lib (try other directories if you don't find it in these):

$ find -type f /lib /usr/lib -name 'libudev.so.*' -type f

If you don't find it, you'll need to install it (apt-get install libudev0 or equivalent)

You want the 32-bit version. Use ls to find out which is a valid link/file. Then soft link to this from /usr/local/lib:

cd /usr/local/lib
sudo ln -s /lib/i386-linux-gnu/libudev.so.0.13.0 libudev.so.1

And all should be well.

Syndicated 2015-03-24 13:00:00 (Updated 2015-08-06 14:21:23) from Michael Shimniok

OpenMV: Counting Pips on Dice

One of our backers, Damage, had a great project idea for OpenMV Cam: count a dice roll visually. Here's what I ended up with.