The Freebie. a free kiss machine [Y1: Experimental Interaction Final Project]

💋 a collaboration with 

The Freebie is a provocative object that aims to bring the awareness of free stuff. Everyone loves free stuff however without people realising, free stuff is not technically free because people somehow have to pay for a price to receive them. As the word “free” is the best way to capture people’s attention, we decide to use it in our product.

“Nothing in life is free”

“kiss is”

This product gives away free unlimited kisses but the people who are receiving these kisses have to pay by embarrassing themselves in public, sharing their kiss experience with others. 

Concept: A kissing sticker from WeChat, Copyright: suano

The Freebie Video

Images of our product on site

Instructions for user:

    1. Wear the sandwich board
    2. Sit on the chair
    3. Move your body close to the lips
    4. Repeat (up to you)
    5. Enjoy your kisses!

Observational documentation for user tests


We struggled a lot of deciding the background concept of this product. In the beginning, I came up with this idea under the dark object criteria as I thought someone lost his/ her partner may miss the good night kiss. This kiss is the symbol of love, having someone to care for you at the end of the day. As the love ones left, this habit is also lost. This idea was further enhanced by a Wechat sticker I used all the time. The idea is to design product cater for a single user. As the user came closer to the object, the lips will protrude out.

Throughout the project, I learnt how to create and adapt a coding, no just copy and paste from the resources found online. In the 2nd testing session, the motor didn’t push the lips much forward, so the user experience was not satisfied. I have to change the scale of the motor movement and the distance triggered. In cooperate with Processing, I learnt from experience of how to make sound effects when the motor pushes out the lips. As ultra-sonic sensor is not sensitive to clothes or face, we have to come out with an alternative: the sandwich board to make the motor move while the board approach to the sensor. I understand how the ultra-sonic sensor works while improving the prototype. Also, it’s fun to search for sources creating the lips. We aim to create a soft texture reassembling the real lips. At first, we tried cotton, lip mask and foam. The texture are all not satisfying. The silicon makeup puff has that soft and smooth texture but initially we wanted to cut it to the shape of the lips. However, the silicon puff deformed after it was cut. Finally we cut out a plastic sheet and placed it on the puff. To make it more realistic, I coloured the lips with real red lipstick. As people were concerned about the hygiene, this is solved through placing a plastic layer on top of the lips(1st layer: plastic sheet, 2nd layer: plastic sheet lips with lipstick, 3rd layer: silicone puff). I am very satisfied with this final result with the lips. All in all, I enjoy this project a lot.

Circuit design:


Vcc to 5V in the arduino

    • trig to port 2(digital) in the arduino
    • echo to port 4(digital) in the arduino
    • Gnd to Gnd in the arduino


    • Brown wire to Gnd in the arduino
    • Red wire to 5V (together with motor’s vcc)
    • Yellow wire to port 9 in the arduino

(referencing )



#include <Servo.h>  //Load Servo Library

Servo myservo; // create servo object to control a servo

const int trigPin = 2;

const int echoPin = 4;

void setup() {

 // initialize serial communication:


 myservo.attach(9); // attaches the servo on pin 9 to the servo object


long microsecondsToCentimeters(long microseconds) {

 // The speed of sound is 340 m/s or 29 microseconds per centimeter.

 // The ping travels out and back, so to find the distance of the

 // object we take half of the distance travelled.

 return microseconds / 29 / 2;


void loop() {

 // and the distance result in centimeters:

 long duration, cm;

 pinMode(trigPin, OUTPUT);

 digitalWrite(trigPin, LOW);


 digitalWrite(trigPin, HIGH);


 digitalWrite(trigPin, LOW);

 pinMode(echoPin, INPUT);

 duration = pulseIn(echoPin, HIGH);

 // convert the time into a distance

 cm = microsecondsToCentimeters(duration);

 // the condition for the distance

 if ( cm > 0 && cm < 14 )


   myservo.write(140); // sets the servo position according to the scaled value



 else if ( cm < 5)


   myservo.write(5); // sets the servo position according to the scaled value





   myservo.write(5); // sets the servo position according to the scaled value







Kissing sound effect:

This sound effect is produced when the lips move towards the user.

Making the Freebie

The Freebie can be placed anywhere in anytime to give somebody kisses. This project is powered by arduino Uno using two important electronics: the ultrasonic sensor and the standard motor. This free kiss machine can be create easily as long as you are passion enough!

Step 1: Get Materials

You will need:

    • White A3 Cardboard x 4
    • An Arduino Uno
    • Breadboard
    • Arduino Wires x 8
    • An ultrasonic sensor
    • A standard motor (I am using the Mg995 motor)
    • Silicon making puff x 2
    • Soft Plastic sheet x 1
    • A Red Lipstick


    • Penknife
    • Scissors
    • Ruler
    • Tape
    • Bamboo skewer x 1
    • UHU glue
    • Thin Metal Wire
    • Black Permanent Marker

Step 2: Creating the boxes

We need two boxes and one front cover to create ‘The Freebie” box.

1. Cut the white cardboard according to the measurements.

Box 1

    • H: 23cm
    • W: 8.5cm
    • L: 20cm

Box 2

    • H: 7cm
    • W: 8.5cm
    • L: 20cm

Front board

    • H:30.2cm
    • W: 8.5cm

2. Remember to cut the hole with penknife for the ultrasonic sensor on both box 1 and front board. Place the ultrasonic sensor, breadboard, wires and arduino UNO to measure where to cut the holes for the electronics.

3. Glue the two boxes together with UHO glue or clear glue first then glue the front board against the two boxes.

Step 3: Creating the lips


    1. Make use of the plastic sheet from the packaging of the makeup puff, cut the shape of a lips using penknife
    2. Paint the lips red with a red lipstick (I am using shade CHILL from MAC!)
    3. Wait until the lipstick dry
    4. Stick the lips(the unpainted side) against the silicone makeup puff with clear glue
    5. Stick a layer of plastic sheet on top of the lips with clear glue
    6. Wait until it dry
    7. Cut the plastic sheet in the shape of the makeup puff (which is a circle here)
    8. Cut a small square from a white cardboard and poke a hole through it(for the bamboo skewer)
    9. Attach the white cardboard against the back of the makeup puff

1st layer: plastic sheet

2nd layer: plastic sheet lips with lipstick

3rd layer: silicone puff

Step 4: Place all the electronics into place

*The coding and the placement of the wires is mentioned above.*

    1. Cut a 8cm bamboo skewer
    2. Curve a thin metal wire to the motor’s wings to hold the bamboo skewer in place
    3. Place the standard motor with the wire in the middle of Box 2
    4. Put the bamboo skewer from the front side of the box through the hole of the front board

Step 5: Connect the wire to the computer to power the Arduino

    1. Test if the sensor and the motor works when you place a paper near it

Step 6: Making the Speech bubble: Kiss is

    1. Cut out a rectangular with dimension of 14cm x 9.5cm with a pointy triangle of sides 3cm and 4.5cm
    2. Print out “Kiss Is” and “Nothing in life is free” in capital letters
    3. Draw a 0.3cm border for the speech bubble with a black permanent marker
    4. Cut out “Kiss is” individually and stick the letters onto the speech bubble
    5. Stick the speech bubble the the front board of the box, just above the sensor

Step 7: Making the Sandwich Board: Nothing in life is free

  1. Materials

A: White Cardboard 250mm by 250mm x 2

B: White Cardboard 250mm by 30mm   x 2

2. Cut out “Nothing in life is free” individually and stick the letters onto the A

3. Use pen knife to cut B gently without cutting through it (allowing it to bend nicely)

4. Make the Board: Stick both B behind A with UHO glue


Design process documentation

Link to our


Body-storming (1st testing session):


2nd Testing session

Feedback from the testers:

  • height
  • signage for like “come closer” cos they don’t know whether to come or not
  • nostril..
  • height issue
  • sitting down is better
  • maybe a portable kiss
  • lips can pop out more
  • can play with speed of motor now a bit slow can shorten delay

The hanging design doesn’t compatible to everyone since everyone have different height. We decided to stick to the first prototype and adjust the size of the box, aimed to improve the movement in order to let the lips pop out more. Also, we wanted to add the sound effect of kissing when the lips pop out, using the Processing programme. 

Thank you for reading 🙂 


Leave a Reply