Since I didn’t get the parts I wanted to play with this weekend (apparently Digikey is “upgrading [their] systems in the warehouse which has delayed some orders”), I got around to building something I’d been meaning to: some surface-mount (smd) adapter /breakout boards. So far I’ve been trying to pick components that have both through-hole and surface-mount variants, so that I can prototype with through hole and then make a board with surface-mount, but as I go I’m finding more and more chips which are only supplied in surface-mount packages (for instance, CPLDs/FPGAs, or higher-end microcontrollers). A common solution to this is to obtain adapter boards that you can solder your smd component to, which breaks out the individual pins to a more prototyping-friendly format (usually 0.1″-pitch pins). There are a lot of smd adapters out there (proto-advantage.com has a large variety), but I felt like I could do better than what’s out there, both in terms of functionality and price.
The main thing I want from an smd adapter is flexibility; perhaps there are some people who want to stock boards for every package and pin count out there (proto-advantage sells hundreds of varieties), but I’d like to have a small number of types of boards, since the whole point of the boards is to have them in advance so I don’t wan’t to stock too many types. I really like what Dangerous Prototypes did with their xQFP Breakouts — each board can handle QFP parts with anywhere from 32 to 80 pins. One thing I thought could be better is to have breakouts on both sides of the board; their design leaves the back empty, which seems wasteful. So the first board I put together is just taking two of their layouts (the 0.5mm- and 0.8mm-pitch versions), adjusting them slightly and combining them on opposite sides of the PCB:
I had difficulty doing this kind of manipulation in Eagle until I discovered a couple things: you can have a board layout without any schematic, and the Group tool has a mode where you define the group by an arbitrary polygon (instead of a rectangle) which lets you get exactly the parts you want. That second feature came in handy since the 0.5mm and 0.8mm versions had different board sizes, so I had to stretch the 0.5mm version, which involved moving one quadrant at a time (not a rectilinear group).
I’m not sure why the design should stop at 80 pins; with the 1.96″ x 1.96″ SeeedStudio size, should you theoretically be able to fit 136 pins around the outside of the board, assuming the routing is possible. This is just slightly too small for my Spartan-6 FPGA I want to break out (the smallest package is a 144-TQFP), but it looks like there are 100-QFP chips out there and it might be worth supporting them. Then again, I’m not confident that I could consistently solder an 80-TQFP to this breakout and have it work, so maybe the limiting factor is assembly, not the pcb itself.
I’m also hoping that this beard will handle QFN parts as well; I imagine that if you were to design a similar board but for QFN parts, it would look quite similar, though the part would probably be narrower.
The second board I made is essentially the same idea, but for different packages: TSSOP and SOIC. I tried to make the board narrow enough that it could theoretically be inserted onto a breadboard, though I think I left the margins a little too wide to make that work well. The narrow size meant I went with smaller (6-mil) traces, which might have been a mistake as well. Anyway, here’s the board:
I’m less confident about this one, but considering that my current option is to “dead bug” the chips by soldering wires directly to the pins, I’ll be happy once I have these which will probably take about three weeks. I’ve posted these designs, along with pretty much everything else I do on this blog, to my github.