Producing a Layered Forest Lamp using Laser Cutting and Arduino


Forest Lamp is a Layered RGB Night Stand Lamp produced at the fab lab, using laser cutting technology.  The design was done on Fusion 360.

Design was edited on AutoCAD, and then laser cut using MDF and Acrylic material.


AutoCad, Corel Draw, Arduino


Arduino UNO Board, RGB LED Strip


Epilog Fusion M2 – 120 Watts


3mm MDF, Acrylic 3mm


Laser Engraving: 16.5 mins; Assembly: 15 mins


Design is not open-source

Production Steps

This section describes the different steps followed to produce a Layered Forest Lamp using various material produced by the help of Laser Cutting technology. Those steps show how you can combine multiple materials and electronics to produce a nice multicolored night stand lamp.

Step – 1 : Designing The Parts Using Fusion 360

In order to Laser Engrave and Cut any object, you need to have its digital design. This is to be done using any Computer Aided Design (CAD) software. In this example, The Forest Lamp was first designed on Fusion 360, a CAD (Computer Aided Design) software. You can use any software of your choice.

The pieces were designed to be produced on a laser cutter using multiple material.

The final design can be seen in the image below.

Step – 2: Save Design In DXF Format And Import To AutoCad

To prepare the Laser Engraving Cutting job, you need a 2D vector file. To do that, export the Sketches from Fusion 360 (save sketch in .DXF format) and then open in AutoCad. Next, add the visuals needed for engraving onto the 2d vector file.

Step – 3: Import Design & Prepare Your File for the Laser Engraving & Cutting Job

To prepare the Laser Cutting job, you should open the digital design file in a preparation software and choose the best settings that would achieve the best final result. In this example, we used Corel Draw as a preparation software.

  • Import the digital design file into CorelDraw by selecting “File” > “Import” > Choose you file from location.
  • Choose Your Material: Typically you may have an idea about what kind of material you will use before you laser cut. This is very important to choose the best settings required for the chosen material. Preferred settings for different material can be found in the Machine’s Catalogue. Best settings are usually chosen based on experience and previous tests done. In this example we will be using 3mm MDF and 3mm Clear Acrylic.
  • Select the outline as “Hair Line”:  We select “hair line” for the lines that we want to be cut, in our case the outline circles, and we select “ none “ for the objects that we want to engrave.
  • Choose Job Type: “Combined” was selected, as we are both engraving and cutting in this example.
  • Choose Your Cutting Parameters: The next step is then deciding on the different parameters for engraving (Raster Settings) and cutting (Vector Settings). We have to choose the best settings we need to have the best result. There are different variables that affect the final product coming out of the Laser Cutter. Among those variables are the Power, Speed, and DPI. In this example the following settings were used:
    • Raster Settings: Speed: 100%, Power: 30%
    • Vector Settings: Speed: 9%, Power: 100%, Frequency: 10
  • Forward the Job: After choosing all the variables, send the order to the laser cutter. But before pressing Play on the Laser cutter, we have to manually set it up the printer with respect to the material we intend to use.

Step – 4: Set Up The Laser Cutter

After preparing the file and the relative settings we need, the next step is to place the material we want in the laser cutter and set it up according to the thickness of the material.
To cut and engrave on our laser cutter, the following procedure was followed:

  • Set the focus of the laser using the V shaped Gauge.
  • Set the zero position of the laser on the top left corner of the Acrylic sheet.
  • Turn On the Air compressor and ventilators .

Step – 5: Perform the Engraving & Cutting job

Press the play button on the laser cutter, and voila, it starts cutting.

Step – 6: Remove Your Parts

Remove the parts from the cutting bed after it cools down and all the fumes are sucked out of the machine.

Next, carefully remove the film from the acrylic sheet.

Step 7: Prepare all required components

Prepare all the needed components to assemble you lamp. In this case, we needed wooden and acrylic parts cut on the laser cutter.  We also needed RGB LED strips that were stuck on the base using double tab. The LED strip pieces were then connected by soldering connecting wires to form the electric circuit, which will then be connected and controlled by an Arduino board.


Step 8: Assemble all pieces, Connect your Arduino Uno board to your computer and upload your code

In order to control the RGB LED strip, a code was prepare on the Arduino IDE, with the help of the fastled Library. The code controls the colors of the different LED along the strip. Each 3 LED are programmed to have the same colors in the Arduino code we prepared.

You can find the full code below

#include <FastLED.h>

// How many leds in your strip?
#define NUM_LEDS 27

// For led chips like WS2812, which have a data line, ground, and power, you just
// need to define DATA_PIN. For led chipsets that are SPI based (four wires – data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
// Clock pin only needed for SPI based chipsets when not using hardware SPI
#define DATA_PIN 3
#define CLOCK_PIN 13

// Define the array of leds

void setup() {
// Uncomment/edit one of the following lines for your leds arrangement.
// ## Clockless types ##
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); // GRB ordering is assumed


void loop() {
// Turn the LED on, then pause
leds[0] = CRGB::LightPink;
leds[1] = CRGB::LightPink;
leds[2] = CRGB::LightPink;
leds[3] = CRGB::Olive;
leds[4] = CRGB::Olive;
leds[5] = CRGB::Olive;
leds[6] = CRGB::MediumSeaGreen;
leds[7] = CRGB::MediumSeaGreen;
leds[8] = CRGB::MediumSeaGreen;
leds[9] = CRGB::OliveDrab;
leds[10] = CRGB::OliveDrab;
leds[11] = CRGB::OliveDrab;
leds[12] = CRGB::Green;
leds[13] = CRGB::Green;
leds[14] = CRGB::Green;
leds[15] = CRGB::Blue;
leds[16] = CRGB::Blue;
leds[17] = CRGB::Blue;
leds[18] = CRGB::Turquoise;
leds[19] = CRGB::Turquoise;
leds[20] = CRGB::Turquoise;
leds[21] = CRGB::White;
leds[22] = CRGB::White;
leds[23] = CRGB::White;
leds[24] = CRGB::Linen;
leds[25] = CRGB::Linen;
leds[26] = CRGB::Linen;;
// Now turn the LED off, then pause
//leds[0,1,2] = CRGB::Black;;


Step 9: Plug it in and enjoy

Finally, place your new lamp in your favorite spot and enjoy.