Introduction: Cacti Light Display

This is a unique and artistic take on a basic desk lamp. With customizable transitioning colors and a sleek wood base, this lighting system is a fantastic centerpiece for any furniture. With a few simple steps, some heavy machinery, and patience with a computer, this light display can be achieved.


  • 1/4 in. Plywood
  • 1/4 in. Clear Acrylic
  • Laser Engraver/Cutter
  • RGB Led Strip
  • Arduino Uno
  • Breadboard
  • Wires
  • 9 Volt Battery
  • Epoxy
  • Hot Glue and Hot Glue Gun
  • Clamps
  • Table Saw
  • Soldering Iron
  • Solder
  • Paper Towels
  • Patience

Step 1: Design

The first step is to design and determine the size specifications ideal for the desk size.

This lamp's base was designed to be 3 in. x 4.5 in. x 2.5 in. The tallest cactus height is 6 in. and the smaller is 4 in. You'll need to sketch on graph paper with pencil to keep track of the pieces you'll be using. You'll also need to gather the necessary materials.

Step 2: Constructing Wood Base

  1. First, using adobe illustrator you'll need to make 6 rectangular pieces that will function as the top-bottom-and 4 side pieces of the wooden base
  2. The top piece will need 2 rectangular cut outs for the cactus acrylic pieces to fit snug in the lid.These holes need to be the size of the flat bottom of the acrylic cut outs
  3. Using a laser engraving machine you'll need to adjust settings to medium general wood, 0.250" thickness and to cut 50%
  4. Place a full piece of the plywood in the machine and make sure it's the right distance from the laser
  5. Turn on the air compressor and machine itself and allow the pieces to be cut from the wood
  6. Repeat cutting the top of the box in clear acrylic, adjust the settings accordingly
  7. Sand any burnt edges and cut out any rough wood pieces with an exact-o knife
  8. Glue the wood side pieces together with wood glue and let this dry overnight
  9. Next laser cut a smaller piece of wood that will fit snug inside the box and glue this to the bottom piece of wood ( this will be the removable bottom of the lamp in order to be able to access the electronics inside)
  10. Glue the top pieces of the box together (acrylic and plywood) with epoxy and clamp this secure for at least 10 minutes
  11. Using the epoxy again attach the lid to the box and clamp for at least 10 minutes
  12. Base is complete

Step 3: Display

  1. Use adobe illustrator to create the cactus shape
  2. Trace the black outlined image and make the line 0.01" thickness, RGB red
  3. Adjust the size accordingly
  4. Use the laser engraver to cut out this image from the acrylic at 0.250" thickness, as caste acrylic
  5. Repeat these steps again but decreasing the cactus size for the layered effect that will be the display
  6. Peal off the paper cover *be careful to avoid scratches

Step 4: Assembling Display

  1. Heat up a larger hot glue gun and make sure it has a new new glue stick
  2. Apply a line of glue inside the larger rectangular hole on the lid
  3. Gently insert the larger cactus but not far enough to poke through the underneath acrylic layer
  4. Hold it steady in place, perpendicular to the lid, until the glue has hardened
  5. Repeat these steps for the smaller cactus
  6. Clean off any glue dots or strings

Step 5: Coding

For this step we will be coding the color change that is displayed through the acrylic cacti and lid sides. Three colors will be changing from a yellow-green to full green to more of a teal, again playing on the cacti theme. Using Arduino software we will code a delayed transitioning RGB LED strip.

  1. Open or download the Arduino software
  2. Change the com port
  3. Download the NeoPixel.h
  4. Use the code below for 3 color changes
  5. Verify the code then upload to the Arduino board


#define PIN 7

#define N_LEDS 26

Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_LEDS, PIN, NEO_GRB + NEO_KHZ800);

void setup(){



void loop(){

chase(strip.Color(0, 255, 0)); // Full Green

chase(strip.Color(128, 255, 0)); // Yellow Green

chase(strip.Color(0, 255, 78)); // Teal


static void chase(uint32_t c) {

for(uint16_t i=0; i

strip.setPixelColor(i , c); // Draw new pixel;




Step 6: LED Strip

  1. Plug in a soldering iron and let it reach highest setting (or what's best for the solder being used)
  2. Clean off the tip with a wet paper towel
  3. Cut 3 wires ( red, white, black)
  4. Feed small amounts of solder to the iron to the attach the red wire to the power copper spot, black wire to the ground spot, and the white wire to the remaining opening that is the control)
  5. Trim the wires to equal length and make sure the connections are secure

Step 7: Electronics

  1. Attach a battery snap to a 9 volt battery
  2. Put the red wire from the battery into the positive row on the breadboard
  3. Insert the black wire from the battery into the negative row on the breadboard
  4. Put the black wire from the led strip into the negative breadboard row
  5. Insert the red wire from the led strip into the positive breadboard row
  6. Insert the white wire from the led strip into the Arduino board and the control pin indicated in the code (7)
  7. Finally, connect the power and ground ports on the Arduino board into the breadboard's positive and negative rows
  8. Removing (unplugging) the battery will serve as the switch for the lamp

Step 8: Final Contruction

Altogether the 2 layer lid should have a small and large acrylic cactus glued to it that is epoxy connected to the base of the box. When the battery is plugged into the battery snap the code is triggered and the green colors transition infinitely. This should be tucked into the box with some minor maneuvering to position the strip of led's for maximum effect. The bottom will fit snug into place beneath the box's base. And a few hours of hard work can be appreciated for the final result of an awesome Cactus Light Display.

Colors of the Rainbow Contest

Participated in the
Colors of the Rainbow Contest