Welcome to the Shocknado WikiaEdit

Senior Project for School

Describe your topicEdit

Shocknado is a smart toolbox that utilizes the latest technology in micro-controllers in combination with anti-theft technology to ensure the security of your tools.

Problem Statement Edit

With all of the innovations of technology nowadays, isn't it about time that your tool box helps with more than just storing tools? When tools are borrowed or even stolen, wouldn't you want a notification that something is missing? What if your toolbox was stolen with hundreds of dollars worth of tools inside? How would you ever find them?

If a business provides company issued tools to all of its employees, how costly would it be if they had to continuously purchase the same tools over and over that just vanish from the job site?

During Surgery, there is one person dedicated to maintaining the tools at the operating table, if one item is not logged back in after a surgery, the Doctor or Hospital could be liable if it turns out one of those tools was left inside the patient.

Problem Solution Edit

ShockNado toolbox was created as a starting point for tool tracking technology to provide security of property for both the individual user as well as large scale corporations.

This revolutionary product provides the following:

  • Digital Inventory of Tools
  • GSM Mobile uplink
  • Remote Lock/Unlock of the toolbox

Toolbox Specifications Edit

Item Specification
Dimensions (L x W x H) Actual Size may vary 36" x 24" x 18"
Weight 20-50 Pounds
Power source Lithium-ion rechargeable battery
Sensors Keypad, GSM, RFID
Operating time 5-30 XXX
Operating method User Selection, Autonomous

Project Schedule Edit


Weekly Status Updates Edit

September 19, 2016 Edit

Arthur: Setup Wiki site for the project. Began populating each section with the specifics.

Jason: Looking into Raspberry Pi

Danny: Research/Development

- Looking into Arduino

- Looked into power supply

September 26, 2016 Edit

Arthur: Completed the Brochure and printed for review. Worked on the Project Management Report. Updated additional sections of the Wiki (problem statement and problem solution)

Jason: Completed block diagram.

Danny: Completed initial coding for the locking mechanism and keypad for the project.

October 3, 2016 Edit

Arthur: Worked with Danny to setup the code for the RFID. Still troubleshooting the RFID to get customize it to work. Completed project manager report and submit for grading. Working on the project proposal.

Jason: Reworking the brochure based on Raef's feedback.

Danny: Coding for RFID in progress.

October 10, 2016

Arthur: Completed multiple sections of the project proposal. Incorporated the feedback from Raef on the managers report. Continued to work with Danny on RFID code. RFID code working properly. Incorporated the teams comments from the project proposal. Submitted what has been completed.

Jason: Assigned to refine the Brochure as well as the block diagram for the project. Provided several sections for the official project proposal.

Danny: Completed the RFID coding with Arthur. Provided several sections for the official project proposal.

October 17, 2016 Edit

Arthur: Assigned the project circuit to Jason for working. Updated the Managers report for week 9 as a progress report. Incorporated several comments from the professor on progress report. Helped Danny research which GSM's to order.


Danny: Researched and ordered two different GSM's for the project. Researching the code for the project.

October 24, 2016 Edit

Arthur: Assigned project circuit to Danny. Waiting for the GSM delivery to start testing. Completed the Gannt for the project.



October 31, 2016 Edit

Arthur: Assigned Brochure update to Jason. Worked on chapter three summary as it pertains to the project.



November 7, 2016 Edit

Arthur: Worked with Danny on the GSM to get it working. Still work to be done on the GSM. We bought a Sim card from T-Mobile. Started the power point presentation. Updated the Managers report. Completed Chapter three summary as it pertains to the project. Updated Gannt diagram.


Danny: Worked with Arthur on the GSM to get it working. Purchases a pre-paid Sim card from T-Mobile. Working through issues on the code. Completed preliminary circuit diagram.

November 14, 2016 Edit




November 21, 2016 Edit




November 28, 2016 Edit




December 5, 2016 Edit




December 12, 2016 Edit




December 19, 2016 Edit




Toolbox Schematic Edit

Source Code Edit

  1. include <SPI.h>
  1. include <Pixy.h>
  1. include <Servo.h>

const int trig1R = 16, echo1R = 17, trig2L= 21, echo2L= 20;

const int down = 120, up = 40;

int armPos = 0, armServoPin = 6;

Servo armServo;

int clawPos = 40, clawServoPin = 5;

Servo claw;

int openClaw = 110, closeB = 40, closeFull = 10;

int x = 0;

volatile byte state = HIGH;

const byte interruptPin = 19;

long duration1R, distcm1, distinch1, duration2L, distcm2, distinch2;

int mDelay = 5000;


/////// setup //////////


void setup()


 Serial.begin(9600); // begin serial communitication  

 pinMode(trig1R, OUTPUT); //Right Ultrasonic

 pinMode(echo1R, INPUT);  //Right Ultrasonic

 pinMode(trig2L, OUTPUT); //Left Ultrasonic

 pinMode(echo2L, INPUT);  //Left Ultrasonic

 pinMode(12, OUTPUT); //Channel A direction

 pinMode(9, OUTPUT); //Channel A brake

 pinMode(13, OUTPUT); //Channel B direction

 pinMode(8, OUTPUT); //Channel B brake




 pinMode(interruptPin, INPUT_PULLUP);

 attachInterrupt(digitalPinToInterrupt(interruptPin), interupt, CHANGE);


void loop()


 int size0; 

 static int i = 0;

 int j;

 uint16_t blocks;

 char buf[32]; 

 int32_t panError, tiltError;



 blocks = pixy.getBlocks();

/* armServo.write(up); // Claw controls.. Will need this later

 delay (1000);


 delay (1000);


 delay (1000);


 delay (1000);


  • /
 if (blocks)


   panError = X_CENTER-pixy.blocks[0].x;

   tiltError = pixy.blocks[0].y-Y_CENTER;



   pixy.setServos(panLoop.m_pos, tiltLoop.m_pos);


   // do this (print) every 50 frames because printing every

   // frame would bog down the Arduino

   if (i%50==0) 


     sprintf(buf, "Detected %d:\n", blocks);


     for (j=0; j<blocks; j++)


       sprintf(buf, "  block %d: ", j);






Videos Edit

Object Avoidance

Photos Edit

TBD </code>

Latest activityEdit

Photos and videos are a great way to add visuals to your wiki. Find videos about your topic by exploring Wikia's Video Library.