Introduction: Programmable Pipe Lamp

Want to make a cool lamp you can program to illuminate how you want?

If so, check out this Arduino-controlled lamp!

The goal behind this project was to make an aesthetically appealing lamp out of resources that I had laying around. The main components of this lamp include Kombucha bottles, some piping from Home Depot and some basic Arduino components. Overall, this is a fairly easy project and takes very limited arduino and construction knowledge!

Approximate Project Time (4 hours)

Let's get started!

Step 1: Materials & Tools



  • Soldering Iron
  • Solder
  • Computer (To program Arduino)
    • Arduino Software
  • Hot glue gun
  • Dremel
  • Drill
    • Wood Bits
  • Wood File

Step 2: Bottle Preparation

I regularly drink Kombucha and decided to reuse the bottles after they were empty. You regularly buy these at Publix or other supermarkets for approximately $3. These are clear bottles, so I used frosted glass spray paint in order to make them semi-transparent.

  1. Take sticker off empty Kombucha bottle. Peel slowly, taking care to get as much as you can off.
  2. Use rubbing alcohol and vigorously scrub the bottle until all adhesive has come off.
  3. Make sure the entire bottle is washed inside and out before spray-painting.
  4. Apply multiple coats of spray paint, letting it dry between coats. (I applied about 6 coats)
  5. After the bottles are dry, overlay the threads with multiple layers of electrical tape.

Step 3: Lamp Base

Now let's prepare the lamp base! I got this stair newel topper/ dowel at home depot in the lumber section.

  1. Drill a hole through the middle of the base. (This will be so your wires can go through the base)
    1. While you are near the drill, I also recommend drilling a hole through the middle of your copper piping.
  2. Cut a section out of the bottom of the base. (This will be so the base can lay flat over the wires)
    1. I used a Dremel with a cut-off wheel because it is all I had accessible. (I do not recommend this attachment) If available, use a drum and sanding band attachment.
  3. Further smooth the section you carve out using sandpaper and your Dremel attachments.
  4. Take your galvanized floor flange and center it on the top of the base.
  5. Finally, use you self-tapping screws to secure the flange to the top of the base.

Step 4: NeoPixel Assembly

In order to secure the NeoPixels, I used a section of copper piping with a small diameter. (This provides rigidity and a "dowel" of some sorts to secure the NeoPixels around)

  1. Cut a section of NeoPixels. (I used about 1.5 meters)
  2. Hot glue the beginning of the NeoPixel strip to one end of the copper pipe.
  3. Take the adhesive backing off of your NeoPixels and wrap them around the pipe evenly.
  4. After wrapping to the end of your NeoPixel strip hot glue the other end.
  5. Run the remaining wiring through the end of the copper pipe and out through the hole you drilled in the middle of it.
  6. *You might need to solder some longer sections of wire to your LED strip in order to run it through the copper pipe, down the lamp neck, and through the bottom of the base.

Step 5: Final Hardware Assembly

Now that you have prepared your frosted bottles with electrical tape, evenly spaced your lights on the copper piping, and crafted your lamp base, it is time to finalize the assembly of the lamp.

  1. Make sure your wiring is run through the copper piping, the "T" pipe fitting, down the lamp neck, and through the lamp base.
  2. Screw the lamp neck into the base.
  3. Screw the "T" pipe fitting onto the lamp neck.
  4. Slowly thread one of your bottles into one end of the "T" pipe.
    1. If it is loose inside the fitting, layer more electrical tape around the bottle threads.
  5. Carefully fit the NeoPixel-copper pipe assembly through the "T" pipe and into the bottle on the other side.
  6. Put the other bottle over the exposed side of copper pipe and carefully thread into the "T" pipe

Step 6: Arduino Connection

After you assemble all the hardware of your lamp, it is time to program your NeoPixels!

The following link will provide you with basics of understanding NeoPixels:

Make sure to read this link before hooking up your NeoPixels:

After looking through Adafruit's resources a bit, you will want to install the Arduino software and such

  1. Open Arduino software
  2. Import Arduino "NeoPixel" library:
  3. Go to File > Examples > Adafruit NeoPixel > strandtest
  4. Verify and then Upload your code to your Arduino Uno
  5. Connect your ground (-), positive (+), and DIN wires to the Arduino
  6. Based on the sample code, you will need to connect your DIN wire to Digital pin 6 on the Arduino

After the Arduino is hooked up, the wires are connected to the board, and the code is uploaded, your lamp should be running the sample code! Enjoy your awesome lamp and be sure to post your version in the comments!


  • Make sure all connections are soldered properly
  • Make sure all wires are connected in the board and in the right pins
  • Make sure your code has been compiled and uploaded correctlyf

Step 7: Future Development

I hope to add to this lamp by developing some different code for the NeoPixels. This code will include different ambient functions of the light such as slowly increasing and decreasing the brightness while switching through various colors. I would also like to add light sensors and a microphone so that the lamp could be regulated by exterior lighting or sound as well!

Let me know if you have any other suggestions in which I could improve the hardware or software of this build!

Glass Challenge 2017

Participated in the
Glass Challenge 2017