Technical

When Engineers Hack

I hear the word “hack” a lot these days. The concept of “life hacks” has gone so out of control that people are opening beer bottles with bananas—crazy! IDEO Labs engineer Mark Harrison wrote an article last spring about his four all-time favorite workarounds, and we loved reading it here at Mindtribe. For me, one of the most interesting aspects of the article was his use of the word “workarounds”. Why didn’t he call them hacks? Why didn’t he just call them “clever engineering solutions”? It’s got me thinking about the work we do as engineers: is engineering just hacking? Is hacking a subset of engineering?

Recently I needed a digital force gauge – basically a fishing scale with a way to read and record weight on my computer. Sami preliminarily ordered this digital force meter on Amazon because it was pretty cheap compared to the other ones and claimed to have an RS232 interface that “can store and input data to computer for statistical analysis.” Two days later we were digging into the user manual, sorting through a lot of broken English and finding no written info on the communication protocol except one figure: forcegaugefigure Great, there are the pins for the interface. So how do we get weight data? Trying to move quickly, Timothy and I gave it our best one-hour shot and couldn’t get any data from the meter. Michelle was on the cusp of ordering an expensive replacement when I had an idea and opened it up: forcemeteropened As I suspected, this force meter uses a strain gauge load cell – it’s that metal block attached to the hook. It just so happens that I recently learned a little about load cells because my good friend Chasen did some work with them for a beer-keg-weighing personal project. I knew that load cells vary only a few millivolts when you strain them, which is too small to easily measure, so I traced the cell’s leads to a small IC on the PCB: forcemeterpcb A quick Internet search of the part number told me that the IC was an amplifier. Using the datasheet, I located the output of the amplifier and probed it with the scope; that signal’s amplitude varied tens of millivolts as I strained the gauge, which is large enough to measure.

So the final step was measuring the voltage with an analog-to-digital converter (ADC). We have the LabJack U3 around here for just that reason. With five lines of Python I was writing the ADC voltages to my computer’s terminal, and I wrote a quick algorithm to translate the ADC voltage into pounds of weight. I’d circumvented using the serial communication interface, and saved us from having to scrap the cheaper force gauge. What’s more, it ended up advantageous that we used the LabJack for measuring force because it was easy to integrate the LabJack into the rest of the test infrastructure as a universal I/O controller.

To me, the word hack has two strong connotations: one evokes images of frazzle-haired, middle-aged folks eating cold pizza in a dark room with CRT monitors displaying The Matrix green text; the other reminds me that I used to live near corn fields where things like this took place. My classical engineering training has me mentally blocked from accepting that sometimes the work we do as engineers is pretty scrappy. It’s like recording music in your garage versus a recording studio. Hacking isn’t all about hot glue and breadboards and garage bands, though.

Moreover, I think hacking makes a statement about originality. I saw this TED talk recently and it reminded me that someone else invented every electrical design I’ve ever used, and usually for a different purpose than the one I’m using it for. That’s the nature of my work: I reassemble fundamentals into tangible objects—new feels on the stuff that we’ve all seen before. That’s the epitome of hacking. The road to creativity often begins with appropriating, retrofitting, and hot gluing, and those are all totally valid paths to clever engineering solutions. I’d still call myself an engineer, but professional hacker is a close second.