This is my first project. I dont do woodwork and I am not a very good with electronics (as said this is my first project)...

Took apart the Doorphone, discarded the base bottom cover. Did some nodifications to the headset and the base part with a multitool

Cut out the top of the craft box to resess the parts of the base of the doorphone that protrudes at the bottom (the handset recesses goes down further than the edge of the case)

Use epoxy to glue the base of the doorphone to the box.

Spray paint the case parts. Grey base first and then with matt black (Should probably have used a gloss, because matt shows fingerprints and dirt like mad) :-)

Internals - starting from bottom left. Itead GBoard, Buzzer, 3-way switch Speaker, electret microphone. (used an old headphone/microphone cables with new parts)

Mounted with standoffs cut from an old phone and epoxied to the base.

Note:-): Placing the standoffs in a blob of epoxy works, dipping the standoffs in epoxy does not...

Used the old phone's handset cable and connected it to the connectors of the old headphone microphone set.

Note: Use a flame to burn the coating off the conductors, both on the phone headset cable and on the headphone.

I used epoxy to keep the headset and power cabes from pulling out of the box.

Used an external antenna (comes with the Itead GBoard).

Used 4 way female jumpers to connect the 3 way switch and the buzzer.

The buzzer is connected to A0 on the board and the 3way switch is connected to A7. The swich is connected as normally closed.

I used an old female connector from the old phone to (where the headset connect to the base to mount the base) to mount the switch. Once again epoxied in place :-P.

Epoxied a weight from an old phone headset as the doorphone handset weighs nearly nothing.

Also used epoxy to stop the headset cable from pulling out.

Arduino code:

#######################################################

#include <SoftwareSerial.h>
#include <GSM_Shield.h>
GSM gsm;
int call;
int error;
char inStr;
void setup()
{
gsm.TurnOn(9600);
gsm.InitParam(PARAM_SET_1);
gsm.Echo(0);
gsm.SetSpeakerVolume(14);
pinMode(A0, OUTPUT);
}
void loop()
{
if(analogRead(A7))
{
if (gsm.CallStatus()==CALL_INCOM_VOICE && gsm.CallStatus()!=CALL_ACTIVE_VOICE){
gsm.PickUp();
gsm.SetSpeakerVolume(14);
}
}else{
if (gsm.CallStatus()==CALL_ACTIVE_VOICE)
{
gsm.HangUp();
}else if (gsm.CallStatus()==CALL_INCOM_VOICE){
ring();
}
}
delay(500);
}



void ring(){
for(int i = 0; i< 200 ; i++){
digitalWrite(A0, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1); // wait for a second
digitalWrite(A0, LOW); // turn the LED off by making the voltage LOW
delay(1); // wait for a second
}
delay(100);
for(int i = 0; i< 200 ; i++){
digitalWrite(A0, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1); // wait for a second
digitalWrite(A0, LOW); // turn the LED off by making the voltage LOW
delay(1); // wait for a second
}
}

###################################################

After everything is assembled and the hinges and the latch has been connected!

I must say for a first project this worked out quie nice!