Bubble Bonding

Made by Kami Chin, nsridhar and arnavt

This project encourages keeping up a fun and playful between long-distance friends, grandparents and grandkids, or parents and kids via bubbles.

Created: March 6th, 2018



Social objects via connected devices can be used to manage and maintain relationships over distances. We created a device that encourages fun and connection by connecting distant playmates with a device that blows bubbles. 



A lot of connected products we have seen deal with long-distance couples, but we decided to target the parent/grandparent and child relationship instead because it seems like one that is more overlooked, yet still important. This can also be used well in a child-child friendship. 

We decided on using bubbles as a medium of play between the two channels because bubbles are entertaining for all ages! It will be hard to feel lonely when using this product, no matter how far away your playmate is. 

Some inspiration derived from: https://www.amazon.com/Gazillion-Bubbles-Hurricane-Machine-Colors/dp/B00OZECKFK



  • 2 Particle Photons
  • 2 Servo motors
  • 2 DC motors
  • Conductive tape
  • Wires
  • Bubble Soap
  • Straws and string
  • Custom laser-cut bubble wands
  • Tupperware and cardboard


When one person blows on the bubble wand, a small stream of bubbles will start blowing out of the other person's device and vice versa. This product uses the method of connecting two Particles via the cloud. 

Each device is a Particle Photon hooked up to a DC motor. The DC Motor is connected to the bubble wands. In addition, a propellor based fan runs permanently. This generates the wind required the create bubbles. The overall circuit is completed by conductive tape which the user blows on when he/she wants to create bubbles for their playmate. We also use an external power source for the fans to achieve the desired speeds. 



We wanted to people to have to physically affect the device to trigger a reaction in the other. For this reason, we ended up choosing bubbles. Before building the project, we sketched out some design ideas about how we could incorporate all these components together into one product (below).

Initial Designs
Image uploaded from ios.thumb
Initial Designs
Image uploaded from ios %281%29.thumb



We had initial issues with the fans. The ones we chose simply couldn't spin fast enough to generate enough wind for bubbles. As such, we ended up experimenting with a bunch of fans around the iDeATe Lab, and also added in external power for it (final fan image below). In the end, we used a propellor based one for one, powered externally. We also chose to leave the fan switched on permanently, rather than regulating it through the breaths. 

Breath Detection

We originally tried using humidity sensors to detect breaths. This sensor was, however, too fickle to give accurate readings. We ran into similar issues with using a temperature sensor. Instead, we implemented a flap covered with conductive tape which completes a circuit when blown on. The added benefit of this was that it provided a visual cue of the breath - the circuit physically changing due to the user. 

Laser Cut Bubble Wands
Image uploaded from ios %281%29.thumb
Final fan design used
Img 2911.jpg.thumb
Setup to detect breadth (with flap held up)
Img 2875.jpg.thumb

Final Design

Our final design has 3 parallel planes of action: 1) the fan, 2) the multi-headed bubble wand, and 3) the string/straw bubble maker. When user1 blows onto his/her conductive tape, it completes the circuit. This, in turn, publishes an event to the web - one which the second particle is subscribed to. 

Upon reading the published event, the second particle powers both the fan & the DC motor attached. The DC motor dips the bubble wands into the solution, which is used by the wind from the fan to create bubbles (and vice versa when user2 blows on theirs). 



We chose to focus on non-romantic relationships - specifically those between grandparents & children. This ended up limiting us in the ways we could ask for inputs & ways we could represent outputs. For this reason, we wanted to keep the input as natural as possible, which is why we chose to have users physically blow into it, rather than a button, etc. As such, it was interesting exploring the various methods we could have used for this initially - during brainstorming we ended up touching on everything from some form of tactile input such as touching tape to using breath. 

Next Steps: If we were to extend this project further, we would probably look at better ways to measure breath, and cleaner ways to generate the bubbles (essentially move to a more hi-fi prototype). We would also try expanding it to more than 2 devices - allowing more people to connect at the same time. In addition, we would add in some bonus features. One such feature we were debating was being able to "unlock" bonus bubbles when both users touch their devices simultaneously. Also, we would probably move away from the paper used to complete the circuit when blown upon - we found this to be an unreliable way to complete the circuit. 

Code for single particle. Copy code over for second, after switching events
int fan_pin = D0;
int motor_pin = D1;
int temp_pin = A0;
int default_temp = 0;

void setup() {
  // Setup I/O
  pinMode(fan_pin, OUTPUT);
  pinMode(motor_pin, OUTPUT);
  pinMode(temp_pin, INPUT);
  float default_temp = 0;
  // Subscribe to other photon event
  Particle.subscribe("breadthOnTwo", breadth_handler);

void loop() {
  float temp_cel = digitalRead(temp_pin);
  if (temp_cel > default_temp) {
   Particle.publish("breadthOnOne", String(temp_cel - default_temp));

void breadth_handler(const char *event, const char *data) {
  // Release bubbles based on if being blown on on other end
  int activeF = 255;
  int activeM = 150;
  analogWrite(motor_pin, activeM);
  analogWrite(fan_pin, activeF);

  activeF = 0;
  activeM = 0;
  analogWrite(fan_pin, activeF);
  analogWrite(motor_pin, activeM);
Click to Expand
Breadboard diagram
Breadboard bb.thumb
Bubble Bonding
Kami Chin - https://youtu.be/2S6Smyp4taI
Share this Project


49313 Designing for the Internet of Things (Undergrad)

· 22 members

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


This project encourages keeping up a fun and playful between long-distance friends, grandparents and grandkids, or parents and kids via bubbles.