Bubbles capture the human imagination like nothing else. Ephemeral and magical, their rainbow sheen will delight and amaze anyone who gazes upon them. The magic of bubbles stems largely from their impermanence.

Watching a bubble float through the air can bring the mind's attention fully into the present moment. Blink, and the bubble pops. The moment is over. Were you paying attention? 

Enhance the beauty of your bubble time with this LED bubble table. We've made a waterproof, lipped tray for bubble solution with infinity mirror style diffusion underneath. Sculpt a masterpiece out of stacked and smoke-filled bubbles. Delight your audience and let your mind be at peace, enjoying the impermanence of your creations.

Add as many light modes as you want using CircuitPython's easy-to-use LED Animations Library. Control the modes and brightness with an infrared (IR) remote control. The Feather RP2040 also includes battery charging via the onboard USB port. Use the table plugged in or use it onstage with a hefty 2500mAh battery.

We've also included our favorite bubble solution recipe, which is something every mad scientist should have in their arsenal. Although, we love staring at this thing even when it's not covered in bubbles. 


This is an intermediate project. You'll need to know your way around a soldering iron. I used some wood shop tools as well -- a table saw and a band saw -- but you could order the plastic pieces pre-cut for just a little more money if you don't have those available.

The code is ready to use as-is with lots of fun animations, and is pretty easy to customize. The CircuitPython LED Animations library is designed to be straightforward and intuitive to use. This is a great project for learning to create your own LED animations.


Angled shot of black rectangular microcontroller "Feather RP2040"
A new chip means a new Feather, and the Raspberry Pi RP2040 is no exception. When we saw this chip we thought "this chip is going to be awesome when we give it the Feather...
In Stock
Adafruit NeoPixel Digital RGB LED Strip with all the LEDs lighting in a rainbow pattern.
So thin. So mini. So teeeeeeny-tiny. It's the 'skinny' version of our classic NeoPixel strips!These NeoPixel strips have 60 digitally-addressable pixel Mini LEDs per...
In Stock
Lithium Ion Polymer Battery 3.7v 2500mAh with JST 2-PH connector
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This...
Out of Stock
Top view shot of JST 2-pin Extension Cable with On/Off Switch.
By popular request - we now have a way you can turn on-and-off Lithium Polymer batteries without unplugging them.This PH2 Female/Male JST 2-pin Extension...
In Stock
IR (Infrared) Receiver Sensor plugged into breadboard
IR sensor tuned to 38KHz, perfect for receiving commands from a TV remote control. Runs at 3V to 5V so it's great for any microcontroller.To use, connect pin 3 (all the...
In Stock
Mini Remote Control with 21 buttons
This little remote control would be handy for controlling a robot or other project from across the room. It has 21 buttons and a layout we thought was handy: directional buttons and...
In Stock
1 x USB C Cable
USB C Cable for Programming
1 x Clear Heat Shrink
3/4" Clear Heat Shrink Tubing

Additional Materials

  • 2 acrylic or polycarbonate 18" x 1/8" circles: available at Tap Plastics or online, or cut your own from a sheet of plastic with a band saw
  • 3" x 60" x 1/8" strip of acrylic or polycarbonate for the table edge. If you're making a bigger table, make the length the circumference of your circle plus a few inches for overlap.
  • Clear silicone caulk for waterproofing
  • E6000 glue
  • Mirror Film
  • Mirror Effect Spray Paint (more diffused) or 2-way mirror film (more reflective for an infinity mirror effect)


  • Soldering iron & accessories
  • Table saw
  • Band saw (optional)
  • Hot Glue Gun
  • Heat Gun

This guide was first published on Mar 07, 2023. It was last updated on Jun 20, 2024.

This page (Overview) was last updated on Mar 08, 2024.

Text editor powered by tinymce.