Making tools is fun.
I'm gearing up for an installation next month, and part of the process means coming up with a way to flash about 800 tiny pcbs with a DMX address. I've never worked with pogo pins before, but they're totally great for this application, and the board I just designed seems to work pretty well.
The idea is that you're making a temporary electrical connection to the PCB - just long enough to flash some code and run a simple routine to make sure everything works, before assembly.
Luckily for us, Blinkinlabs and Matt Mets (who's been an awesome help) have used this particular DMX LED in their Blinky Tile project. Their modified DMX simple library and code to talk to this particular LED driver is on Github, and seems to work great for us! I ever so slightly changed their code to work better with our plans for testing and fabrication. Namely, that the code cycles R/G/B at first, so we can rule out any problem boards, and then simply hitting space bar increments the address number to make it easier for us, as we sock through 800 of these things.
For this particular project, the routine will be:
- Take an assembled PCB (each contains two LEDS) and place it on the pogo pins.
- Check that it's red, green and blue channels work on both sides.
- Program the address onto the board - this targets both LEDs, and causes them to go solid white.
- Number the board, and it's ready to be soldered in place.
Here's it in action...
I'll be redesigning the jig slightly so that it contains three PCBs. One on the bottom that makes an electrical connection with the headers and pogo pins, one in the middle which supports the pogo pins and spaces the boards (these two are what I'm using now), and finally, one on top with a cutout in order to index the PCB I'm flashing on the jig itself. At that point I'll probably mount the whole thing onto a larger piece of perfboard or wood to keep it from sliding around.
It'll be fun, but definitely a lot of work.