This wiki article tries first to define hardware hacking more accurately, based on common definitions. Hardware hacking relative to the various types and methods is shown in more detail.
At almost, every topic has an example hack listed, so it is easier to get a imagination.
According to the book Prototyping Interfaces 1), hardware hacking is defined as:
...instead of developing completely new sensors, often existing peripherals can be used.."
Scott Fullam, a famouse hardware hacker and author of the book Hardware Hacking Projects for Geeks 2) defined on the Defcon 12 3) hardware hacking in a broader sense:
"A (sometimes) clever modification or fix made to a piece of equipment that improves its performance or makes the equipment do something for which it was not originally designed."
This definition consider not only input devices, also all kinds of hardware modifications are considered. This includes in particular artistic creations.
This article do not consider hack who are related to security aspects, but there is a well defined definition for this kind of hacks4).
For the sake of completeness, here will be provide some information about this hacks. This kind of hacks have usually a strong relation to input devices. The most famous hacks are the ATM modifications. As show on the picture, a not well designed terminal opens up the possibility for criminals to replace or add new hardware to capture sensible information e.g. pin and bank card number.
According to (sparkfun.com) it is not easy to define hardware hacking in an clear way. If we think about hardware hacking in a more creative way it is possible to find some cathegories who fit to common hacks.
Patching the I/O(input/ output) is the easiest way to hack hardware. It is possible to add new lights, display, buzzer or buttons and wireless modules.
One great example for patching the I/O is to add WLAN network controller to an standard coffee machine. The basic idea is that nobody want`s to stay in front of the machine for brew it. A wireless hack allows it to start the brew process and wait for the success signal from somewhere. 5)
Another good example for patching the device is this project. The hardware hack adds wireless charging a iPhone(4S). This feature became a standard functionality on premium android devices. There are some solutions available a wireless charging, but all this solutions include an additional cover. In this project, a powermat is place inside the iPhone itself. 6)
Replacing components is maybe one of the easiest methods of hardware hacking, If somebody replace a light bulb on his bike with a more powerful or energy efficient version - it could be considered as a hardware hack.
Analyze logic is one of the more complicated and complex methods. In the market many different devices can be found, e.g. USB Logic-Analyzer .
The basic idea is to attache a sensor on all interesting sport on circuit. The analyzer help the hacker to figure out when and how the circuit changes his state. So it depends on the number of inputs from the analyzer how detailed a circuit can be analysed.
After the analysis, it is possible the change the behaviour of the circuit according to the „new“ needs. Mostly, new parts are required and of course, this assuming a detailed knowledge about electronics parts.
Replacing the controller is probably the easiest and powerful way tp hack hardware. There are plenty of different platforms available to build your own controller. On eof the most famos one it the http://www.arduino.cc/ controller.
It is possible by google to finde a uncountable amount of example project for „replace the controller“. To mention only one example. Here is a project about hacking a standard rc car to control it with a smartphone. Restore your old RC car with Android control
To summarise this project, they replaced the original controller with an IOIO and add some components like bluetooth, laser and couple of sensors.
The last method of hardware hacking can be considered a creative way to build new thing. The main idea behind this thing is to build new stuff from trash. The technical university dresden make since 2009 hardware hacking workshops with arduino. They are created a couple of interesting devices und present them on the constitute.
All this examples, which are detailed explained on the website, have no real application. Or in other words they are totally useless.
It is a process of modification in the available original toy and creation of some thing new and interesting.
7) In the following example, there is a sheep who will bleat whenever tweet message will be sent.
sheep is hacked by using Arduino circuit board, Ethernet Shield, breadboard, long wires, jumper wires, 10k Ohm resistor, TN4007 Diode, 5V relay, BC549C transistor, hackable device (battery-powered toy in this case).
It is the place where future meets with the past. A breeding process of wickedly cool gadgets and art.
In the given figure, there are mouse and hard-disks (technology) mixed with brass art, wooden.
Craft Hacking means to create or re purpose something using skills and ideas taken from traditional crafts, but reworking them to suit the individual’s purpose.
This chapter is based on chapter 4.4 from Prototyping Interfaces9).
This image is representing the concept of one-dimensional slider, which is mainly showing following mentioned features:
As a one dimensional slider mouse wheel has been used in the example. To use optical sensor mouse is more preferable. Mouse must have three buttons, one for mouse wheel, second as optical sensor and third one for position capturing. Keyboard's left right keys as well mouse plays an important role. As told earlier, we can capture the position value of selected area. For this purpose, user can change the minimum and maximum value of the mouse and can set left and right keyboard's values. So when user scrolls mouse on render screen, he can get desired position of selected hot spots.
This is one of the sub-patch of one dimensional slider. When we click on its root file, one window opens. Left side becomes its patch and right side DirectX renderer screen. On the renderer screen, there are images of Frankfurt's skyline. Some hotspots are selected on the screen which are mentioned by symbol. We can access the information about these selected spots by scrolling the mouse( example: name of the building). For doing so, First click should be on Renderer screen and we will scroll the mouse. As we press the left arrow key of keyboard, source minimum value will set. Again mouse scrolling will be started and by pressing the right key, source maximum value can be set. In short, now we have border of renderer screen; left border and right border.
Now we can scroll with the mouse between this borders to get the desired information.
An example:
This chapter is based on chapter 4.5 from Prototyping Interfaces10).
The two dimensional slider use a mouse to capture the x and y coordination to slide in a 2D area. A mouse is a cheap and precise input device. They are available as wire and wireless versions. A standard mouse has a wide driver support on all common platforms.
In the example from the book, the patch enables the user to slide over a human skeleton. The patch itself is a available here. The patch shows a human skeleton an it is possible to slide over it.
The basic idea is the same as in the one dimensional slider. A wireless mouse is connected to a pc and the vvv patch the information from the mouse sensor, but now there are two dimension required.
The right image shows the root patch, the second image the position sub patch. As can be seen the patch it self is not complex. The sub patch calculate the position relative the the mouse movements. The center point can be define trough pressing „R“.Therefore, it is this slider even easier to calligraphic than the previous one.
An great exhibits for an two dimensional slider is the f800 tomograph.
Items required
In this example, there is an old laptop. we will try to separate carefully its top from the base with the help of screwdrivers. Put it on the top of projector overhead and our new projector is ready.
Basic Components
Twitter : A system software
It will raise a simple question to user, Hey wats up??
Arduino : A software
Arduino is a free and open-source electronics prototyping system created and maintained by physical computing hobbyists.
Botanicalls : A system to place phone calls For human help
When the plant in Botanicalls will need the water, it will ask to user according to its requirement.
Items Required
Moisture Probe
Two conductive nails will be used. They should be corrosion resistant because they will be inserted inside the soil.
Software
Installation of Arduino and user should have a username and password in his twitter account. Download the Botanicalls Twitter Code Example and Arduino environment for our computer system from the Arduino site.
System Installation
There is a plant connected with Arduino USB cable, Botanicalls twitter system and soldered nails which are inserted inside the plant's soil and located between pot rib and the plant.
According to the plant's moisture condition, we will get 5 different types of status update messages.