Desk Panic Button

156,502

918

63

Introduction: Desk Panic Button

About: My name is Randy and I am a Community Manager in these here parts. In a previous life I had founded and run the Instructables Design Studio (RIP) @ Autodesk's Pier 9 Technology Center. I'm also the author ...

When I was a kid my father had a panic button under his desk that was wired to call 911. While I thought this was pretty cool at the time, it later occurred to me that he had this because the neighborhood that his business was located in was a bit rough, and -- perhaps -- we were in perpetual danger. Nonetheless, I always thought the idea of having a panic button was pretty darn neat. Perhaps this notion stuck with me for so long of a time because I was never allowed to press it as a kid. It was 'off limits,' and thus a very appealing idea.

Now that I am an adult and have a desk of my own, I resolved that I too needed a panic button. However, I feel like one that calls 911 has limited use in my line of work, and my opportunity for panic was probably less severe. So, I decided that I needed to tone it down a bit. The under desk panic button that I have created dials my own phone when it's pressed.

Of course, you may be wondering why on Earth I would want to call my own phone. Think of this way -- an annoying coworker walks over to your desk with the intention of locking you into a long dull impromptu meeting. You have nowhere to run; nowhere to hide. There is only one way to get out of this -- you need something more important to do. Perhaps now you can see how a device that places a call to yourself may come in extremely useful. If you still can't see it, picture this; Your phone rings. You explain that you need to take this important call. In fact, this is going to take a while. You will need to continue this conversation later. Crisis averted thanks to the Desk Panic Button.

Step 1: Go Get Stuff

You will need:

(x1) Arduino Uno
(x1) GPRS shield
(x1) SIM card
(x1) CR1220 coin battery
(x1) Momentary button switch
(x2) 1/8" mono jacks
(x1) 1/8" male to male mono cable
(x1) Power jack
(x1) Power plug
(x1) 1" x 2" x 3" project enclosure
(x1) 2" x 2.5" x 5" project enclosure
(x1) 9V power supply
(x1) 12" x 12" x 1/8" acrylic sheet
(x2) 1" x 6-32 wood screw
(x1) 1" x 4-40 nut and bolt

(Please note that some of the links on this page contain Amazon affiliate links. This does not change the price of any of the items for sale. However, I earn a small commission if you click on any of those links and buy anything. I reinvest this money into materials and tools for future projects. If you would like an alternate suggestion for a supplier of any of the parts, please let me know.)

Step 2: Prep the Shield

Plug the CR1220 battery into the socket on the GPRS shield, and insert the SIM card.

Step 3: Insert

Insert the GPRS shield into the Arduino.

Step 4: Drill

Drill a 1/4" hole centered and the 1" x 2" side of the smaller project box.

Drilll a 1/2" hole centered on the other 1" x 2" side.

Step 5: Pushbutton

Insert the pushbutton into the 1/2" hole and fasten it in place with its mounting nut.

Step 6: Jack

Insert the 1/8" jack and fasten it into place with its mounting nut.

Step 7: Drill

Put the Arduino and GPRS shield into the large 2" x 2.5" x 5" project enclosure. Make a mark on the outside of the project enclosure approximately where the antenna jack is on the opposite wall. Drill through this mark with a 1/2" drill bit.

On the opposite side of the project box, drill a 1/4" hole on the center face for the 1/8" jack.

Drill another 1/4" hole right around the corner on the 5" x 2" face of the enclosure for the power jack.

Step 8: Attach

Insert a 1/8" jack into the 1/4" hole that has been drilled center in the 2" x 2.5" face of the larger project enclosure. Fasten it firmly in place with its mounting nut.

Insert the M-type power jack into the other 1/4" hole and fasten it in place with a mounting nut.

Step 9: Solder

Solder a red wire from one of the solder lugs on the pushbutton switch to the signal terminal on the 1/8" jack.

Solder a black wire from the other solder lug of the pushbutton switch to the ground terminal on the 1/8" jack.

Step 10: Connect Wires

Solder a 6" black wire to the ground terminal on the M-type power socket, and a 6" red wire to the signal terminal.

Solder a 6" black wire to the ground terminal on the 1/8" jack.

Solder a 10K resistor and a 6" red wire to the signal terminal on the 1/8" jack.

Finally, solder a 6" green wire to the other side of the 10K resistor.

Step 11: Power Plug

Take apart the M-type plug and slide the casing onto the red and black wire.

Solder the red wire to the plug's tip terminal, and the black wire to the plug's barrel terminal.

Screw the casing back onto the plug.

Step 12: Program

Program the Arduino with the following code:

<pre> /*
 Desk Panic Button
 by Randy Sarafan
 
 For more information please visit:
 https://www.instructables.com/id/Desk-Panic-Button/
 
 Code in the Public Domain
 */

 
//includes necessary libraries
#include <SoftwareSerial.h>
#include <String.h>
 
//establish virtual serial port for shield 
SoftwareSerial mySerial(7,8);
 
// the number of the pushbutton pin
const int buttonPin = 2;     

// the state of the button:
int buttonState = 0;

//setup serial and pin states
void setup()
{
  mySerial.begin(19200);               // the GPRS baud rate   
  Serial.begin(19200);    // the GPRS baud rate 
  pinMode(buttonPin, INPUT);     
  
  //engage the shield
  powerUpOrDown();
  
  delay(500);
}
 
void loop()
{

  //checks to see if there is cause for panic
  panic();
  
  //looks to see if the GPRS shield is communicating
  if (mySerial.available())
    Serial.write(mySerial.read());
}
 
 
///DialVoiceCall
///this function is to dial a voice call
void panic(){
  
  //get the current state of the panic button
  buttonState = digitalRead(buttonPin);
 
  //checks to see if the panic button is pressed 
  if (buttonState == HIGH){     
    
    //calls phone number
    //replace with your own phone number
    //if in the US, keep the 1 in the front
    //otherwise replace the 1 with your country code
    
    Serial.println("HELLO");
    
    mySerial.print("ATD14155551212;\r");
    delay(1000);  
  } 
}
 
void ShowSerialData()
{
  while(mySerial.available()!=0)
    Serial.write(mySerial.read());
}

void powerUpOrDown()
{
  pinMode(9, OUTPUT); 
  digitalWrite(9,LOW);
  delay(1000);
  digitalWrite(9,HIGH);
  delay(2000);
  digitalWrite(9,LOW);
  delay(3000);
}

Step 13: Wire It Up

Insert the M-type plug into the power input on the Arduino.

Connect the green wire wire to the 5V socket on the GPRS shield.

Connect the black wire to the ground socket on the GPRS shield.

Connect the red wire to pin 2on the GPRS shield.

Step 14: Attach the Antenna

Thread the antenna onto the GPRS shield through the hole in the project box.

Step 15: Case Closed

Close the case on the project box with screws.

Step 16: Cut

Cut a piece of 1/8" acrylic using the attached template.

The solid black area around the center hole should be etched down 1/16".

Step 17: Drill

Drill a 1/8" hole in the center of the 3" x 2" side of the smaller project box.

Step 18: Attach

Place the mounting bracket just shy of the edge of the desk and use the two outer holes to make marks for drilling.

Drill these marks using a 3/32" drill bit.

Place the 4-40 nut into the etched portion of the center hole and then firmly mount the acrylic bracket to the desk with 6-32 wood screws.

Step 19: Mount

Place the open edge of the smaller project box around the 1/8" acrylic bracket.

Fasten it in place with 1" bolt.

Step 20: Power

Plug the 9V power adapter into the power jack installed in the larger project enclosure. Place this unit somewhere inconspicuous.

The whole system should now be active.

Step 21: Use

Wait until an unwanted conversation presents itself, and then DON'T PANIC!

Discretely press the button, and politely excuse yourself when the phone rings.

Did you find this useful, fun, or entertaining?
Follow @madeineuphoria to see my latest projects.

Remote Control Contest

Participated in the
Remote Control Contest

Weekend Projects Contest

Participated in the
Weekend Projects Contest

Arduino Contest

Participated in the
Arduino Contest

Be the First to Share

    Recommendations

    • Puzzles Speed Challenge

      Puzzles Speed Challenge
    • "Can't Touch This" Family Contest

      "Can't Touch This" Family Contest
    • CNC Contest 2020

      CNC Contest 2020

    63 Discussions

    0
    Blue_Prairie
    Blue_Prairie

    4 years ago

    Great tutorial but how frusterating that I'm half way through the list and it seems NONE of the parts list links works and worse yet - the part numbers don't work! Could you possibly re-verify and fix the parts list if you still have working links or part numbers we can even manually put into the Radioshack search bar and get the result? Thanks!

    0
    Yonatan24
    Yonatan24

    Reply 3 years ago

    I'm not sure Radioshack exists now. I'm pretty sure they closed...

    0
    Doktor Jones
    Doktor Jones

    4 years ago

    Here's an updated parts list, using Amazon links:

    Arduino Uno http://www.amazon.com/dp/B01A0MONA0/

    GPRS Shield http://www.amazon.com/dp/B00A8DDYB6/

    Prepaid SIM card
    * (AT&T) http://www.amazon.com/dp/B004VHI708/
    * (T-Mobile) http://www.amazon.com/dp/B00LPPHHFK/

    CR1220 battery http://www.amazon.com/dp/B000S94JFU/

    Push button switch http://www.amazon.com/dp/B0002ZPB34/

    5pk 1/8" mono jacks http://www.amazon.com/dp/B00HG7HMOC/

    1/8" mono male-male cable http://www.amazon.com/dp/B017V59XJU/

    7.5v power supply http://www.amazon.com/dp/B00CP7RMGG/
    * puts less load on the voltage regulator!

    5.5x2.1 power socket http://www.amazon.com/dp/B00JR591DG/

    5.5x2.1 power plug http://www.amazon.com/dp/B00DX72UXW/

    Small project box http://www.amazon.com/dp/B003A67F90/
    * or if you want a smaller one with mounting ears: http://www.amazon.com/dp/B00DCC7QMS/

    Large project box http://www.amazon.com/dp/B0195UZ2CG/
    * or if you want a larger one for more wiggle room: http://www.amazon.com/dp/B00DEQ7SO8/

    0
    Doktor Jones
    Doktor Jones

    Reply 4 years ago

    FULL DISCLAIMER

    I haven't built this using the Amazon parts listed above, but I checked various specs (e.g. power jack size) and it should all play nice together :)

    0
    Blue_Prairie
    Blue_Prairie

    Reply 4 years ago

    Awesome, thanks Doktor!!

    0
    Blue_Prairie
    Blue_Prairie

    4 years ago

    Sorry didn't realize this must be years old instructable before I made my last comment. This is unbuildable with the parts list provided so don't waste your time. Radio Shack doesn't even carry half the listed items (just search for each one) at all and the one or two parts they do are not the same part number (I think the Uno may be the only part on the list that I actually even found by searching RadioShack site).

    Nice Instructable, but definitely need the parts list updated!

    0
    Doktor Jones
    Doktor Jones

    Reply 4 years ago

    Please see the parts list I posted above :)

    0
    Doktor Jones
    Doktor Jones

    Reply 4 years ago

    Please see the parts list I posted above :)

    0
    tmv22
    tmv22

    4 years ago

    somebody please build this using just the amazon Dash button, please!

    0
    eddevine
    eddevine

    6 years ago

    What SIM card are you using? The ones I've seen require an expensive plan with a provider

    0
    parisusa
    parisusa

    6 years ago

    I'd like a panic button attached to a trap door in my floor which opens - dropping unsuspecting bores into a pit of snakes - :)

    0
    elabz
    elabz

    7 years ago on Introduction

    It's an interesting idea but, boy, that's a lot of extra equipment to do what your phone system is already capable of doing.

    Is that an Avaya 5410 (5610) phone I see on your desk? Depending on what it's hooked up to, the system may be easily programmed to ringdown to your own extension when you go off hook on an analog phone.

    You pretty much only need a pair of wires going back to the phone system (likely already have it), an analog port on it and insides of an old analog phone (like a "Princess" phone, a $2 flea market item). Well, that and buddying up to your phone system admin, of course. S/he'll need to setup a ringdown feature (?D) for that analog extension. So, you press the button closing the hook contacts of the analog phone and the system calls you up on your digital/IP extension automatically. The actual electronics content of a "Princess" phone is about the size of a credit card, can easily conceal it under the desk. 

    0
    DanNixon
    DanNixon

    Reply 6 years ago on Introduction

    If they have it setup with the IP Office software or TAPI driver then you could do it with a simple batch script.

    0
    elabz
    elabz

    Reply 6 years ago on Introduction

    Hey Dan, sure, that will work, too. They'll have to setup a physical button as a trigger - I thought the physical button was a requirement. Come to think of it - that's pretty easy, too. I have a green AMD button they used to supply with their processors a few years back, I'm sure thousands of people have it collecting dust in a drawer somewhere. It emulates a keyboard with only one key. I forgot which key but it's easy to lookup online. I'm not much of a Windows guy but there should be something of a hotkey software on Win that looks for that button press and runs the batch script you're talking about. Totally doable.

    0
    randofo
    randofo

    Reply 7 years ago on Introduction

    Interesting to know. I doubt our phone systems are currently set up for that and I think the IT folks are not going to be keen on me messing with it, but, you never know... will look into it.