I bought this kit a while back as something fun to play with, figuring it would be a nice, low cost / low feature oscilloscope I could use for entry level scope tutorials and demonstrations. This scope was used extensively during the Contextual Electronics sessions earlier this year, but I also own a Rigol DS1102E (and now a DS1054Z as well), so, one thing led to another and it’s been sitting in the box for about six months untouched. Well, I went to submit my Kickstarter the other day and discovered that there’s a whole “staff feedback” thing that requires a few extra business days delay, so I’ve got three days now that I didn’t previous have. Figured it’d be a nice change to solder something that wasn’t my own design again.
The specs for the scope can be found on the Gabotronics website. For $69 you can buy it assembled, but $45 buys you the parts as you see here, passives still in the tape. It’s pretty much all surface mount technology except for the header pins, but that doesn’t really scare me, especially since all the passives seem to be 0805s. The main processor of the system is an ATxmega32A4U in a QFP package, which may prove a little tricky but nothing I haven’t done before. Interestingly, the ribbon cable on the display doesn’t have a connector, the flat flex is soldered in place. That is new to me, so it’ll be fun finding a method for getting that down.
Getting your Gabotronics XMiniLab Sorted Out
So… step one… RTFM.
There is no FM. On the Kit product page, All you get is a black and white copy of a PCB placement file – reference designators pasted over the footprints in MSPaint, a Bill of Materials (BOM) two versions out of date, inexplicable hex code, and a forum link that has no entries about the kit at all.
So what you’re saying is, you think I enjoy a challenge eh? You wanted me to build my own precious little snowflake of an oscilloscope. Thanks.
Ok… step one half… let’s at least organize our parts, then figure out in what order we’re going to approach this thing. The BOM is over three years old and two versions behind. Hopefully they only changed PCB placements and routing between versions, right? Look, sorting this out isn’t the easiest thing to do, and there’s no standardized way of dealing with this, so here’s how I’m working with it.
Copy the Placement Diagram into some sort of graphics editing program.
Open the BOM too and layout your parts.
Go line by line through the BOM, find the part on the diagram and blank it out in the graphics program, and then organize the part into a parts bin of some kind, or onto a piece of paper with labeled boxes. Then hide the line on the BOM spreadsheet.
It’s easiest to start with the big pieces, processors, ICs, opamps, etc. and progressively get smaller.
The IC sorting process presented a few hiccups.
For the two identical looking SOT-23 components, D1: a 2.048V Reference and U2: a 3.3V Regulator, Gabotronics helpfully scribbled “33” on one, and “2D” or “D7” or “1 Half Moon” on the other. I’m guessing “33” is the voltage reg. To double check, I pulled it out of the packaging so I could look up the package markings. When I pulled it out of the tape, my fingers twitched an instant and the damn thing flew out of the tweezers, bounced off my nose and down onto the carpet. Took 20 minutes to find it. I popped the part number from the BOM into google, found the datasheet on the Diodes Inc. website and the package marking, “JZ0UD” corresponds to their AP7333 3.3V Regulator. Process of elimination suggests the other part should be the voltage ref, and searching for that part number led me to the LM4040 Precision Micropower Shunt from Texas Instruments, and the package marking “4MVU” corresponded to a “Grade D, 1.0% Initial Accuracy 2.048V” device.
Z1 appears on the schematic with the part number “PRTR5VOU2X,215” next to it, is an included part, but doesn’t appear in the BOM. Searching for it puts you in the round robin of Alibaba distributor hell, although I eventually found it to be an NXP PRTR5V0U2X Ultra low capacitance double rail-to-rail ESD protection diode. Mystery solved.
As far as the passives go, the best I can say is, I got the parts I needed. However…
The BOM is two revs back, 2.1 vs. 2.3, so the component values are wrong. There are no 3.3uF caps on the board at all.
The reference designators skip values that were most likely eliminated during annotation iterations in the design phase. I know fixing this sort of thing during board revs is a massive hassle, but for a kit, you have to really go out of your way to make things clear. C17, C22, R17, R18, R19, R20, R21 and R26 do not appear on the circuit board. At least it’s consistent with the BOM.
C28 is on the PCB, and on the drawing, but not on the BOM and no part was supplied. Looks like it’s a footprint for a whacking big electrolytic, or tantalum cap. Looking at the photos of the completed board on the webpage would indicate that it’s a NOPOP (don’t populate) part. Would be nice to have that confirmed in documentation though.
I find it terribly amusing that they ship a kit so utterly half-assed with the organization of the passives that it took me three hours to sort it all out, but provided exactly, precisely and only the amount of each necessary to build the kit. I better not lose or overheat one of those three $0.008 10pF crystal load capacitors you guys sent me.
Assembling the Gabotronics XMiniLab: Backside Copper
Ok, so I’m writing this real time as I’m staring at the components on my workbench. Here’s my thought process on how to go about this…
The parts are most densely packed on the bottom side copper, so it’s best to start there. Also, I don’t want to get the OLED display down, then turn the board over and scratch it all up while I’m rotating the thing this way and that to solder down all the passives and ICs.
Three components have tricky footprints: D4, Y1 and Z1 . Z1 looks like its pads on the PCB are nice and meaty so it shouldn’t be a problem getting solder to it and D4 has little spindly leads, but again, nice big pads on the PCB and clearly marked anode/cathode placement. Y1 though, the 16MHz Crystal, has a couple of problems. First, it’s a QFN package, so it’s conductive patches are entirely under the body of the component, meaning this should technically be a hot air / reflow oven mounting… neither of which I am accurately equipped for. Second, Gabotronics didn’t indicate pin 1 on the board. The datasheet doesn’t make me think that the pinout isn’t much of a issue: the part is obviously rectangular and there are only two types of pads: GND and XTAL, and the matching pads are in opposite corners diagonally. Still, confirmation for such an important part would be nice. I double checked by pulling up the schematic and verifying that pins 36 and 37 of the micro were running to the pads I thought were the XTAL pads. Oddly, the footprint on the board for the XTAL doesn’t have the ground pads connected to the ground plane.
Once those three are taken care of, the best next step would probably be to get the larger chips down onto the board: the QFP microcontroller and the SOIC opamp. The opamp in particular, is nestled in a swarm of parts, so you have to start in the center and work your way out.
After the micro and the opamp, I’ll probably get the rest of the ICs on there: the SOT23s and what not.
Then all the backside copper passives.
I’ll worry about the top side layer later. One problem at a time.
So how’d it go? The QFN crystal footprint was a pain to get down. I tinned the two pads where the crystal connected with solder, ignoring the two other pads because they didn’t go anywhere. I heated up one corner and then held the component in place after taking the iron away so that it was stuck in place. Then I used a heat gun I have for heating motorcycle shaft bearings to reflow the pads, and as soon as the solder was wet again, I mashed the thing down, creating the big burp of excess that you see in the picture. Ugly with a capital “Yeesh.” I could probably have done this with an iron alone, but it would have been even more ghastly. I’ll clean that up with some flux in a second and see if that improves it, or if I have to wick up some of that. The pads were fairly well separated underneath, so I don’t think I have to worry about bridging.
No problem with the micro or the opamp, but those are pretty straightforward. I almost got the 44 pin QFP down without having to use solder wick, but I had juuuust a little bit too much on the iron as I drag soldered the last side and bridged some pins.
The LM2665 boost pump was only a problem because it’s a TI part, but used to be a National Semiconductor component, and when TI rebranded the datasheet, they didn’t clarify where pin 1 was. I had to hunt around for the old National Semi datasheet to locate it. Look at page 5 of the National Semiconductor LM2665 Datasheet, vs. page 6 of the TI LM2665 Datasheet.
The amount of flux gunk adhering to every thing on the board right now is really disgusting. Looks like I blew my nose with the poor thing.
The passives are a pain because they’re packed incredibly tight in areas, and there aren’t any reference designators on the board, so you have to constantly look at the drawing and figure out where the part goes in the Machu Pichu of components they erected around the opamp. To try to make it as easy as I could, I just brute forced my way through the area around the opamp, working out from the center, then once that was done, finished out the last few resistors, then did a full pass on the remaining 10pF caps, then the 0.1uF caps, and finally all the 4.7uF capacitors.
Once everything was done, I liberally applied some flux cleaner and went at it with a soft synthetic brush to get all the snot off the board. I think it cleaned up nicely.
Assembling the Gabotronics XMiniLab: Frontside Copper
Backside copper is nice and pretty now, so time to tackle the front. All that’s really left are…
25 pin header to connect it to a breadboard
6 pin header to connect an “external interface”
OLED display flat flex ribbon connector
A couple of surface mount LEDs
The pin headers are nothing major: the 25 pin is a standard through hole that you’ve seen a billion times already, the 6 pin is a surface mount but beefy so super easy to solder down. The tactile buttons are also beginner level stuff. The LEDs look like they’re 0805 size so shouldn’t be a challenge, other than figuring out which end the cathode is and how to orient it on the board correctly. Giving me a triangle that doesn’t match the marking on the actual component doesn’t really tell me anything beyond “Yes, this is where the anode goes”, but which half of the actual part you sent me is the anode? Is it the part with the dimple and the microscopic dot, or the part with the line and the little bump in the middle?
The 25 pin header went down without a hitch, and I’ll save the six pin header until after I’ve done the USB connector, since it might get in the way of it. I confirmed the LEDs connect straight to ground, so I quickly probed conductivity between the surface mount pads and ground, which ever ones made it beep, that’s where the cathode goes. After that, I used a breadboard with a 330Ω resistor with a 5V supply, a pair of test leads and some very very steady hands to figure out which end of the LED package was the anode. With that done, it was no problem soldering them on.
The USB connector is a bit of a challenge. It has plated mechanical holes that are used to keep it stable during cable connects/disconnects, and ensure the entire metal housing is grounded securely. The leads are very fine pitch and are neatly tucked away almost underneath. The pin pitch looks the same as TSSOP component, thin and close. With the exception of the second from the left, pad 4, all the traces lead to either the top side copper plane, or a very easily identified via, so testing it once it’s down won’t be hard. I confirmed on the schematic that pad 4 is intentionally left disconnected.
I did a dry fit first and it looks like I can’t add solder to secure the body after it’s down, so I’ll have to get solder down onto the body pads first, then heat the housing up to the point where it reflows the solder, either with the iron or with my trusty heat gun. The traces I can either solder by hand, or reflow like the body. I think I’ll just try to reflow the whole thing.
Soldering it worked pretty well. I flooded the pads that would secure the body with solder, careful not to fill the holes so the mechanical components of the housing could still poke through. Dumped some solder with loads of flux onto the actual signal pads, then plopped the thing on. It sat very lumpish on there, as I expected since the solder I’d put down was lumpy and solid underneath. Then I took the heat gun to it for about 20 seconds at full blast and saw it settle a bit, mashed it down with the tweezers and had a look after it cooled for a minute or so. The body was fully seated, but one of the pins looked like it hadn’t reflowed, so I squidged (technical term) some solder up into it crudely, used lots of flux and it worked ok. I tested it with a USB cable connected to it, and probed from the other end of the cable to the various vias I’d identified and it all toned out correctly. Soldered down the six pin surface mount header too.
The flat flex cable…hmmm. Tape, maybe? Or a couple of big clamps? Decided on tape. There are also a pair of alignment holes I hadn’t seen before, so I’ve taken a couple of chopped off LED legs I had laying around in my “Offerings to the Gods of Electricity” bin, bent them at a 90 degree angle and used them to help keep it in place, then carefully burnished a piece of scotch tape over it with my fingernail, making sure the pins of the ribbon matched up with the pads.
Here’s what I think could go wrong: 1… the scotch tape melts from the heat and the board looks like crap. 2… the ribbon cable is so un-uniformly flat that it’s impossible to get it all soldered down. You’re trying to secure one pin, and the pin next to it pops free again, and again, and again. The only thing I’m sure won’t happen, is the capton catching on fire. Well, let’s see what happens…
Wow! That was surprisingly easy! I started by tacking down the center pad and noticed that capillary action reflowed the solder up under the ribbon cable. I also noticed that each of the ribbon pins (whatever they’re called), had a hole in it, offset either further up or down the length of the ribbon pin from it’s neighbor, that I could drag solder up towards and you could tell it was getting sucked in a bit and really making a solid connection (you can see the holes in the first picture with the tape). So I dragged solder to all the pads, roughly, unaesthetically, just to get everything with a bit of solder on it, then went to each and pushed the soldering iron up from the tip of the pad to the end, over the capton tape / ribbon pin. The capton tape seemed to act as a sort of solder mask, and after I did each pin that way, I soaked the whole thing with flux and did it again and it really cleaned up nicely! Wow! I was really worried about this! The tape came off clean too. (The thing that looks like a solder bridge between the two left most pins is just a shadow.)
Soldered on the remaining four tactile buttons and cleaned all the flux goo off. Time to plug it in and see if it works.
Ho. Ly. Shit. It works! You’d think that after so many years of doing this sort of thing, one day I’d be less amazed when something I’ve built works… today, is not that day.
That’s the auto-test running on it. Sweet!
Next step is a review of the Gabotronics XMinilab and a comparison between it vs. my Rigol DS1102E.