If you end up buying a pick and place to assemble PCBs (or even if you're doing it by hand) you'll need to test out your boards! If you have an assembler do it for you, its still probably a good idea to have a jig you can give them. A good jig will tell you whats going right and whats going wrong.
In this tutorial I will show how I designed a very basic jig with a "tested good" audible indicator. The board its testing is very simple but the basic premise can be expanded to large projects with ease
I like to use a victim PCB to make jigs - FR4 is strong and you already have a template. You'll also need some standoffs and some pogo pins.
The spring-loaded ('pogo') pins I prefer are about 0.5" long and have a spear point. They also fit snugly into 'standard' 0.35" (0.9mm) drill holes so they are easy to insert and stand up straight. I bought my pogo pins from eBay, they're called "P75-LM-4R" or "P75-LM" type, 100 should cost you ~$40. I strongly suggest getting 100 since they're quite small and delicate. I don't use the socket holders because - well - I dont. But if you're buidling something that will be used for a long time by clumsy people its probably a good idea.
See above for a handy reference diagram for the kinds of heads you can get!
This board already has 4 x 2-56 sized mounting holes so its easy to attach standoffs.
Choose the standoffs so that the tips of the pogo pins are above the standoff part but below the end of the screw.
I will be using an Arduino to make this jig. Arduinos are very standard, easy to power and are a breeze for short projects like this. You'll also want a proto shield PCB
I think I'll put the victim...like this!
Mark and drill the mounting holes - four in this case. Luckily (or on purpose???) I placed the mounting holes on 0.1" boundaries.
Solder wires from each pogo pin to a matching pin on the shield. For this SD card interface I connected the SPI pins to the SPI port. Then the output of the 3.3v regulator goes to an analog pin. I also connected the card detect pin up so I can tell when a board is being tested.
A piezo buzzer is connected to pin #9 (underneath the PCB)
/*
SD card breakout tester!
Uses fat16lib's fantastic FAT library
tests:
1. CD pin works (goes low when card inserted)
2. 3.3V LDO output is in proper range
3. Can communicate with card
*/
#include <SdFat.h>
#include <SdFatUtil.h>
Sd2Card card;
#define CD 15 // A1 (D15) -> CardDetect
#define LDO 0 // analog 0
void setup() {
// initialize the digital pin as an output:
Serial.begin(9600);
digitalWrite(CD, HIGH); // pull up on CD
}
void loop()
{
Serial.println("waiting for SD card detect");
while (digitalRead(CD)) {
Serial.print('.');
delay(100);
}
Serial.println("Detected Card!");
// first check 3.3V regulator
int a = analogRead(LDO);
if ((a > 710) || (a < 650)) {
// LDO not in the right range
Serial.println(a);
return;
}
Serial.println("3.3V LDO ok");
// try to talk to the card
uint8_t r = card.init(1);
if (!r) {
// failed to talk to SD card :(
Serial.println(r, DEC);
return;
}
Serial.println("Card interface ok");
// beep to indicate all is good
tone(9, 4000, 500);
delay(1000);
}
Now the fun part! When a board is ready to test, insert a uSD card, and simply slip it into the orienting 'registration' standoffs and press down to make contact with the pogo pins. The Arduino will automatically detect when the CD pin is shorted to ground (good) and begin the test procedure. If all is good, it will beep!
>beep<











