IoT Bubbles

Who doesn't like bubbles, now you can control your own bubble machine from anywhere!

Similar projects worth following
Yes the most important thing since toasted bread has arrived, controlling the production of bubbles from anywhere!

Who doesn't like bubbles? Nothing like bringing a tiny bit of happiness into the world.

Okay, this isn't exactly the absolutely most useful IoT device in the universe, but it's a fun idea that I've been thinking about doing for a while. The bubble machine itself is quite cheap and produces quite a few bubbles, but by itself is a pretty dumb device. I thought it would be fun to control it remotely and possibly also be triggered from something in it's environment. This projects solves the problem of occupying some spare time and getting more familiar with ESP8266. As far as this project being world-changing, I hope to inspire others to dust off some old objects sitting in the closet, make them more interesting, and learn a thing or two along the way. I plan to use an ESP8266 to control it. The project details section will be updated as the project develops.

Released 4-20-17. Added CSS and some UI improvements to the web interface, still very much a work in progress.

x-zip-compressed - 4.88 kB - 04/20/2017 at 17:30


The first beta version of the files used for IoT Bubbles. It needs a bit of polishing.

x-zip-compressed - 4.17 kB - 03/29/2017 at 21:53


View all 2 files

  • 1 × NodeMCU ESP-12E ESP8266 Cheap wireless microcontroller dev board
  • 1 × NodeMcu Base ESP8266 Has a regulator to allow one to easily power the ESP8266 with a wall wart.
  • 1 × cheap 2 relay board The L293D board didn't work out in the end
  • 1 × several female to female jumper wires
  • 1 × several male to male jumper wires
  • 1 × Bubble machine A cheap bubble machine I obtained a few years ago

  • Making the web interface look a bit better

    /dev/null04/20/2017 at 17:45 0 comments

    The web interface now looks a bit better with some CSS styling. This is the first time that I've had a go at playing around with CSS media queries in order to make things looks a bit better and functional on my phone. Before I had to zoom in on the buttons, but now they are plenty big. I still of course have some more tweaking to do to it. Before/after potos below:

    I also made a few changes to the php files, mainly fixing up some error/success messages. I posted the updated version as beta 1.5.

  • Back to work soon

    /dev/null04/18/2017 at 23:13 0 comments

    Just an FYI, I will be getting back to working on the project again, I've been busy the past two or so weeks with Easter and various outdoor projects that needed to be done before the summer heat kicks in. I'll start working on making the web interface looking a bit prettier this week. Thanks to all that are following/liked the project. I hope everybody had a great Easter.

  • Project Log: Success Edition

    /dev/null04/04/2017 at 19:24 0 comments

    After the fiasco mentioned in the last project log, a rework had to be done with powering/controlling the bubble machine. To address the need of beefier wires I cannibalized a power cord. I did give the L293D another shot with the wiring upgrade, but the voltage drop from the driver was still too much. I grabbed a 2 channel relay board I had lying around link to relay board here. The glorious re-configuration photo:

    After I got everything reconfigured I started it up again and when it started running . . .

    . . . it worked gloriously!

    It's still a bit of a mess, but at least it works. By the way, the bubble machine that I'm using can be found here:

  • Project Log: Fail edition

    /dev/null04/04/2017 at 18:17 0 comments

    I hooked everything up outside to do a run with actual bubbles. The first issue I ran into was the Opera Mini browser on my phone wasn't playing nice with my web interface for some reason. Switched to Chrome, everything solved or so I thought.

    I then added bubble solution to the machine and tried it, not a single bubble. Turns out that the fan wasn't running fast enough to create the bubbles. Measured the voltage of my battery pack at its terminals: a little bit over 5v (using 4 AA nimh cells). Measured the voltage at the terminals of the bubble machine: around 2.3V! Yup, quite a nasty voltage drop from a combination from the wires and the L293D. I plugged in my batteries directly into the machine: a shower a bubbles.

    Solution: ditch the L293D and use beefier wires, using breadboard wires on the bubble machine side doesn't cut it.

  • It's Alive!

    /dev/null03/29/2017 at 20:19 0 comments

    After a few days of delay, I finally got the time to do the code for the ESP8266, and now have it functioning on a basic level. I currently have it set so that the ESP8266 polls my webserver every 10 seconds, a bit on the long side, I could of course poll it every second or so, but I didn't want my server log spammed with requests. If any of you out there know of a better way than having the ESP8266 poll, I'm open to suggestions.

    I'll post both the web server files, and the ESP8266 Arduino ino file to the project page On the web server side of things, you will need to be sure that php functionality is enabled. Also, be sure to edit the ESP8266 Arduino file to set the IP address of your server and set your wifi credentials.

    A short video of it below (I may post a video of it running with bubbles, if I get the time to set it up outdoors):

  • Thanks for following/liking

    /dev/null03/28/2017 at 23:57 0 comments

    Many thanks to those that have followed and/or liked the project, especially since I'm getting $1 per like.

    I've had a few other projects that popped up that kept me from working on the ESP8266 side of things, but I will have to time to whip that up and post it tomorrow. I currently have the web server side of things running on a Raspberry Pi.

    I've tested out driving the bubble machine itself with an l293D, may end up driving it with a MOSFET.

  • Got the basic code done on the web server side

    /dev/null03/25/2017 at 14:29 0 comments

    This morning I did whip up the basic code on the web server side of things. I still need to do a bit of CSS styling and such to make the webpage look nice. Once I do the code for the ESP8266 (hopefully later today) I'll post the first revision here. I did add a feature to set the number of seconds for the bubble machine to run.

View all 7 project logs

Enjoy this project?



esot.eric wrote 03/27/2017 at 15:59 point

Awesome and inspiring!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates