This video explains how it works:
Step 1: Parts and tools you need
A microcontroller (I use a Picaxe 18x)
A few resistors might come in handy
Solder, cutters, tape etc.
Oh, and another working cellphone.
Step 2: Making it
My setup uses four outputs (four different keys on the phone) and one input on the microcontroller. It allows me to send a SMS text message (or call) to my hacked phone and it then cycles through the code, clicking its way through the menus, taking photos and returning them to me.
I was optimistic about the joystick and quickly soldered up the wires. The joystick has up, down, left, right and center as possible connections. I had to crack open another joystick to figure out the connections. "Making a "right" or "left" requires many different pins to be connected in a certain manner and order, e.g;
First; yellow + black + blue + brown
then; purple + orange
I experimented and found that I could rationalize by always keeping some wires connected. This worked but made the joystick on the phone immobilized. For "Right" I ended up using two relays:
on relay 2
on relay 1
off relay 1
off relay 2
Relay no.1 is the top left button on the key pad ("Select" and "capture"). Relay no.3 is the top right button on the key pad ( "more" and "send").
Step 3: The code
Let it be said; I'm a terrible coder and there are thousands of ways to do this better. The code is ugly but but it works and can be snatched below.
The red standby-Led helps in confirming that the program is running:
When a text or call is received a LED connected to the speaker output shines onto the LDR (light dependent resistor). The value is then read:
if b0 < 90 then standby
if b0 > 90 then run
The start of the "run" command:
Step 4: Relays
The relays are actually great for this project because they give you a visual and audible confirmation at each step as the code is running. Another great advantage is the fact that you can interact directly by just tapping them. And besides, they look amazing don't they?
Step 5: The result
Please don't forget to rate me and be sure to visit my other Instructables!