Introduction: Hack Any Phone!

About: We love to tinker. There is nothing that we can't do if it involves Arduino. Challenge us: Do you have an idea for something you would like to have but don't know how to make it? Submit us your idea & if you'r…

Inspired by R10n & his "Mission: Impossible - Pendeli" Geocache, (, we decided to create our own version:

Any good old analog phone will do, the bigger the better. Using an Arduino & a wave shield, you can make the phone behave any way you want & even fool someone into thinking they have reached an actual number and they are listening to a voice-mail.

This project can be done in a few hours and for very few dollars.

Step 1: Gather the Materials

We enjoy going to yard sales & estate sales and have found numerous telephones for $2 - $4. Even found one for $1.
We used 1 Arduino Uno & 1 Wave Shield for the first phone. With a 9 Volt battery, you have power for a very very long time.

The phone original keyboard was defective (didn't want to spend too much time to find replacement keys/fixing it) so we had to substitute it with a Membrane keypad in this case.

Step 2: The Hack...

Opening this type of phone could not be easier: 2 Philips screws underneath is all that keeps the top in place.

This exploit is made possible by simply cutting from the phone PCB the white & green wires that go to the handset speaker and connecting them to the speaker output of the Wave Shield.

Then, you cut one wire (I used Black) of the 9 Volt battery connector (somewhere in the middle) and solder each end to each side of the handset release connection (how the phone knows if he is off-hook or hangup). This will prevent any power to be used when the phone is NOT in use.

Like I said, in this case, it was easier & quicker for this application to simply add a membrane keyboard than fixing the original AT&T keypad.

Step 3: The Code:

After figuring out exactly what we wanted each button to say, recording a few MP3 files was quick, easy (& fun!).

Code is rather simple so this is also a quick task once the proper libraries are downloaded.

Keypad Control a WTV020-SD-16P module to play voices from an Arduino board.
Created by Diego J. Arevalo, August 6th, 2012.
Released into the public domain.
Modified by S&T Geotronics 8/21/2013

#include <Wtv020sd16p.h>
#include <Keypad.h>

int resetPin = 3; //2;  // The pin number of the reset pin.
int clockPin = 9; //3;  // The pin number of the clock pin.
int dataPin = 8; //4;  // The pin number of the data pin.
int busyPin = 5;  // The pin number of the busy pin.

Create an instance of the Wtv020sd16p class.
1st parameter: Reset pin number.
2nd parameter: Clock pin number.
3rd parameter: Data pin number.
4th parameter: Busy pin number.
Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);

const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
byte rowPins[ROWS] = {12, 11, 10, 7}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6, 4, 2}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup() {
  //Initializes the module.

void loop(){
  char key = keypad.getKey();

  if (key != NO_KEY){
    int keynum = key-48;
    switch (keynum) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 0:
  //  default:
    // optional

Step 4: The Future...

There are numerous possibilities & variations possible for this project going forward:

Each phone being different, it will come with its own challenges & user experience. Above are a couple cheap phones found at Estate sales (for future hacks)...

Tons of various sound files can make for infinite possibilities.

Smaller & cheaper Arduino & Sound shields can make for more compact usage. Above are comparisons between a Full Arduino Uno with Wave Shield and an Arduino Nano, an Arduino Pro-Mini (both are full featured replacements for the Uno) & a mini Wave Shield.

Thank You for reading & Please Vote for us!

Hardware Hacking

Participated in the
Hardware Hacking