Bolero
The interactive wearable that keeps women safe

Designing a solution for one of the biggest problems in society
Being in the 21st century, with technology and the world so advanced, we are still concerned about this subject, "Are women safe, especially in India?" 48 percent of India's total population constitutes of women, most of whom feel unsafe while traveling alone even in their neighborhood, be it in broad daylight or night time. To solve this problem, and as an attempt to reduce the fear of women, our team has come up with a wearable, a jacket, that helps in protecting women and lets them walk around freely at any time. Presenting to you, Bolero.

Bolero: The Jacket
The video can be accessed at the following URL:
https://drive.google.com/file/d/1xMMZI7f-fJ5Em0ZcHudR2hlEOSaQRrBs/view?usp=sharing

![]() | ![]() | ![]() | ![]() | ![]() |
---|---|---|---|---|
![]() |

The Working
An In Depth Explanation
The jacket has an option of security mode, which when switched on, protects the wearer from harm, by providing an electric shock to any outsider who touches the jacket. It is light and handy, so women can carry it with them whenever and wherever they want. Alongside, it contains a GSM module, which has been installed so that the wearer, on pressing a touch button, can send an SOS to certain selected contacts, in case of an emergency, even when she does not have access to her phone. All the modules and sensors used in the project have been connected to an Arduino and a 12 V battery source. All of the above-mentioned items have been kept in a pocket inside the jacket. Copper wires have been stitched on the outside of the jacket, which run insulated internally and are connected to the circuit which generates an electric shock.

Source Code
#include <GSM.h>
// PIN Number
#define PINNUMBER ""
int button=12;
// initialize the library instance
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSMVoiceCall vcs;
GSM_SMS sms;
String remoteNumber = "9381419921";
char charbuffer[20];
void setup()
{
pinMode(button,INPUT);
// initialize serial communications
Serial.begin(9600);
Serial.println("Make Voice Call");
// connection state
boolean notConnected = true;
// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in quotes
while(notConnected)
{
Serial.println("Not connected");
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Not connected");
delay(1000);
}
}
Serial.println("GSM initialized.");
Serial.println("Enter phone number to call.");
}
void loop()
{
// make sure the phone number is not too long:
int state=digitalRead(button);
Serial.println(state);
if (state==1)
{
Serial.println("1");
// show the number you're calling:
char txtMsg[200]="Help Me..";
char remoteNum1[]="9381419921";
sms.beginSMS(remoteNum1);
Serial.println("2");
sms.print(txtMsg);
sms.endSMS();
Serial.println("3");
Serial.print("Calling to : ");
Serial.println(remoteNumber);
// Call the remote number
remoteNumber.toCharArray(charbuffer, 20);
// Check if the receiving end has picked up the call
Serial.println("4");
if(vcs.voiceCall(charbuffer))
{
Serial.println("Call Established. Enter line to end");
// Wait for some input from the line
while(Serial.read()!='\n');
delay(10000);
vcs.hangCall();
}
Serial.println("Call Finished");
Serial.println("Enter phone number to call.");
}
}
Capturing The Process
![]() | ![]() | ![]() | ![]() | ![]() |
---|---|---|---|---|
![]() |