Internet technologies are constantly evolving in such a way that they require extreme delicacy and care. A common observation of younger generations is that they are typically more likely to exhibit violent behaviors and are less likely to engage with other people. Our solution presents gamified enforcement of socialization, care, and collaboration to save the stickman from being hurt due to their excessive applied force when playing the game.



"Keep Me Safe" is an IoT toy that is centered on connecting children through a toy that they would play with. The game could be played by children in a shared location or in different locations. We centered the value of the toy on collaboration and gentleness as the game entails a shared stick model where each side is controlled by a child. Then, the children are required to make the model dance by pulling a side of a rope that is tied to the model's arms. As they do that, the children need to use their joystick to ensure that neither one of them exerts an excessive force that will hurt the toy, which is indicated by a slight nudge and a red alerting light to visualize the loss of life. 

 Essentially, this toy is an IoT manifestation that enables players to use their joysticks to remotely play with the toy, thus connecting children and providing them with a means of entertainment that doesn't require a digital screen. Meanwhile, the sharing of the toy resembles a feeling of closeness and connection. Ideally, we want the children to treat their toy as the pet that they are responsible for (Kardefelt-Winther, 2017). 

Kardefelt-Winther, D. (2017). How Does the Time Children Spend Using Digital Technology Impact Their Mental Well-being, Social Relationships, and Physical Activity?: An Evidence-focused Literature Review. Florence, Italy: UNICEF Office of Research-Innocenti.


Conceptual Design

"To teach a child, the way positive reinforcement is carried out is more important than the amount " 

"Keep me Safe" is an IoT toy that targets children ages (3-5) years old. We decided to target this age group because of the children's ability to adopt behaviors and attitudes during that age as they are not yet fixated on given beliefs. As a result, through reinforcement methods, we believe that our toy could promote social interaction and nurture positive emotions, particularly responsibility and care. In addition, this stage resembles the period in which children develop an understanding of concepts such as belongings and friendships (Kardefelt-Winther, 2017).  Children's appreciation for friends at this age is further demonstrated by children's tendency to cry continuously and express deep, negative emotions and stubbornness as they separate from their friends. Nonetheless, as they spend time together, most children spend their time on digital devices, such as mobiles and ipads . This observation contributed to our concept generation where we wanted to connect children with their friends while providing tangible and meaningful ways to entertain themselves. 

The placement of the toy is a key factor that was critical to the success of our overall product. The reason being is that it is irrelevant to certain types of users. As a result,  proper positioning enhances the usability and the value of our product. In this project, as we intend for children to be the primary users of our product, it was crucial to determine appropriate settings that are centered on children and are suitable to promote social engagement. We decided that the most appropriate location for our object was in nurseries since objects are usually scattered across the space and are rarely treated with care. Consequently, the nature of the space was an opportunity that we leveraged to convey the intended message. 

"Keep me Safe" uses IoT to connect children to each other as it allows each of them to use their own controller to control the movement of one of the stickman's arms. The ability to control an arm remotely and play with the stickman without exerting extreme pressures on the controller uses IoT as it entails communication between devices. The decision to have one figure is intended to as a form of positive reinforcement such that the child who wants to observe the outcome of their action should be near the toy, thus resulting in anticipation that will encourage the connection amongst the two children. In addition, this will teach the children values such as sharing as this would be a way for children to alternate turns in owning the object, which in itself will resemble a maturing friendship. Currently, "Keep me Safe" utilizes IoT to serve its purpose. 

However, future applications of IoT could also extend into leveraging the outcome of pressure readings exerted on the toys for behavioral studies and research to indicate necessary developmental efforts. For this application, we would publish all the pressure readings onto the cloud so that researchers and scientists in labs would access the outcomes of those readings. Then, the output would be analyzed to detect meaningful behavioral and psychographic patterns that could be used as opportunities for improvement. Thus, the IoT in this device would provide insights that would focus on the well-being of upcoming generations by addressing their social, mental, and behavioral health. Those benefits could arise from recommended reformation of educational and social systems that address trends in the data. As seen, we believe that the goal of IoT in the current design is to promote social and behavioral well-being. However, in the future, we want "Keep me Safe" to be utilized to yield more generalizable applications that would benefit a larger group of people. 

The mechanism of "Keep me Safe" is a shared stickman model controlled by two separate joysticks. Each of the stickman's arms is tied by a rope, which is attached to a servo on the back of a stage. Each child would use their controller to press on a pressure sensor to move the servo and gently move the stickman's arm that they have control over. Once either player exceeds a certain threshold, the arm won't move, a solenoid will work along with a red neopixel as indicators of fault or mistreatment, and the child will not be able to play for a certain amount of time. The usage of indicators of punishment is intended to highlight that the child did an error in the game, thus resulting in the reinforcement of a gentler press once their next turn comes. By exposing the children to this form of punishment, we are reinforcing the idea that things should be handled with care as the aim of the game is to maximize the number of consecutive interactions between the players. In addition, we are utilizing the object as a mean to connect the children, regardless of whether they were in close or distant proximity. Lastly, the design of the stage and the consoles was intended to stir feeling of curiosity in the children to explore the toy and use it as a way to express their desire in establishing a friendship while learning from the consequences that they encounter. 

Greenspan, S. I. (1982). Three levels of learning: A developmental approach to “awareness” and mind‐body relations. Psychoanalytic Inquiry, 1(4), 659-694.



Scene 1: 

Kids notice an IoT Game Device

Scene 2: 

Kids trying to play the game

Scene 3: 

Kid A presses the controller(pressure sensor) and drives the movement of stickman and green light lights up to show this is the proper force.

Scene 4:  

Kid B presses the controller(pressure sensor) too hard and stickman vibrates severely to show this force is too much for "it" to handle.

Components (Bill of Materials)

Network Diagram

// This #include statement was automatically added by the Particle IDE.
#include <neopixel.h>

int tapSensorPin = A0;
int PressureValue;

int solPin = D3;

Servo myServo;
//Servo myServo2;
int servoPos = 0;

String eventNumber;

long lastPublishedAt = 0;
int publishAfter = 10000;

#define PIXEL_PIN D2
#define PIXEL_COUNT 8
#define PIXEL_TYPE WS2812B

Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

uint32_t green = strip.Color(0, 255, 0);
uint32_t red = strip.Color(255, 0, 0);
uint32_t blue = strip.Color(0, 0, 255);
uint32_t off = strip.Color(0, 0, 0);
//uint16_t stablity = 0;

void setup() {
    myServo.attach( A3 );
    //myServo2.attach( A5 );
    pinMode(tapSensorPin, INPUT);
    pinMode(solPin, OUTPUT);
     for(int i=0; i< strip.numPixels(); i++){
            strip.setPixelColor(i, green);
            delay( 100 );
    Particle.subscribe(  "GRP5_SZL" , handleSharedEvent );


void loop() 
    PressureValue = analogRead(tapSensorPin); 
    // if(PressureValue <= 1000 && PressureValue >= 400) // pressure reading compare
    //     stablity++;
    // else
    //     stablity=0;
    if (PressureValue <= 1000 && PressureValue >= 400) {
    if (PressureValue > 1000) {

void publishMyEvent()
  if( lastPublishedAt + publishAfter < millis() )
      String eventName = "GRP5_SZL" + System.deviceID();

      Particle.publish( eventName, eventNumber );

      lastPublishedAt = millis();


void handleSharedEvent(const char *event, const char *data)
    Particle.publish("result","it is working");
    String eventName = String( event ); 
    String getEventNum = String(data);
    String deviceID = System.deviceID();
    if( eventName.indexOf( deviceID ) != -1 ) {
    } else  {
                if (getEventNum=="1") {
                    //servo move
                    //servoPos = map(PressureValue, 0, 1000, 0, 180);//the highest value of children's pressure is 2700
                     //green light
                    for(int g=0; g< strip.numPixels(); g++){
                            strip.setPixelColor(g, green );
                            delay( 100 );
                } else if ( getEventNum=="2") {
                        //red light
                        for(int r=0; r< strip.numPixels(); r++){
                            strip.setPixelColor(r, red );
                            delay( 100 );
                        //Solenoid will jump to indicate tickman's body is falling apart
                        for( int s = 0; s < 5; s++ ){
                            digitalWrite(solPin, HIGH);
                            delay( 100 ) ;
                            digitalWrite(solPin, LOW);
                            delay( 100 );
Click to Expand

Circuit diagram

First image: User control (joystick)

Second image: Circuit of the stage and stickman (controls all the servo motors, solenoid and neopixel LEDs)  with external power supply of 5V


The Process

The ideation process started with the decision to not make a long-distance device but instead to build an IoT device that would be ambient and aiming to foster one-to-one social interactions that would take place within one environment. More and more, people lack the ability to interact and communicate with each other within a common environment. Even if they share the same space, they may not be individually present and engaged. We see this as a big problem with young people, especially children, who are more prone to play games on their electronic devices on their own, without sharing an experience with each other. Also, children may not always know or practice taking gentle care of their devices or toys. 

Ideation and Iterations

At first, we thought about building an "ice breaker" mechanism or game to be used at parties, where people can't figure out how to meet and engage with each other, but rather spend time on their mobile devices while sharing the same environment. The idea was to have two objects mimicking human moves and dancing, and two people to be copying those moves to compete with each other in time and perfection, so they would start dancing. This mechanism would prevent awkward silences and give people chances to connect. We would use a couple of sensors for the connection between humans and the objects as well as components to set up the party environment, like lights and sound. when we shared this concept in class, we received feedback that it was too complicated with so many tasks happening at the same time, so we decided to simplify the concept.

Whatsapp image 2019 02 05 at 00.05.46

We brainstormed further for different concepts in the idea of socializing and connecting in a common space while using gaming. We came across various research articles that were touching upon the aforementioned issues about child development and decided to build our solution in those areas. The concept focused on the interaction of children, with each other and with technology through gaming. 

We decided to have a puppet that they see as a human and move its body to make it dance (inspired by our previous idea). We first made a clay man by filling up a surgery glove with Play-Doh, but it became too heavy to make the arms move with servo motors, so we switched to using a stick man. 

Whatsapp image 2019 02 20 at 21.28.42

Servo motors would work with the input coming from pressure sensors on each players' joystick, and so the arms of the puppet (stickman) would move, making it dance. It would also have a neon light as its heart to symbolize a human. If there was too much pressure applied by the players, the heart would light up indicating that the stickman is hurt and it would vibrate as a warning with output via solenoid

The drawing and pseudocode of the prototype map out the mechanism below: 

Whatsapp image 2019 02 14 at 11.44.08

Whatsapp image 2019 02 14 at 11.44.15

As we iterated more on this idea, we explored the neopixels and decided to use a neopixel stick to show a countdown of lives for stickman. We wanted to show the consequences of players' "violent" actions by dropping down lives -turning off LED lights two by two- as one of the players applied too much pressure and hit the threshold. The reason of turning off two LEDs each time was to create the sense of collective action and responsibility, instead of blaming individual actions. We wanted to keep each players accountable for the common good. 

We encountered issues in the coding of that mechanism of turning of LEDs with threshold, as well as having components stop working properly when combined on the same breadboard. The reason for this might be having too tasks and current consumption on the same Argon as well as too much sophistication in the code. 

Nevertheless, we made a clean prototype of the stage (front and backstage) for the stickman puppetry and joysticks for players by lasercutting plywood. We engraved a children's pattern on the wall of the stage and made the wires invisible by hiding them in the backstage. 

Whatsapp image 2019 02 18 at 23.17.55

We enjoyed the process of ideation, prototyping and realization of the entire concept, but had a hard time fixing the code and making the prototype work. We learnt couple of lessons through this journey, the most important is that keeping the idea and mechanism simple is the key.

Whatsapp image 2019 02 14 at 11.44.22


Next steps

The feedbacks that we collected provided invaluable insights that would guide our next steps. One of the major points that our users questioned was the reasoning behind having a single object as that limits the integration of IoT in our device. Although the motive behind having a single stickman is intentional so that it would be a resemblance for the idea of closeness and physical connections, which we, as humans are innately wired to value. Consequently, we believe that the motivation and the inspiration behind our project was centered on the idea of sharing an object and collaborating to observe specific goals. However, as we design technologies and need to account for user feedback, it may be a better idea to have two stickmen so that each user would own a separate one. According to the feedback that we got, having two objects would be more intuitive as it enables the children to visualize the effect of any stimulus, thus leading to better association. 

An additional factor that was brought up was the appearance of the button as having a simple pressure sensor would not appeal to children. This note made us reconsider the shape and the texture of the button so that it would convey the emotions of comfort and gentleness that it was intended for. Lastly, we were told that although the idea and the intention are powerful, its complexity may confound its effectiveness as it may be too difficult for children to understand or interpret. 

In conclusion, based on our prototypes, user tests, and feedback received our next steps would be simplifying the interactions to allow easier associations, redesigning the button so that it would align with its intended message, and using two connected objects. The remarks made opened our eyes to issues that we were initially unaware of and may significantly impact the success of our product. Our first prototype enabled us to detect issues and areas of improvement that influenced our scope and methodology. Nonetheless, "Keep me Safe" provided us with invaluable lessons about the optimal approach to designing user-oriented, social objects that address unmet needs. 

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

Internet technologies are constantly evolving in such a way that they require extreme delicacy and care. A common observation of younger generations is that they are typically more likely to exhibit violent behaviors and are less likely to engage with other people. Our solution presents gamified enforcement of socialization, care, and collaboration to save the stickman from being hurt due to their excessive applied force when playing the game.


February 19th, 2019