Tuesday, September 30, 2014

Making Test Jigs

Here's some cheap test jigs I use to test boards I sell on Tindie. Selling a quality product is of personal importance to me. With these test jigs, I've uncovered several board fabrication problems, more than several assembly problems (hey I'm not perfect), and identified ways to improve yield rate.

eeZee Power Jig

The goal for this jig is to measure 3.3V regulator output from the eeZee Power board. If it's 3.3V within the specified tolerance, that proves the regulator is populated correct, the USB connector is also populated, and all the corresponding traces are ok.

To build the jig, I installed pogo pins and test leads to an unpopulated eeZeePower board (to save time and money). When engaged with an eeZee Power, it enables the 3.3V regulator and connects the VCC and GND pins to the test leads. 

I plug a Mini USB into the DUT (Device Under Test), connect my DMM (digital multimeter) to the test wires and measure output voltage. 

Stacking another eeZeePower board would stabilize the pogo pins better. It's good enough as is.

eeZeePower test jig


This isn't a test jig, but one I use to program Turntable Strobes, Lost Model Alarms, PIPduinos, and other AVR-based boards. You can buy a fancier version of this on Tindie from BBTech.

AVRISP jig for programming AVRs
In case the picture isn't clear, one end has the familiar 6-pin AVRISP header, the other, pogo pins.

eeZee RGB Jig

I test every one of the eeZeeRGB WS2812B breakouts I sell to make sure the RGB modules are installed correctly and to ensure they work out of the box. I had been testing these with a breadboard Arduino but the pogo pins are unstable in a breadboard so I designed a test jig using an ATtiny85. I've discovered that some of these modules don't have reverse protection as advertised.

eeZeeRGB WS2812B breakout board
OSHPark builds boards in sets of 3 so I designed a single board that can stack 2-high (or 3-high if necessary) to stabilize the pogo pins. The Tiny and USB connector (for power) only has to be populated on one of those three boards. The other two boards can simply stabilize the pins. They're mounted together with screws, nuts and standoffs.

Test Jig, side 1

Test Jig, side 2

eeZee Prop Jig

The eeZee Propeller breakout (eeZeeProp) is the most complicated board I sell with a 44-pin QFP MCU, onboard EEPROM, crystals, a half-dozen resistors and capacitors, dual programming headers. I test every output pin on the eeZeeProp as well as programming functionality before it goes up for sale with this quick and dirty jig.

eeZeeProp test jig
The test jig above has two parts. The dual row of pogo pins, resistors, and LEDs is for testing pins. In the upper right is an FTDI programmer connector and pogo pins to engage the eeZeeProp FTDI pin pads. 

I program each board with a SPIN program that sequentially turns on each of the pins 0-28. The ability to program the chip in the first place tests P29-32 and the EEPROM.

Next, I lay the Propellers down onto the pogo pin bed and ensure each of the LEDs lights up sequentially. I can then investigate any suspect pins.

You probably noticed that the pins aren't well-aligned. My previous jig had two protoboards to keep the pins aligned better, but I broke it. Some day I'll redo this jig so I don't have to spend quite as much time manually popping each pin into place on the DUT.

Common Problems

You may wonder what kind of problems I uncover most when using these test jigs.

On the eeZeeProp I most often run into problems with connections on the Propeller MCU leads or the EEPROM. I've made some improvements in techniques that have reduced the frequency of these problems. 

While I very rarely found board fab problems on OSHpark boards (It's below 1% if memory serves, so reliability is very high), OSHpark is absolutely fantastic about fixing the occasional problem. 

I've seen far more frequent fab problems on a batch of Chinese made boards I ordered. I haven't contacted the supplier yet. The fab problems are mostly under-etching resulting in shorts to the ground plane. I may experiment with a wider isolation between ground pour and pads/traces and see if that helps any.

I've occasionally populated pairs of 0603 resistors rotated by 90 degrees. In future designs I'll try to avoid confusion by spacing the resistors farther apart. I've installed a diode backwards once or twice.

Tuesday, September 23, 2014

Free Speech Synthesis For Your Robot

Newly painted Hero Jr.
I ran across a surprisingly good speech synthesis package. No, it's not Festival.

My Hero Jr had been painted blue, with holes drilled in the head, and other modifications. There's no better Hero Jr to modify and hack than this one. Possibly in time for the NoCo Mini-Maker Faire in Ft. Collins, Oct 4-5.

After painting it, the next step will be to add my recently purchased Raspberry Pi B+, or else the dusty PCduino in my closet, as a brain.

Then, implement speech synthesis. Vision: a robot "tour guide" for my Maker Faire exhibit.

While I adore the stock Votrax SC-01A speech synthesizer (it's the quintessential robot voice) I like the idea of a 20 year old robot with a modern voice even more.

Here's the fruits of my research so far...

Tuesday, September 16, 2014

Hero Jr Repaint

Ruining things sucks. I kinda screwed up and my impatience got the better of me. 

I didn't really care for the dark blue Hero Jr. I preferred the original computer beige and burnt sienna trim. So I "fixed" it... I fixed it real good...

Friday, September 12, 2014

Back to Linux Mint... 13

I installed Linux Mint 17 and have switched back and forth between Mint 14 and 17 for awhile due to instability in 17. I'm using the same home directory I had on Mint 14 which might explain it.

Yesterday, Thunderbird and Chrome kept repeatedly crashing until I logged out and back in again.

The entire computer hung at another point; I couldn't log in remotely, move the mouse, do anything with the keyboard (numlock etc).

At another point, the kernel reported some kind of error/crash/panic/something--can't remember as I was juggling several things at once.

And a few weeks ago, video was going wonky after waking from sleep (I believe they've gotten this known issue fixed since then)...