We've talked about test jigs before on the factory. This is one of our first ones. This was for the GlowBit Rainbow and the test procedure is really simple for this. You just move them in, press them onto the test jig, you get a test pattern and you can just continue testing really quickly.
As we develop new products though, we need to come up with new test jigs and it turns out that designing something like a breakout board or an adapter is pretty easy. It's not so easy though to actually test them in a way that is scalable. Even the simplest device needs a test jig. We need to make sure that these are working before we bag them up and put them on shelf.
And today I'll be spinning a few ideas on how I might go about designing jigs for these two adapter boards. Let's get started.
So far for this first run, we've been doing a pretty simple test to make sure that there are no shorts for the connectors. So I can do a continuity check on each ring and make sure that we don't have any continuity shorting with the other pins. And that's just beeping that out quite simply. So that is one component of the test. The other component is to plug in a real PiicoDev module. This Micro:bit is running some code and if I just plug this PiicoDev module in, we should get a little tick displaying on the micro bit. And I can plug that in on one side, plug it in on the other. So the Micro:bit is running some code that's looking for a valid I2C address and then it's looking for a sensible temperature reading for it. Sensible temperature reading to come from this sensor to make sure that communications on these plugs is working as it ought to. And here's that display a little closer. When I plug it in, we get the tick and I pull it out. The screen goes blank again and we just check both sides. Great.
So this is a very manual test. It's fine for, say, a first production run of 100 units or so, but for more mid-scale manufacturing, you know, if you're getting into 500, 1000, 2000 of these boards, having to test it like this, well, it's quite a manual test. So it could be quite error prone if you do this a lot. And it's just not very efficient. It takes a long time to beep out all the connections. What I would like to do is to have some kind of fixture, some kind of jig that holds this Micro:bit in place that we can put the device under test into and slide some kind of jig into it that tests all of these conditions all at once.
So my idea for an improved test jig. Here we have our device under test being driven by the test micro bit. If we pull three volts out, we can go through a resistor ladder. So pin two will pick up from this part of the ladder. There's pin one. Pin zero. And this will go to ground. Which is actually coming from here. So I've got three volts or 3V3 and we've got ground here. And we have three unique voltage levels, V0, V1 and V2. All the Micro:bit needs to do is look for these fixed and known voltages. This is just a big voltage divider. So it's really easy to calculate what each of these voltages ought to be when powered by 3.3 volts. And so if any of these pins have developed a short, let's say, I don't know, maybe pin zero shorts to pin one. If there's a connection here, that will change the way that this voltage divider is constructed. And you'll get different voltages outside spec on V2, V1 and V0. For instance, V1 will be now equal to V0. And you know that that can never be possible. That'll also drag V2 out because there's essentially a missing resistor from this voltage divider. So that takes care of the GPIO parts of the breakout.
But for the PiicoDev connectors, that could be as easy as having built onto this jig, say, two different temperature sensors, each with their addresses set differently. So as you plug the jig on,You have maybe some like card edge connectors connecting to each of these GPIO and aligning on the jig a PiicoDev connector to plug in and out of both of these two spots. So we'd have a connector down here and a connector up here. And that would be a pretty exhaustive test. And for the PiicoDev modules that are built into the jig, if I remove the I2C pull-up resistors just by cutting this jumper right here, then we can make sure that the pull-up resistors on the adapter have been placed properly. If we can read the device, that means that the pull-up resistors on the adapter must be working. So that's the electrical side of this test covered. And it's not that complicated.
Probably the most challenging part about making a jig like this is getting the physical fixturing to work properly. How do we secure the device under test? Do we laser cut a... Actually, one sec. Like the Rainbow, do we laser cut a acrylic, kind of like an acrylic jig or fixture plate that that can sit in and maybe hold it down? So do we create an outline for this device in acrylic, just like we have with our Rainbow test jig? This can sit in a little pocket. Maybe the Micro:bit is held... You know, maybe the Micro:bit is just held at the right height. After all, this Micro:bit is part of the test jig. So if this gets held in the right height, we can bring the device under test onto the end of it and then take our big test jig and plug that onto the device under test. It's kind of like a test jig in two parts, one that holds the Micro:bit and then this moving part that can mate onto the end here.
Card edge connectors would be great for this. You can see, I mean, this is just a card edge connector plugging onto the micro bit. But how can we plug onto these? I'd like to avoid having some kind of bed of nails that this has to go onto because that means you need to place this and hold it onto a bed of nails, connect the Micro:bit and connect the other piece of the jig, like the test circuit. But if we can get some kind of card edge connector to couple onto each of these GPIO, then there's only one real circuit here. We don't have to take care of routing out from a bed of nails and connecting it to the test circuit. Honestly, if we have to go down the bed of nails route, like we have here, where there's... This is what a bed of nails looks like. There's just some springy pins sticking out to make the test connections. If we do have to go down the bed of nails route to connect to these GPIO, it's not the end of the world. But if I can manage not to, it would be nice. And that really just hinges on whether somewhere out there, there's single pin card edge connectors that you can mount on a circuit board, for instance. If we can, that'd be great. I've done a little bit of research and I haven't found any. But if you know of any, do let me know because that could be a real deal maker for this kind of test jig.
Another adapter that we need to test is this PiicoDev adapter for Raspberry Pi. And this is a good candidate for a bed of nails. You can see we have the 2x20 Raspberry Pi GPIO header and we have four PiicoDev connectors down the side. We also have a breakout for a bunch more pins though. And so I think the way that we'll test this is to have it go onto a set of pins on the board, on the test jig, and have some springy pogo pins coming up to connect to each of these connectors. And you think, well, okay, that handles this breakout connector. And then it's more of the same to test each of these. If we have four unique PiicoDev modules, say the temperature sensor, each set to four different addresses, we can plug it on, look for four devices, and a sensible temperature coming from each device. You think to yourself, well, that's a lot of pins now. We've got, I don't...Certainly! Here's the transcript formatted into paragraphs:
I know, there's something like 20 pins here. And you need to check the in and the out. This might be a good candidate for using I-O expansion. If we have all the necessary pins on this header being driven by one I-O expander. So we might have I-O expansion fanning out to that, to all the necessary pins. And we have on our bed of nails, we have another I-O expander connecting to all of these breakouts. And all we have to do is write the whole port with some binary data. So we'll do each pin just by itself. So the first pin might be 0 0 0 0 1. The next pin might be 0 0 0 1 0. And when we do the read on the other side, we're just looking that the port value we get on this side is equal to the port value that we set on this side. Any inequality means that a pin is either not connected or there's a short somewhere.
And likewise, the jig has four PiicoDev modules that all get plugged in with some master connector. I'm not quite sure how I'm going to make that yet. It sounds like there's going to be some laser cut acrylic to get the right height. And maybe just some glue is enough to have this chain of connectors positioned correctly. It'd be nice to not have to use glue, but these kinds of connectors are only wire to board. There's no board to board style. So you can't get this plug in like a circuit board mount, unfortunately. So there's going to be a little bit of craft there.
It sounds like there's going to be some sliding mechanical jigs in my future. Maybe the best way to go about that is laser cut acrylic with some slots and some fastens that can then slide a jig back and forth. And that way we can mount our device under test and slide it into the test circuit that will couple onto the end. Same with this guy. If this gets mounted down onto a bed of nails, it still needs to be plugged into some kind of test circuit to test all these PiicoDev connectors. Maybe this is overcomplicating it. Maybe the test circuit is just a self-standing circuit board that can just plug in. And that, I think that mechanical alignment, that could be advantageous for doing really high volumes because you can just drop it in, engage the jig, pass the test, pull the jig apart and pull out your device under test rather than having to manually line up four connectors to plug into this device.
In any case, that's what I have for you today. Just a few ideas about how we might make these test jigs so we can test devices in higher volumes. If you've come across an edge connector that you think might be good for this jig, that would really make my day if you would share it. And otherwise, perhaps next time I'll have a few prototypes to show you. See you in the next factory episode.
Makers love reviews as much as you do, please follow this link to review the products you have purchased.