Hacking To Resist the State

There’s something in me that reflexively resists an attempt to control me or prevent me from doing what I want. It is a bit of an anti-social impulse, I suppose, since so much of our society seems to be primarily concerned with telling people what they can’t do, but it makes me pretty good at what I do for a living. I suppose it also makes me rather difficult to manage. Oh well, the best people don’t get off on controlling others anyhow.

I realize the motivation is not necessarily sadism on the part of the would-be controllers (as it was when I was growing up). Sometimes, it is do-gooders and professional busybodies condescendingly attempting to control us “for our own good” (why wasn’t I consulted about what I think is good?). More often, however, they’re simply trying to make a dishonest buck. Whatever the reason, many geeks like me have an instinctive urge to defeat their feeble attempts at control by “hacking”. I’m not talking about the kind of criminal identity theft things in the news, which is a totally different meaning of the word. A “hacker”, in this context, is someone who wants a thing to behave how HE wants it to behave, not how some marketing person, lawyer, politician or bureaucrat thinks it should. Maybe (probably) not even how the original designer thought it should. There is a proud tradition of hackers in engineering and computer sciences, and some of the stories are legendary.

This is a golden era for hackers. The internet lets us share ideas and knowledge about things so we can bend them to our will (typically, one must acquire fairly sophisticated knowledge about a gizmo before it can be modified and improved). This learning and mastery of the system being worked on is actually the whole point and thrill of it, giving the middle finger to the MAN is just icing on the cake. First and foremost it’s a puzzle. With the internet, on the right forums and discussion groups, a bunch of us can work on these puzzles together.

One of my favorite recent hacks has been refilling my own SodaStream CO2 tanks. This is something they REALLY don’t want you to do, and while they may claim it is for safety (for our own good!), that’s actually BS – it’s all about profit. SodaStream charges about $17-20 to exchange an empty 14 oz CO2 tank for a full one. This is highway robbery. By disassembling the tank and removing the “tamper-proof” mechanism inside the valve, and by having an adapter made to accommodate the non-standard SodaStream screw threads, I can now refill my own tanks. I buy 20 lbs of CO2 at a time for $19 from a welding supply shop and refill my own tanks for less than $1. This makes me ecstatically happy every time I do it, in a way that those of you who grew up in a well-adjusted family might not be able to imagine.

Opportunities like this abound. My current project is hacking the engine management computer on my new motorcycle. Modern vehicles of today don’t use mechanical controls like cables anymore. For example, the accelerator pedal in a modern car isn’t connected to the engine throttle at all. It’s just sending an electrical signal to the onboard computer. It is the computer that opens the throttle, and does almost everything else. On newer high-end cars, the steering wheel isn’t even connected to the wheels — it just sends signals to the computer.

In exchange for the complexity of this system, what is gained is tremendous versatility. The computers in vehicles tend to be designed as “black boxes” that are not meant to be modified by vehicle owners. Given the computer aptitude of the average driver, this is probably a good thing, and “for their own good.” But to a hacker, this represents an irresistible challenge and potential playground. While the factory computer is programmed to satisfy all kinds of ridiculous regulatory, environmental, bureaucratic and overly-conservative legal liability requirements, a hacker can sometimes gain control of these systems and make their vehicle behave they way THEY want it to.

Originally, my plan was to simply add cruise control in software by reprogramming the computer “ECU”. All of the sensors and actuators exist for cruise control (the bike is fully “fly by wire”), but for some reason the factory never bothered to implement it. A bright young engineer/hacker and motorcycle enthusiast in Australia reverse engineered the ECU and wrote a control loop to give us cruise control. Once the engine is running, the new software disables the starter button and repurposes it to activate cruise control. But unlike the cruise in a car, this is software I have access to, so I can change its behavior by changing parameters.

Once the ECU is hacked, however, there are a bunch more things that can be done. Fuel and ignition mapping can be modified and improved with great precision to deliver more power and smoother performance (factory maps are necessarily compromises that don’t take the sometimes-significant manufacturing variances from machine to machine into consideration). The internet community has even designed a “quickshifter” based on a strain gauge link that is installed in the gear change linkage. This, combined with new software, allows clutchless, perfectly rev-matched upshifts and downshifts that happen in 20 milliseconds. All of the parameters are accessible (once you have bought a hardware programmer that plugs into the bike and uploaded the hacked software) so they can be fine tuned to exactly match your specific bike and riding style. The programmer, originally designed to be used for tuning racing engines, has built in wifi — so you can connect wirelessly to the machine and make changes or even record performance data to an iPhone or iPad while riding.

As more and more of the world around us becomes computerized, the “easier” things like this become for people who understand the computer as a tool and enjoy learning. One of my engineering mentors (a former Apollo engineer) used to constantly remind me how “easy” things have become with micro controllers and computer simulation. In his day they had to develop whole complicated, custom systems to do things we can now do in an afternoon with a $20 micro controller. Somehow they got to the moon with less computer power than is on board my new motorcycle. The new capabilities are liberating and give tremendous power and opportunity to those willing to do a little learning and a little hacking.