Or so said Marshall McLuhan, a philosopher and communication theorist best known for the phrase "The medium is the message." And because our tools shape us, it pays to have the best tools you can afford. When you say "tools" to a software developer, the first thing that pops into their head are software development tools like Eclipse, an interactive development environment with a graphical user interface. And for sure, I use Eclipse on an almost daily basis. But for the kind of work I do, down close to bare metal, this can also mean artifacts ranging from hand tools like wrenches and screwdrivers to high-technology tools like logic analyzers and digital storage oscilloscopes.
I have three tool kits that I put together over the past few years that have served me well. I didn't just go out to the hardware store and buy a bunch of tools that I thought might be useful. I carefully collected the tools I found indispensable and organized them into cases and bags that I could cart around in the trunk of my car from client to client as the need arose. I learned to do this from working closely with really excellent field support engineers who had to wrench and troubleshoot some of the products that I produced during my long career.
Field-Service Tool Kit
This is a big professional field-service bag about the size of a small suitcase. It is shown with my iPhone for comparison. It is stuffed with twenty-four pounds of hand tools. That may not sound like that much until you cart them up several flights of stairs.
The field-service tool kit has two enormous zip-open compartments. The first one looks about like what you would expect: wire cutters and strippers, pliers, wrenches, screwdrivers, EMT scissors and other sharp objects capable of various degrees of mayhem, as well as more esoteric stuff like ESD-safe tweezers, a barb-wire-fence tool (invaluable), some pipecleaners, and a toothbrush. If you buy quality hand tools for your own use, you will recognize a lot of this stuff.
The other side of the bag contains a variety of specialized equipment like my Radio Shack digital multimeter and a variety of probes for it, a big zip-lock bag of neon-colored nylon ties, and electrical and duct tape.
Not shown are the outside velcro-closing pockets with safety glasses, flashlights, spools of wire of various gauges, and a big zip-lock bag of miscellaneous crimp-on connectors.
Console and Signals Tool Kit
This is a laptop bag, with my iPhone for comparison, stuffed with the things I need to instrument a microprocessor or microcontroller to see what the heck my software or firmware, or my client's hardware, is doing.
The console and signals tool kit includes a Velleman PCSU1000 PC-based digital storage oscilloscope (left), a Saleae Logic-16 PC-based logic analyzer (right), a powered USB 2.0 hub (bottom), and an old IBM ThinkPad (center). The laptop runs Windows 7 and is loaded with the Velleman and Saleae software, as well as packages like WireShark, the Ethernet protocol analyzer formerly known as Ethereal, and PuTTY, my favorite Windows-based terminal emulator. The tool kit also includes a wide selection of USB adaptors for RS232 and logic-level serial ports and other serial busses, as well as a bunch of USB, Ethernet, and serial cables.
All of this, and more, gets packed into the laptop bag so that a short trip to my car can get me started quickly figuring out what's going on.
The console and signals tool kit is the one I use the most often.
Soldering Station Tool Kit
Occasionally I have to do more violence, in the form of hardware mods or repairs, than you might expect for someone whose degrees are all in Computer Science. That's when this backpack moves into the trunk of the car.
It contains a complete Weller digitally-controlled soldering station and all the paraphernalia that goes with it. Plus: safety glasses with magnifying lenses, alligator-clip "helping hands" with a magnifying glass, a folding super-bright LED task light (you may be detecting a pattern here), and even a Weller ESD-safe heat gun and a collection of shrink wrap tubing.
All of this, plus a flux pen and other useful stuff, fit comfortably in the backpack, the soldering station and heat gun inside their original boxes.
I've used this tool kit to do quite professional-looking (considering the practitioner) work, building special adapters and cables and test fixtures and what-not. And sometimes, not so professional work like scraping surface mount resistors off a board and replacing them with conventional resistors to which I could attach a logic analyzer.
I have had clients that knew that they needed an embedded developer, but had no real clue what an embedded developer did or what tools he needed to fulfill his role in their product development organization. These tool kits allow me to become a self-sufficient one-man traveling R&D laboratory. When they hire me, they're getting a bunch of necessary infrastructure too. I've already figured out what I need, so they don't have to.
Network Tool Kit
While having breakfast when three friends this morning, conversation inevitably turned towards using Wireshark to debug TLS packet streams. Well, maybe not inevitably, but that's the kind of friends I have. I realized then that I forgot about my network tool kit.
This bag contains four smaller bags or sub-kits. The sub-kits contain (clockwise from top left) a LinkSys WRT54GL wireless broadband router (this is the Linux-based model), an inexpensive Dynex IP router, a Netgear FS108 fast Ethernet switch, and a Netgear EN104 Ethernet hub. Plus, all the necessary AC adapters and cables to deploy them.
I've used the LinkSys access point to debug and test WiFi chips in embedded systems. The Dynex router is useful to set up a temporary IP subnet in a laboratory and isolate weirdness from the client network. The Netgear switch is handy for expanding the single Ethernet cable the client gives me into a usable eight-port network. And if you've ever done Wireshark debugging, you know that as obsolete as it may be, the Ethernet hub is invaluable for peeking at a network packet stream between devices.
All four sub-kits, plus an array of Ethernet patch cables, fits in this small bag.
I don't use my network kit that often, but when I need it, I really need it.
I was recently called upon to do some cross country travel on behalf of one of my clients to do some product integration testing with one of their big customers. I used this as an excuse to try out my recently upgraded field support capability. Considering past clients have shipped me off to Europe and Asia, I'd like to think my business card could say: "Have Laptop - Will Travel".
I replaced my laptop bag with a Pelican U100 Elite backpack. If the U.S. Navy Seals had to do field support, this is what they would use. The U100 has a built-in Pelican case for my field service laptop. The case has the usual dust and moisture seals and pressure equalization valve that has made Pelican the standard by which all other such field cases are measured.
Some time ago I replaced my ancient IBM ThinkPad mentioned earlier in this article with a Lenovo ThinkPad T430s laptop. This is Lenovo's standard rugged business ThinkPad equipped with a solid state disk (SSD). I find eliminating moving parts as much as possible makes it more likely my equipment will arrive at its destination fully functional. Since the U100 backpack with the T430s resides in the trunk of my all-wheel-drive Subaru, I worry about it a lot less. The U100 carries not only the T430s, but also my Saleae Logic PC-based logic analyzer, my Velleman PCSU1000 PC-based oscilloscope, a small multimeter, USB adapters, cables, connectors, and other tools of the trade.
The U100 is small enough to carry-on, but some of the tools I carry in it are not TSA-friendly. When I have to travel with it as checked baggage, I stow it in a North Face Base Camp duffel bag. The mouth of the North Face duffel is big enough to swallow the U100 backpack whole.
I've sat on flights that have just landed, waiting my turn to deplane, and watched my luggage sit on the tarmac in the pouring rain. The water resistant North Face duffel not only protects my equipment from the elements, but keeps the straps of the U100 out of the workings of hungry automated baggage systems. Although the duffel comes with detachable shoulder straps, I find that the built-in handles are completely adequate to temporarily turn the duffel into a backpack while shlepping it through airports.
When I have to travel with additional equipment, I once again turn to Pelican. The relatively small Pelican 1510 case meets the carry-on requirements of most airlines and is designed like carry-on rolling luggage.
It doesn't hold as much as you might think, thanks to all the internal padding and the thick plastic shell. But the padding and shell are exactly why I bought the case in the first place. It was sufficient on my recent trip to carry an engineering prototype of a satellite communications product, a power supply, a tangle of cables, and a quarter-terabyte USB 3.0 drive (!!!).
When I reach my destination, I extend the handle of the 1510, set it up on its built-in wheels, stack my other paraphernalia on top of it, and I'm good to go.
When I am traveling on the business of high technology, it doesn't pay to scrimp. My mission may be critical enough that there really is no Plan B. And when I am dealing with my clients, or even more importantly the clients of my clients, I want to project an image of competence, quality, and professionalism. I want to keep my current business; and I never know from where my future business is going to come.