Introduction: Automatic Bubble Blower

About: I enjoy: Automation programming, Documenting my experiences with best-practices, Showing the designs I have created and/or worked on

Create an automated bubble soap machine with Arduino Uno and few basic components. Most of the parts list come with the typical Arduino starter kit. My toggle switch was broken, so I took to hook wires and connected/disconnected for the on/off.

The "Setup Mode" serial port command is so that you can set and save to flash memory the position the servo should stop for dunking in the soap (called "soap position" in the code) and degrees to stop in front of the blower (called "blow position" in the code). Enter setup mode, turn the potentiometer and the servo will move along. Stop turning at the desires position and type the serial command to save the new position for blow and soap values. The instructions and code values are in the attached spreadsheet. The fans are readily available on the usual web-sites. Mine was purchased on Amazon. I constructed the tower from whatever was available and is perhaps less than ideal but works. Height of each shelf will have to be thought through based on the length of the wand you use. Bowl for the soap is best if large and deep with straight sides. Tapered sides are okay too as long as motor shelf has more clearance underneath than mine.


Arduino Uno

Power MosFET, N-channel (same as comes in Arduino Starter Kit)

180 degree positioning servo

5Vdc fan blower

Rotary potentiometer (same as comes in Arduino Starter Kit)

Multi-color LED (RGB)

9V battery

9V batter holder

10K ohm resistor (same as comes in Arduino Starter Kit)

Quantity 3 220 ohm resistors (same as comes in Arduino Starter Kit)

0.1 uF electrolytic capacitor (same as comes in Arduino Starter Kit)

Diode (same as comes in Arduino Starter Kit)


Hook-up wires

Homemade stand for the soap bowl (bottom), servo motor with attached wand (middle), blower (top)

Step 1: Wire the Arduino to the Components

Follow the attached wiring diagram

Step 2: Build a Three Layer Stand for Mounting Devices

  • Determine the height of each floor of the three layer structure based on the length of the bubble wand you use.
  • Mine was 4 inches.
  • As you can see, mine is very crude with a small cardboard box and plastic cup.
  • Little more time and parts around, can be quite more stable, repeatable and professional looking.

Step 3: Mount Devices

  • Attach the bubble wand to the servo motor.
  • Mount the servo motor to the middle layer of the structure.
  • Attach the fan blower to the top layer of the structure.
  • Be sure to keep the blower quite close to the swing location of the wand to be sure enough air-flow to create bubbles.
  • The positioning servos have only a 180 degree range of travel. You may have to rotate the motor when setting up the teach positions in a later step depending on your mount.
  • I stood the motor up on the long end with the wires out the top.

Step 4: Download the Arduino Code

  • Power the Arduino via the USB port of your computer
  • Use the Arduino IDE (programming environment) to download the code to the UNO

Step 5: Test the Devices and the Wiring

Connect to the serial monitor of the Arduino from the IDE

Use the command codes in the attached spreadsheet (.xls) to test the:

  • Enter "Test Mode". Code 10010
  • Servo motor
  • Blower Fan
  • Each LED color
  • Potentiometer
  • On/off toggle switch
  • Exit "Test Mode". Code 10011

Step 6: Teach the Two Move Positions of the Servo

Teach the "Soap Position"

  • Enter "Setup Mode". Code 10002
  • Turn the potentiometer slowly until the wand is completely submersed in the bubble soap
  • Save the Soap Position with code 10004

"Blow Position"

  • While still in "Setup Mode"
  • Turn the potentiometer slowly until the wand is directly in front of the fan blower duct
  • Save the Blow Position with code 10005
  • Exit"Setup Mode". Code 10003

Step 7: Start Blowing Bubbles

Turn on the switch and (hopefully) start blowing bubbles