Introduction: ASS Device (Anti-Social Social Device)

Say you’re the kinda person who likes being around people but doesn’t like them coming too close. You also are a people pleaser and have a hard time saying no to people. So you don’t know how to tell them to back off. Well, enter – the ASS Device! You can come close but not too close.

Our machine is essentially a piece of equipment that could either be inviting to people in your surroundings or keep them away depending on the time of the day. In particular, the equipment will display messages based on how close someone is to you and lights up either to invite or avert them from the wearer of the device. In the dark, if they come too close to you, alarms will go off, warning them to back off.

Step 1: Video of Device in Action

Step 2: Parts, Materials and Tools


The main components of the necklace are the physical body itself and the electronic components that make this whole mechanism possible. The aim of the project is to create a wearable device with simple sensors that act as inputs:

  • Photoresistor
  • Ultrasonic sensor

And three output devices:

  • Sound Buzzer
  • LCD screen
  • RGB light strip


  • 1 x Arduino Nano
  • 1 x USB Micro to USB data transfer cable
  • 1 x RGB LED strip (505 SMD)
  • 1 x Ultrasonic sensor
  • 1 x LCD screen
  • 1 x Photoresistor
  • 1 x Potentiometer
  • 1 x Breadboard (85mm x 55mm)
  • 1 x Circuit Stripboard (2cm x 8 cm)
  • 26 x Jumper wires
  • 1 x Resistor (220 ohms)
  • 1 x Passive buzzer
  • 1 x 12V Power Bank with both 12V and 5V output


  • Superglue
  • Electric Tape
  • Access to a 3D printer
  • Soldering equipment

Step 3: Wiring and Circuit

  1. Attach Potentiometer and LCD to the breadboard and the Arduino UNO (Note: Arduino UNO is replaced with an Arduino Nano when soldering parts together to fit inside the necklace.)
  2. Attach ultrasonic sensor
  3. Attach the LED (RGB) with the three 220 ohm resistors. (Note: when you replace this with the RGB LED strip, resistors are no longer required because the LED strip comes with its own resistors)
  4. Next, add the passive buzzer for the sound and optionally add a resistor to adjust the volume
  5. Attach the photoresistor

Step 4: Fabrication

There are 6 components to wire up to the circuit stripboard.

  1. To assemble the electronics, we will first link the Arduino nano to the circuit stripboard and then ground it.
  2. Next, we connect the RGB LED strip. Connect the RGB pins to the Arduino nano. Next, connect the 12V+ pin to the power bank, and connect the ground from the circuit stripboard to the ground of the power bank. We use an RGB LED strip to get multiple coloured lights rather than having to pin up different LEDs. This acts as our basic output
  3. Then, we hook up the ultrasonic sensor. This works by sending out an ultrasound wave and listening for the echo bounced back by an object. This acts as our input

The above two components cover the basic feedback loop. Now to get a little fancy and give the device a little bit of personality we added the following components.

  1. The LCD screen is attached to a potentiometer to control the contrast of the screen and then wired to the Arduino and breadboard. See image for how the wires are connected. Adds another output to our system
  2. A buzzer alarm is added for the scenario of when an object gets too close to the wearer. This is another output. You may add or remove resistors to change the volume of the buzzer.
  3. A Photoresistor is added to give the device separate behaviours depending on the amount of light. It is attached to a resistor and connected to a pin on the Arduino board to send signals to the isDark method in the code. This acts as a secondary input device.

Documenting mistakes:

There were two extra holes in the necklace since we originally had planned for 2 ultrasonic sensors but ended up using one. We used one of these extra holes to connect the Arduino Nano cable to the 5V power source in the power bank. We didn’t account for the weight of the wires and components so the necklace isn’t balanced properly. We also found out later that our 12V power bank has an output of 3 amps maximum, while the jumper wires we used should only hold 2 amps maximum. Thicker wires should have been used in connections between the 12V power source.

Step 5: Programming

The attached code is annotated for clarity

Arduino pseudo-code

The code is straightforward using a couple of if and else if statements and two separate cases for how the necklace behaves in the dark and in the day. When the necklace is powered, the ultrasonic sensor detects the distance of a body in your surroundings and sends this signal to the LED strip and the LCD screen. As the body approaches you (which can be manipulated based on personal preferences), the ultrasonic sensor sends signals and the LED lights up in three different colours based on the distance between you and the approaching body.

When it's dark:

  • Light green at 500cm
  • Magenta between 50cm and 500cm
  • Flashes between red and blue at anything under 50cm

When it’s bright:

  • Green at 500cm
  • Light blue between 50cm and 500cm
  • Red at anything under 50cm

Step 6: Results and Reflection

  • The 3d print could have had a hinged portion to troubleshoot once everything was glued in.
  • The material where the majority of the wiring could have been made clear to make it easier to see the intricate wiring inside
  • There could have been more than one ultrasonic sensors to detect bodies from multiple directions
  • The screen and buzzer could have been replaced with a speaker that could speak like Alexa or Siri
  • The LCD screen is placed in a place where it's potentially not very obvious

Step 7: References and Credits

The code from this website was used to calculate the distance of an object from the ultrasonic sensor.

Made by: Aizah Bakhtiyar, Ying Zhou, Angus Cheung, and Derrick Wong

This project was created as part of the Physical Computational Design and Digital Fabrication course in the Daniels school of architecture undergrad program.