Electrical Flexible Lamp

Introduction: Electrical Flexible Lamp

When I was watching YouTube videos I saw a lamp that was moving without fixed turning points. It seemed like the lamp was turned and bended by strings. I immediately started to think how this could work so I decided to make one my own.

Because English is not my native language, there may be errors in the text.

For this build you need:

1 x 2-Axis Analog Thumb Joystick

1 x Arduino Uno

4 x stepper motor

4 x stepper driver

4 x driver mount


1 x LED

1 x flexible tube

1 x 5V adapter

crosses that are mounted on the flexible tube

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: The Design

The first thing I did was trying to figure out how the lamp was bending. A fishing rod came into my my mind. The rod is straight when it has no weight on it, but when you catch a fish the rod starts too bent.

So keeping the fishing rod in my mind I started to design the lamp. The first idea was to use knee joints on top of each other with protrusions where the threads can pass through (figure 1,2,3).

This wasn’t stabile enough so instead I used a flexible tube that was stiff enough that it wouldn’t collapse but it could bend.

To pull the strings tight I used 5V stepper motors wich where driven by drivers wich on their turn where driven by an Arduino.

In 123D Design I designed a mount for the stepper motors where the string can get turned around (figure 4). I also designed a mount where the string goes through to bend the flexible tube (figure 5).

Step 2: Electronics

As I said the strings are pulled tight by stepper motors. These are 5V BYJ48 stepper motors which are controlled by an ULN2003 motor driver. In the Arduino code important to change some variables to your which work for your stepper motor. You need to look at stepsPerRevolution and setSpeed.

De motor is controlled by an 2-Axis Analog Thumb Joystick when you move two analog outputs will change I used the Map function of Arduino to transfer the analog values to values that can be used for setSpeed.

You can save pins on the Arduino because two motors are the reverse of the other two. For example if you make the lamp go to the right or left one motor will tighten the string and the opposite motor will loosen the other string, this is the same if you want to move the lamp forward or backwards. So you can connect one motor the right way and the other one reversed.

Because I didn’t want to use an whole Arduino I used only the Atmega chip programmed on an Arduino UNO.

For the power cable I cut the end of an old USB cable and connected the positive and negative cable to the prototyping board. As power supply I used an 5V 2A adapter.

Step 3: The Built

Building everything is not hard. The electronics are connected as described in the previous step. The housing is laser cut only I forget to keep room for te Atmega and the drivers so I would like to change that. The stepper motors are mounted by supports that are on Thingiverse.

Then the strings need to be connected to the stepper motors and then tough crosses that are mounted on the flexible tube. The wires are attached on the top cross. The wires for the led go through the tube and that is practically it.

Lights Contest 2017

Participated in the
Lights Contest 2017

Be the First to Share


    • LED Strip Speed Challenge

      LED Strip Speed Challenge
    • Sculpting Challenge

      Sculpting Challenge
    • Clocks Contest

      Clocks Contest

    2 Discussions


    2 years ago

    haha, no offense, it looks a bit weird. But the idea is good. thank you for your instructable.


    2 years ago

    I love how flexible the design is. :) Mine is more like the pixar lamp, but I'd like to have one like this.