For DEFCON 17 in August, 2009, the Ninja Networks badge team designed an electronic badge inspired by the film "WarGames". In the film, the WOPR computer attempted to brute-force launch codes for nuclear missles by cycling through possible codes, locking in one character at a time.
With this in mind, the Ninja Networks team created a handheld electronic badge built around a Freescale MC9S08QE8 processor. The badge contained 10 16-segment HIOX-style LED displays that showed characters similar to those shown in the film arranged in two rows of five characters. When activated, the badge would cycle through a seemingly random series of characters, locking in one character at a time, eventually spelling out "NINJA PARTY". A game of "Simon" was also included, as well as a debug mode that could be used to access the badge's memory and even modify the code running on it using the four buttons provided. The badge was designed and built by Amanda Wozniak and Brandon Creighton in Boston, and constructed by volunteer hackers.
For DEFCON 17, Ninja Networks designed and built a electronic badge to be given out as the event invitation. Historically we've done everything from stickers to holograms to etched aluminum. This year, we figured if we were going to dramatically step up the event, we should step up the badge as well.
The following is the story of how the badge came to be, and how we damn near screwed it all up.
It started as an idea fleshed out on bar napkins at an Irish Pub called "The Field" at Toorcon in 2006. Myself, Caezar, cnelson, avarice, and a smattering of ninjas and friends were talking about what we could do for a really exceptional party invitation for next year's DEFCON. We developed two ideas over the course of about 5 hours and 50 drinks - the complex idea that we may be using next year, and the relatively simple one we used this year.
Executing the idea this year started in February of 2009. Myself, cnelson, and cstone began the process by fleshing out the idea more thoroughly, and developed a preliminary list of components that would be necessary to build it.
The plan in February was to obtain most of the components from China, build prototype boards domestically, then ship everything to China for assembly. cstone would rope in Amanda Wozniak aka "Woz", a local friend and MIT alum, to help with the design process. Woz would be more or less in charge of the hardware design itself, and cstone would be assisting Woz as well as writing all of the software.
At the beginning the badge had additional functionality that is not currently present on the final model. The badge had USB storage, as well as a radio receiver that would synchronize with the nationwide Atomic Clock signal, allowing every badge to run perfectly in sync. Our budget was about $12 per badge, depending on USB storage considerations.
Over the first few months, we sourced components, and started experimenting. One of the first things we found were the LED displays known to us as the "YETDA"s, after their manufacturer. These 16-segment HIOX-format displays were affordable and in-budget, and we eventually found someone in China to sell them to us.
Around April, we settled on a Freescale processor (MC9S08QE8), and a Temic U422B for atomic clock sync, and had a few options for the remaining ICs we'd need. The radio chip would have an all-in cost of less than fifty cents, and the processor was cheap. We were on-budget.
Then things started going wrong.
China started lagging and changing prices on us and taking more time than we allotted. Vendors accepted payment then couldn't ship components. Most of the delays were related to flash chips for the USB storage. This started eating away at our available time. Making things worse, Woz and cstone were in Boston, while cnelson and myself were in Los Angeles. Woz and cstone, under pressure for time and working entirely unpaid, had to let some deadlines slip, and ultimately made some judgment calls on changes to the badges, thinking they had no other option. This was the result of a systemwide communications failure between the entire group. A rare incident with this group, and a costly one.
In the end, two weeks before DEF CON, we did not have any badges.
Moreover, about 10 days out I got the news that the radio sync would not work because of interference issues, and it was unlikely the USB storage would work, because of the delicacy of the circuit. Also, our per-badge cost was now approaching $20, and due to obvious time constraints, we had no time to have the badges assembled.
When I got that call, I just about shit myself. I'd been somewhat insulated from the finer details of the badge construction up until this point, and that was a mistake. We all should have been talking about the details on a daily basis, and we should have been shifting time-consuming logistics processes (such as sourcing components) from the build team in Boston to the project management team in Los Angeles, so that Boston had some breathing room. In reality, Boston was overwhelmed and we had no idea how bad it was until it was too late.
Collaboratively, the whole team including myself blew it in this department. I should have been more aggressive with Boston about timing and deliverables, and in turn they should have been all over me about taking logistics tasks off of their shoulders so they could actually get things done. The problem that kept this from running like a normal job was that everybody had a bit of a Laissez-faire approach to tasks assigned to other people, due to the fact that everybody involved was doing this as friends in their spare time. We couldn't just boss each other around. That really changes the project execution dynamic, and you've gotta make the best of it.
So, old plan out the window, and new plan. Badges would be assembled entirely by hand in the US, as the parts came in. The surface mount components would be placed on the badges using solderpaste and a hotplate from Target, instead of a reflow oven. The through-hole components, meaning the YETDA displays and the battery holder, would be inserted entirely by hand, and each badge would have every single pin soldered by hand (about 175-ish pins per badge, times roughly 500 badges, or 87,500 individual joints.)
Also, hilariously, UPS had left the batteries (all of them) at the wrong address in Boston, and they had been apparently stolen. So we had no batteries.
This was literally one week to the day before DEF CON.
Fortunately, the batteries were eventually recovered, and the custom PCBs, (designed by Woz in Eagle PCB and built by Advanced Circuits) showed up in Boston without incident. Work began on badge assembly in Boston.
Things were looking great! Assembly was working and badges actually functioned! I was sitting at Panera Bread eating a sandwich and thinking that we're gonna be ok.
Then I got a phone call with bad news.
cstone had recruited a huge group of volunteers to come by and help insert the displays and begin soldering. It was expected that with 15 people going all weekend, we would be largely done by Monday. That's when the bad news came - the holes in the PCBs were almost exactly the same size as the pins on the YETDAs, with no coning. This made the insertion of the displays a highly precision job, because if any of the pins were even -slightly- bent, the display would not go in. What was supposed to take 5 seconds took 5 minutes.
I'm a pretty mellow dude as anyone will tell you. But at this particular moment, time is of the essence, and I'm standing in the Panera Bread parking lot talking loudly and quickly into my blackberry, brainstorming crazy options and pacing quickly, probably looking like a crazy person. At that moment, an -actual- crazy person walks up to me in the parking lot, hands me a $20 bill, and says to me, "God told me to give you this, and tell you that everything is going to be alright." Then the dude gets in his truck, and drives away. This actually happened.
Whether or not somebody's god had anything to do with it I can't say, but ultimately we did come up with a completely crazy-ass plan to get the YETDAs inserted and get these badges done in time for DEFCON. I also made $20 bucks.
This YETDA problem and its ultimate resolution would end up defining DEFCON for me entirely, bringing about one of the most inspiring on-the-spot hacker community responses I've seen since I started coming to Con.
The first thing that happened is that cstone and his amazing crew assembled 150 badges (out of 500) in Boston over the weekend before DEFCON. On Monday before DEFCON, the rest of the badges (350) and related components were shipped to Los Angeles via FedEX. They arrived on Tuesday. All day Tuesday and Wednesday, a huge group of volunteers manually inserted YETDAs into each badge, a process taking approximately 10-15 minutes per badge.
More photos from the LA-based buildathon can be found here: http://www.flickr.com/photos/ninja_networks/sets/72157622003770924/
However, we did not solder most of these badges. We didn't have any time. Eliot from Hackaday knocked out a handful, but come Wednesday evening, just hours before DEFCON, we only had about 160 finished badges, most of which were in Boston, and 340 badges with all of their components, but in need of soldering. That's about 61,250 solder points to be done by Friday. It's Wednesday night.
I got to DEFCON on Wednesday night with about 200 unfinished badges from LA. The other 150 would come at 2pm on Thursday, brought into town by cnelson.
What needed to happen was something of a small miracle. We needed to get a huge group of volunteers to show up somewhere with soldering irons and solder 61,250 joints by hand between mid-day Thursday and mid-day Friday.
So what happened? This happened:
We sent out some twitters and text messages, as well as spreading the word verbally, and people came out of the woodwork like crazy. We had so many people show up to solder that we actually had to go out and buy more soldering irons. At one point, there were 15 people simultaneously soldering in one room at the Riviera. Most of these people I had never even met before, they were just cool people that were willing to devote hours of their day to helping us put these things together.
This really put a smile on my face, partially because I was experiencing the effects of lead poisoning, but mostly because it reminded me why I started coming to DEF CON in the first place. It felt like an old 2600 meeting from the early 90's, or just an old computer club meeting. It is one of my top three favorite DEF CON moments of all time, without a doubt. "Ninja Badge Solderparty 2009" is definitely going be remembered and retold as DEF CON lore among those that were there, and I hope everybody took away the same positive feeling from it that I did.
In the end, we had 500 functional Ninja Badges to give away. Each badge took about 45 minutes of time to assemble, accounting for everything involved. If you have one of these badges, it represents a lot of work by a lot of people.
Woz and cstone did an amazing job on the badges, and they were ultimately a huge hit. They deserve the bulk of the credit for the existence of the badges, along with the hardworking people listed below.
I sincerely thank everybody that came out and helped. Without all of these people, there would be no badges. If you've been left off of this list, please let me know.
XeroBank (http://www.xerobank.com) provided financial support as our primary sponsor. Without that support there wouldn't have been a party or a badge.
Redwire LLC (http://www.redwirellc.com) donated a huge amount of space and equipment to the Boston team, without which we would have not had badges at all, as we would not have been able to do the surface mount work or much of the initial assembly.