Older blog entries for shimniok (starting at number 107)

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.