Passive-aggression is an unhealthy style of conflict resolution, which often harms relationships. Devie bridges the communication gaps between a couple during the time of passive-aggressiveness and allows them to build healthy conflict resolution habits.



"There is no such thing as a relationship without conflict." - Larry Alan Nadig, Ph.D.

'Devie' is a project created in order to bridge couples during the time of conflict and allow them to build communication habits for healthy conflict resolution. Inspired by Good Night Lamp, Devie provides a new means to convey messages to significant others in an ambient manner. 

During the time of relationship conflict, we often find ourselves having difficulties communicating or fully disclosing our true hurt feelings. While we expect our significant others to notice our dissatisfaction on their own, our loved ones often have no clue, left in confusion. This avoidant behavior may seem to help in the short term, but as it accumulates over time this can turn into passive-aggressiveness, which is detrimental to the health of the relationship. 

Devie provides a cute, light-hearted outlet to express true feelings instead of hiding or neglecting them, allowing the couple to have more open communication.

How It Works:

Devie comes in a pair, one for each in the relationship. It is activated by a touch on the mini devil's hand, and upon the activation, the devil horn pops out. 'We need to talk', 'I said I was OK, but I'm actually upset', 'I'm angry. Leave me alone for a little while', users have the freedom to decide what the message means. When Devie is activated, the other Devie's horn also pops out, conveying the message to the receiving end. Upon the receipt of the message, the receiving end would respond accordingly by reaching back out to the sending end.




Our team went through numerous iterations on this project idea, revolving around problems such as social isolation and lack of communication. However, we had difficulties matching the user needs and the connected device (form, feature, interaction) and finding a compelling IoT product. 

Primary Research

After several iterations, we decided that we needed to test our ideas with potential users. We conducted multiple interviews to explore user needs at a deeper level and A/B testing to test out some of our features for the respective need. In the end, the potential users responded most positively with our most recent project pivot, so we decided to move forward with a product for healthy relationship conflict. 

Problem Validation

Based on our interviews, we noticed that potential female users had stronger positive responses than male interviewees. Many of them responded that they tend to turn passive aggressive or not express their true upset feeling up front. They expressed their wish for their male partners to "just know" their upset feelings even though it is obviously difficult when there is no communication between them. We saw this as an opportunity to pursue this problem as our target. 


Hardware Design

The first challenge we had was to figure out how to design the devil horns' motions. We discussed several options: gradual upward motion based on the count of touch sensor activation, simple binary upward motion, simple binary separate sideways motion, binary sideway motion. We evaluated our options based on the economy of the components required and potential safeguard for failure. We decided that the binary sideway motion would allow us with the maximized effectiveness and efficiency of the hardware requirement. This motion also gave a quirky, cute look to the devils, so it was a great addition to our goal.

Circuit Building

This device requires a fairly simple circuit. The main components used for this device are Servo, which controls the quirky horn motions, and FSR pressure sensor. For our convenience and efficiency, we added a LED light to signify the proper workings of the circuit, although this does not contribute to the actual operation of the device.



The biggest challenge we faced at this stage was synchronizing the horn motion of the two paired devices. There was always a slight lag between the two devil devices, and even though their known environment stayed constant their behaviors were inconsistent. We were able to improve the consistency using delay time on the code as well as maneuvering the pressure sensor in a certain way that it would activate the Servos at the same time. Through numerous iterations, this motion performance improved significantly over time.

User Feedback

After we built the first prototype, we went around to interview potential users for feedback. As we expected, the quirky, snappy motion of the horns was received positively, although at the time of this feedback session we were still having challenges deciding on the use case to target. 


Network Diagram

Below is the network diagram of the final prototype, which shows how the devices connect to each another and the data exchange takes place



Foam Board Prototype

We first tested our concept using foamboards and cardboards. Testing the motion and interaction of Devie using this prototype, we realized that synchronization of the two Devie devices and interaction timing can impact the performance and consistency. This also allowed us to communicate our idea with potential users much easier. 


Final Prototype

In the final version, we refined the Devie design to be more stable. We made it with laser-cut wood. The delay time, Servo motion angle, and some other parts of the code were modified to improve the consistency of its performance. 


Bill of Materials

  • 2 Breadboards
  • 2 Particle Argons
  • 2 FSR Sensors
  • 2 Servos
  • 4 Resistors
  • 2 USB Micro B Cable
  • 22 Jumper Wires
// Define a pin that we'll place the FSR on
// Remember to add a 10K Ohm pull-down resistor too.
int fsrPin = A0;

// Create a variable to hold the FSR reading
int fsrReading = 0;

// Define a pin we'll place an LED on
int ledPin = D2;

// Create a variable to store the LED brightness.
int ledBrightness = 0;

int servoPin = A3;
Servo myServo;
int servoPos = 0;

void setup() {
  // Set up the LED for output
  pinMode(ledPin, OUTPUT);

  // Create a cloud variable of type integer
  // called 'light' mapped to photoCellReading
  Particle.variable("force", &fsrReading, INT);
  // attaches the servo on the A3 pin to the servo object
  myServo.attach( A3 );

   //Register our Particle to control the servo
   Particle.function("servo", servoControl);

  // Keep a cloud variable for the current position
  Particle.variable(  "servoPos" , &servoPos , INT );
  Particle.subscribe(  "diot/2019/paired/yoolqc7001" , handleSharedEvent );

bool angry = false;

void loop() {
  // Use analogRead to read the photo cell reading
  // This gives us a value from 0 to 4095
  fsrReading = analogRead(fsrPin);
  if(fsrReading >= 3000 ){
      Particle.publish( "diot/2019/paired/yoolqc7000", "data goes here" );
      if(angry == false){
          angry = true;
          myServo.write( 0 );
          angry = false;
          myServo.write( 179 );

  // Map this value into the PWM range (0-255)
  // and store as the led brightness
  ledBrightness = map(fsrReading, 0, 4095, 0, 255);

  // fade the LED to the desired brightness
  analogWrite(ledPin, ledBrightness);

  // wait 1/10th of a second and then loop

int servoControl(String command){
    // Convert
   int newPos = command.toInt();
   // Make sure it is in the right range
   // And set the position
   servoPos = constrain( newPos, 0 , 180);

   // Set the servo
   myServo.write( servoPos );

   // done
   return 1;

void handleSharedEvent(const char *event, const char *data){
    if(angry == false){
        angry = true;
        myServo.write( 0 );
        angry = false;
        myServo.write( 179 );
Click to Expand


Relationship Conflict: Healthy or Unhealthy (

Good Night Lamp (

Share this Project


49713 Designing for the Internet of Things

· 18 members

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

Focused on

Passive-aggression is an unhealthy style of conflict resolution, which often harms relationships. Devie bridges the communication gaps between a couple during the time of passive-aggressiveness and allows them to build healthy conflict resolution habits.


February 17th, 2019