Uses This

Interview

What do people use to get the job done?

Joe Grand

Joe Grand

Computer engineer, hardware hacker

Who are you, and what do you do?

My name is Joe Grand, aka Kingpin. I'm a computer engineer, hardware hacker, product designer, teacher, advisor, runner, daddy, honorary doctor, TV host, member of legendary hacker group L0pht Heavy Industries, and the proprietor of Grand Idea Studio.

Most of my life revolves around creating, exploring, and manipulating electronic systems. I specialize in the reverse engineering and security analysis of hardware products and enjoy teaching others about how products can be forced into doing things they weren't designed to do. I also enjoy inventing my own products to share with the world, sometimes useful, practical things and sometimes ridiculous, goofy things, depending on my mood.

What hardware do you use?

My main machine is a 15" MacBook Pro. I'm often on the move, sharing my physical location between my lab, house, hotels, and classrooms. I have an aversion to intentionally storing my data on other people's computers ("the cloud"), so I've traded the power of a desktop machine for the portability of a laptop and the convenience of having access to everything I need no matter where I am.

My primary analysis tool is the Agilent DSO7054A digital storage oscilloscope. Nothing beats being able to see what electrical signals are actually doing at a given point in time, especially if you're trying to figure out how a system is operating or why it isn't. For listening in on and decoding communications between components or subsystems within a product, I use a Saleae Logic Pro 8 logic analyzer. My Fluke 287 multimeter and HP E3630A triple-output DC power supply are also constant companions.

At my workbench, I use a Metcal MX-500P soldering system and Vision Engineering Mantis Elite stereo inspection microscope. For rework and parts scavenging, I'll choose between a Weller WHA900 hot air station, Hakko FR-300 desoldering tool, or Chip Quik SMD removal alloy, depending on the target component's package type and location. For extracting data from and programming data into microcontrollers and memory devices, I rely on my Xeltek SuperPro 501S universal device programmer.

For hacking on and exploring embedded systems, I use a variety of electronic modules and platforms like the Propeller, BASIC Stamp, Arduino, and BeagleBone. I also use a whole bunch of tools built by hackers for hackers including the JTAGulator, Bus Pirate, Bus Blaster, ChipWhisperer, and HackRF One.

For rapid prototyping and desktop manufacturing, I employ two main tools: A T- Tech QuickCircuit 5000 PCB prototyping system for creating circuit boards and a MakerBot Thing-o-Matic for 3D printing of project enclosures and tchotchkes.

And what software?

My primary operating system is macOS and I use the standard complement of provided applications, most often Mail, Keynote, Pages, Numbers, and TextEdit. I like staying in the native environment as much as possible, but use VMware Fusion to run Windows and Ubuntu when I need a sandbox to play in or to work with engineering software not supported by macOS.

I'm the most efficient when I focus on one task at a time, so I use Things to keep my to-do lists in order and to help plan my day.

Even though I generally work alone, there's something to be said for human interaction. Colloquy for IRC keeps me sane and in touch with many of my friends.

For schematic capture and circuit board layout, I use Altium Designer. I designed my first professional circuit board with Protel EasyTrax for DOS in 1996 and have followed the progression of the tool since then.

For version control and dealing with Git repositories, I use SourceTree coupled with Beyond Compare.

Depending on what I'm currently working on, I'll use other software tools like Microchip MPLAB IDE with XC8, CodeWarrior, Quartus Prime, OpenOCD, gdb, and/or IDA.

For video demonstrations of projects and products, I film with my iPhone 4 and edit with iMovie. I'm notoriously bad at video production and tend to be more concerned that the information gets conveyed properly than how good it ends up looking.

What would be your dream setup?

I've always wanted to have some sort of underground secret laboratory. I'm completely happy with the resources I have above ground, but a subterranean lair would be awesome.