12/23/2013— Eric Kolker
I haven’t had the bandwidth lately to sit down and write another one of my long, deep technical dives. Instead, I’ll debrief a little on what I’ve been juggling lately (read: this past week). Here goes a braindump in reverse chronological order.
Friday- Saturday: Move out
For the holidays, Jon and Kelsey had gone to California on Tuesday, and Kevin had shipped out to Colorado. That left Tim, Jia, and me the task of packing up and moving everything out of Tim and Jia’s dorm. Let’s just say that the only sleep I got in the surrounding 48 hours was in the card ride home from Boston. Tim gets most of the credit here because he’s the lucky guy who got to transport all of our gear:
Tuesday - Friday: Test benches
Everything we make needs to get tested before it ships, including each and every module. To do this, we build dedicated hardware, which typically takes the form of either a Tessel or an Arduino with a custom PCB or protoboard. We write some firmware that verifies that the device under test (DUT) is working properly (I’ll save the juicy details for another blog post), and the test benches usually look something like this:
Since we’re ready to ramp production on around nine of our modules, this meant that we had to design, build, and test the same number of test benches before shipping them off to one of our manufacturers. Specifically, I needed to verify that our camera and RFID designs were sound before we could ship them (spoiler: they are). This meant building a few boards and running them through the paces.
Wednesday - Thursday: Beta round 2
We pushed out the second round of boards to Beta backers on Thursday. This culminated in the $500 USPS charge that Kelsey showed you last week:
Before we could send out the hardware, though, we had to build and program it.
- The new Tessels (model TM-00-02) needed to be one-time programmed (OTP’d) with the proper serial numbers, bootloader, etc., then tested to be sure blinky.js runs smoothly
- We needed to build around 80 modules for Tessel’s Beta backers (first and second round alike). Specifically, we built…
- A fresh set of Micro SD modules
- A full batch of GPS and Ambient modules
- A trio of IR modules (for us to test/develop firmware on, not to ship, but we were already in the lab…)
- At least 25 BLE modules (these in particular are very difficult to assemble by hand and until very recently our yield rate was unacceptably low. We ended up tweaking the layout, praying, and I spent hours carefully building the modules one by one. All told, I think Jia and I spent at least six hours in the lab on Wednesday.
- Everything had to have firmware flashed, be tested, then ESD bagged, and packed for shipping.
- Last but not least, on Thursday, Jia and I spent three hours in not one, and not two, but three different Post Offices to try to ship seven internationally-bound Beta packs (one Post Office couldn’t ship internationally, one legitimately closed while Jia was filling out forms, and the third finally worked out). We ended up holding up one of the lines filling out paperwork for the better part of an hour. Fulfillment is a chore I’m grateful to be rid of (thanks, Kelsey!).
Monday - Tuesday: Probably the Camera
I think I was working on the camera at this point. We decided around a week ago how we wanted to go about converting the camera we’ll be using into a Tessel-compatible module. The full story will make a good blog post, but the summary is:
- Pick an existing camera
- Establish that we can communicate with it
- Ask the manufacturer to do one part swap so we can mount it to our own board
- Mount it to said board, which includes the standard Tessel module header and some support circuitry
Once we had a homebrew prototype, we needed to test the new board, verify we could still bring it online, and generally vet the communication protocol we’ll be using to interface with the device.
Sometime before Monday: GPRS, but I don’t even remember anymore
It turns out that you sometimes lose track of time when you work weekends, don’t sleep much, and have a bunch of looming deadlines. (Kelsey says I’m “depressing,” but I really do like my job and if you’d like to work with us, check out our jobs page.)
I was likely working on the GPRS module at this point. I had an Arduino shield from Seeed Studio that we had rebuilt so it would play nicely with the Tessel, but I hadn’t brought the board online yet. Luckily, this proved to be a painless process (well, after I fixed the antenna path and attached the antenna).
A minute or so later, I was able to send a “Hello, world! I miss Jialiyaball…” text to Tim using Jia’s SIM card (note: when a thing you built with your own hands sends an SMS it’s really freakin’ cool). The first half of the message should be self-explanatory. The back half is a game we play where we shout “Jialiyaball!” and throw a plush Jake doll at Jialiya. By “we” I mostly mean “Tim.”