Shhhh !! Do Not Disturb.

Made by Vignesh, Janice Chen and Dong Qin

Found in DIoT 2018 2: Ambient Affect

This ambient device notifies the person who is being loud in the room to keep quiet and not disturb others by creating a recurring motion along with a light indicator.



If you have ever worked in an open office or common study room, there is a very good chance you've dealt with a noisy neighbor. Loud and talkative coworkers can be one of the most annoying distractions on earth and, unfortunately, they're pretty common in today's workplace. Dealing with situations like this could be very awkward. Most people want to avoid conflict, as it's natural to want to be liked by all your colleagues and to not be seen as high maintenance or a whiner, so the tendency is to grit your teeth and put up with it. Thus our ambient device deals with this situation by producing a recurring movement which notifies the person being loud to keep their voices down. 



This ambient device could be used in any set-up where there is a possibility of someone being very loud. We have considered our studio space which is generally used for studying or working on assignments. Sometimes there are instances when one person is engrossed in a loud phone conversation or listening to blaring music. This device is mainly focused on serving the purpose of making the person shut up in a subtle manner.


Materials List

1x Breadboard

1x Particle Photon

1x LED

1x Servo Motor

1x Microphone

1x 10k Ohm Resistor

Few Connecting Wires 



In the beginning, we got an idea that would make the classes and common work-spaces quieter. To realize it, we needed to detect the sounds in class. After a few experiments, we selected the MIC AMP Adjustable sensor and made it to work with a simple LED. Then we thought about how to use an ambient way to send the information that would remind people to be quiet. We thought motor is a good way. As shown in the video, we used a motor that makes a stern figurine shudder its finger to remind people to be quiet in a harmonious way. There is also a LED in the forehead to showcase the anger. We added a speaker output at the beginning but removed it as it would create an excessive amount of disturbance.



By this device, we can remind the people in classroom or studio space to be quiet when their volume is too loud, as it distracts everyone else as well. This product can collect the sound from class and make a judgement. If the volume is excessive, the program will send a command to the photon. The motor and LED will respond then. At the same time, the program will also send a message to the particle cloud console and the smartphone. The smartphone will receive a ‘shut up!’ message.

Whatsapp image 2018 02 08 at 1.51.52 pm
Shhhhh !! Model
Whatsapp image 2018 02 07 at 7.57.55 pm %281%29
Final Code
// the pin we're reading from
int mic_pin = A0;

// store the noise level / reading from the electret
int noise_level = 0;

const int sampleWindow = 50;

int servoPin = A5;

int ledPin = D0;
int lastLedValue = 0;
int speakerPin = D1;

// setup() runs once, when the device is first turned on.
void setup() {
  // Put initialization like pinMode and begin functions here.
  // We want to tell the Photon that we'll use
  // D0 as an output pin.
  Serial.println( 9600 );

  pinMode(ledPin, OUTPUT);
  pinMode(servoPin, OUTPUT);

// loop() runs over and over again, as quickly as it can execute.
void loop() {

  noise_level = sampleNoise( );
  Serial.println( noise_level );

  if( noise_level > 800 ){
    int brightness = map( noise_level, 0, 1000, 0 , 255 );
    Serial.println( noise_level );
    Serial.println( brightness );
    Serial.println( "\n" );
    // SpeakerT();
    lastLedValue = brightness;
    // analogWrite(A5, 170);
    // delay(300);
    if(lastLedValue > 0){
      lastLedValue = lastLedValue - 100;
    if(lastLedValue <= 0){
      lastLedValue = 0;
  analogWrite(ledPin, lastLedValue);   // Turn ON the LED pins
  delay(250);               // Wait for 1000mS = 1 second

void backnforth() //function to move the servo back and forth
  int i;
  for (int i= 0; i <3; i++){
    analogWrite(A5, 120);
    analogWrite(A5, 90);

int sampleNoise( )
  unsigned long startMillis = millis(); // Start of sample window
  int highest_sample = 0;
  int lowest_sample = 1000;
  // collect data for 50 mS
  while (millis() - startMillis < sampleWindow)
    int sample = analogRead( mic_pin );
  	// invert the range, and convert it to a percent
  	sample = map( sample, 0, 4095, 1000, 0 );
  	// now see if the sample is the lowest;

  	if ( sample > highest_sample ){
  	highest_sample = sample ;
  	if ( sample < lowest_sample ){
  	lowest_sample = sample;

  Serial.print( "Highest = " );
  Serial.println( highest_sample );
  Serial.print( "Lowest = " );
  Serial.println( lowest_sample );

  int peakToPeak = highest_sample - lowest_sample;
  return peakToPeak;
Click to Expand
Circuit Diagram
Our Functioning Model
The Setup


We would like to incorporate this device in our studio space and classroom and record the response we get. Making the devise utter "Please be silent", would be our next action plan and that could be done using an audio output devise. We provided an evidence of the seamless integration of awareness systems into our daily life, the expectations that develop through the integration, anxiety stemming from the failure to meet those expectations and the amount of importance that is given to the devices as they provide a sense of loyalty and attachment with the users.

Share this Project


49713 Designing for the Internet of Things

· 25 members

A hands-on introductory course exploring the Internet of Things and connected product experiences.


This ambient device notifies the person who is being loud in the room to keep quiet and not disturb others by creating a recurring motion along with a light indicator.


February 7th, 2018