Making footprints and schematic symbols are some of the more onerous parts of using Eagle. But most ICs are pretty similar: they're either DIPs, some type of leaded SMD, or BGAs. So I made a Perl library that lets me enter a simple text description of a chip and it will generate a footprint and symbol for me and link them together into a complete device.
I've been working on a Python version of the XSTOOLs software for a while now, but I finally got around to making it into a package. Distributing it as a ZIP file was becoming too much of a hassle. Now all you have to do to install it is type:
I sponsored the 2011 Open Hardware Summit but didn't take the opportunity to put anything in their goodie bag that year. (Incidentally, does anything sound stupider than the term goodie bag?) When I sponsored again this year, I needed to find something for the bag that would:
Well, the XuLA2 PCBs arrived last week and now they are moving through assembly. But before I could start that, I had to build up one of the boards to make sure it worked. (I wouldn't want to assemble a batch of boards at $60 a pop and then find out the PCB was wacked.)
The XuLA2 board has a 256-ball BGA on it. In the past, I've sent a single board and BGA to my assembler and had it mounted. Then I would assemble the rest of the board and test it. The problem with doing this is the delay:
Monday: I mail a PCB and BGA to the assembler. (They are forty miles away.)
Tuesday: The assembler receives the package and - if they jump right on it - mounts the BGA on the PCB.
Wednesday: The assembler mails the mounted BGA and PCB back to me.
Thursday: I receive it along with a bill for $50.
To avoid a three-day delay and $50 out-of-pocket, I wondered if I could mount the BGA myself. The total cost of the BGA and PCB was less than $35, so the potential loss was minimal if I screwed up. And I could always fall back on my assembler if I failed.
While I didn't have the temperature-controlled convection heater or the X-ray inspection machine like my assembler, I did have a $40 paint stripper that should heat the BGA enough to make it reflow. Surprisingly enough, I was able to successfully mount the BGA to the PCB using very simple tools and procedures. Here's a video that shows how I did it:
The first BGA I mounted was a failure, but every one since then has worked. I wouldn't employ this technique on a board I'd send to a customer or one with a large, expensive BGA, but I would use it for short-term prototypes with mid-size BGAs.
You've probably read quite a bit of commentary about Curiosity's landing on Mars last night. Well, here's "Yet Another Mars Science Lab Blog Post".
First off, great job! NASA and JPL made an incredibly complicated job look easy. It took millions of man-hours of mind-numbing effort to get to that point. Now I'm excited to see what Curiosity digs up. It's a great achievement.
OK, that's out of the way. Now I want to respond to some of the dumbass comments I saw on Twitter and the NASA Ustream last night.
When I demoed a few projects at the recent Maker Faire NC, I also brought along a loose box of projects for people to paw through. (The little kids loved 'em. Nothing puts out an eye like an 0.1" header.) Most of the stuff was old XuLAs and StickIt! motherboards and modules. But the one most people asked about was just an unpopulated PCB I'd designed back in 2011 and had never gotten around to doing anything with. (That's one of the unexpected consequences brought on by companies like Itead: you can make a PCB for a project and, because it's so cheap, you don't care if you never finish it.)
Well, I finally finished testing the XuLA2 prototype a few days ago and released the PCB to manufacturing. When I layed-out the prototype, I butted the microSD socket right up against the FPGA in order to keep the board at 2" x 1". I knew that wasn't going to fly for final production, but I wanted to get it done quick so I could find the other gotchas that typically occur when I move to using a different chip (in this case, the Spartan-6 FPGA).