Hardware Hacking Part 1
Hardware Hacking Part 1
Some of you have requested a hardware hacking tutorial, so here is Part 1 in a series of tutorials.
To readers:: This was written half tipsy, so excuse the excessive comma usage or any grammatical errors.
This first part will show you the most basic of hacking in the solid state world. I will show you how to make something that is remote controlled, and turn it into something that is computer controlled.
First you will need a couple of things:
- Microcontroller
- Something remote controlled
- Open USB port or serial port
- Basic knowledge of the solid state
1)::Microcontroller I will be using a Arduino Demilanove and can be found here. But any microcontroller can work (as long as you know how to program it). I choose the Arduino Platform because of the programming language. It is programmed in a watered down form of C/++. Other may accept C/++, ASM, and PBASIC.
2)::Remote I will be using the remote to my tower fan. Anything remote controlled could work. Examples include TV remote, Fan remote, DVD remote, RC Car remote, even you car remote entry would work.
3)::USB/COM Serial Port Some microcontrollers work on a serial port, while other emulate serial through USB via COM ports. When you plug in your arduino, it is important to note which COM port it is on. Found in the Device Manager in windows. In linux I believe it is found in the dev directory.
4)::Solid State You should have a basic understanding of the solid state world. We will be using resistors and transistors and relays in this tutorial. Resistors Transistors (NPN/PNP as switch) Relay
Now to get into the meat of things. You will need to take apart your remote. Once apart, find the button you want to "trigger" or "push w/ computer". I would suggest the power button, since I will show you only how to use one button.
Once you have found the button on the circuit board, find the leads to the button. There should be only two to "close" the circuit and toggle a "push" for the button. When the two leads touch each other, it will trigger the "push" or "click" of the button.
Now that you have found the leads to the button, it is now time to add the components. Referring to the image GND would be one side of the leads and Patched Pin would go to the other lead from the button.
The transistor acts as a switch for the relay. When the transistor receives a + signal from the arduino, it turns on the relay thus "pushing" the button.
The resistor is needed to limit the current from the arduino, also it acts as a current flow control. I say that because the current is pulled toward the transistors base, thus turning it "on".
Now that you have your wire's patch in to the circuit of the remote, it is time to program your arduino to push the button. The arduino platform is programmed in C/++. This form of C/++ is based off of Processing. Only two functions need to be defined in order for your ardunio to work. These programs are also referred to as Sketches. The two functions are setup() and loop(), these are the only two functions we will be using.
The Code ([tab] = the tab key creating an indention):
//Push_That_Button.pde
setup(){
//set the baudrate I.E. data rate
[tab]Serial.begin(9600);
//we will set pin 13 to output mode
[tab]pinMode(13, OUTPUT);
}
loop(){
//set pin 13 to low or logic 0
[tab]digitalWrite(13, LOW);
//wait 5 seconds
[tab]delay(5000); //5000 milliseconds
//set pin 13 to high or logic 1
//this will turn on the transistor; thus turning on the relay
[tab]digitalWrite(13, HIGH);
}
You could have just as easily used a command given to an IRC bot, triggered via PIR sensor, Phone App, Webpage App, ect… The options are limitless.
You can refer to my blog for more example of sketches. Also the Arduino site offers tutorial and examples.
I hope you enjoyed this tutorial. I will answer any questions to the best of my ability, and any and all feedback is always welcome. Thanks for reading.
########################## Preview of next tutorial::: A mind controlled what??? We will be interfacing an arduino with a Force Trainer. … The patched leads from the LEDs will be used to turn up or down the volume of the TV … inspired by this hack…