Remote Controlled IKEA Death-Star Lamp

63,319

226

55

Introduction: Remote Controlled IKEA Death-Star Lamp

Being an engineer myself I could not resist adding remote control to this manually expandable lamp I saw at IKEA, no matter the cost. In this project I've replaced the pull string with M3 threaded rod and DC motor, added a micro-controller to drive it and after a bit of soldering, cutting, drilling... it moves by itself. The lamp can be controlled two ways. First of all, as you would expect, the light can be switched on, off and dimmed using standard wall switch. In addition to that, there is an Infra-Red remote control for more precise and programmable movement. In fact, it allows to save 3 positions and remembers the last position when switched on.

Sadly, at the time of building it, I didn't plan to make detailed instructions. Consequently, most of the pictures posted here are of the finished assembly. Hopefully, my description will be detailed enough for you to be able to achieve similar result.

Step 1: Parts Used

Step 2: Mechanics

Luckily, there was no need for a significant alteration of the lamp itself. I only had to remove the pulley and the string that were used to expand it. The string I've replaced with standard M3 threaded rod (could not find a lead screw of such a small size), while in the pulley's place I've mounted a DC motor to drive that rod. It was fairly easy to mount DC motor using plastic bracket that I've made out of a 5mm flat plastic piece (see drawing).

On the other end of M3 rod I've mounted a ball bearing from an old 2.5" hard drive for support. Without this support the rod was vibrating too much when spinning.

To the moving piece I've mounted an extra long M3 nut. I tried a standard size nut, but found that the thread wears off very quickly. Hopefully the larger one will last long time. At the time of writing it has been around 7 months of daily use and its still working. Going back to the design, to mount the nut, I have soldered two pieces of wire around it (see diagram) and slotted into the place of the spring that used to support the string. As long as both ends of M3 rod are supported, there is no need to fasten the nut in any way. You might want to add an O'ring to it though, as there is a significant vibration and noise when it's moving.

Finally, to join M3 rod to the motor I used brass joint that was a real challenge to find. It did need threading on one end for the rod and balancing wasn't easy, but it worked pretty well at the end.

Step 3: Position Sensor

DC motor is fine to drive the lamp, but without knowing lamp's position it could be difficult to control it. Running a motor for a precise time was not an option as due to friction and other factors the motor speed was not repeatable. I've also tried a stepper motor instead of DC, but this appeared to be too slow and sometimes would skip a step or two. So instead I've mounted a 10K potentiometer for a sensor, continuously providing position to the micro-controller. This turned out to be repeatable and more precise than I expected.

Mounting it was fairly easy by removing one of the pins acting as a hinge for two green parts. On one side, I've used a small piece of PCB to support the potentiometer, while on the other side I've fitted a screw securing those two parts together.

Step 4: Control Board

As for the brain, I've managed to put it all inside the canopies. It was a bit of a challenge as I had to mount a 12V power supply, Arduino Nano micro-controller, DC motor driver, power regulator for DC motor and 240V relay to control the light itself all on a single control board. Of course it was well worth the effort as I managed to hide most of the components from the view making it look more like a standard lamp as oppose to a geeky project. Even my partner was OK to put it into our bedroom.

Its not shown in the diagram, but all the cables are wired the the PCB using connectors making assembly slightly easier. At the same time, the Arduino Nano and motor driver are mounted with header connectors so they could be easily removed/replaced if necessary.

Arduino Nano has got a voltage regulator of its own, but I had to add another regulator for the DC motor, mainly because I wanted better control over the motor. I ended up adjusting it to 7V as going any higher was making the motor a bit warmish. In fact, as you can see in the second picture, I had to mount a radiator for voltage regulator to dissipate some heat. If I would do it all over again, knowing what I know now, I would probably go for motor driver with higher voltage rating and get rid of the voltage regulator entirely.

Step 5: Software

The software is fairly straight forward. First of all I programmed in a standard wall switch with the following functions:

  • Switch ON - toggle the switch once while lamp is OFF;
  • Switch OFF - toggle the switch once while lamp is ON;
  • Dim (move to closed position) - toggle the switch twice within 1 second (in ON or OFF state);

Then, for the remote control I used a low cost Sparkfun remote control. It fit perfectly for what I needed. Here are the functions it supports:

  • (I) - switch lamp ON or OFF (move to last known position if switched ON);
  • A, B, C - switch lamp ON and move to a preprogrammed position;
  • < and > - move in and out one step respectively;
  • ^ and v - move all the way out or all the way in respectively;
  • O - switch to programming mode (press A, B, C to save current position under that option);

This gives the flexibility to switch to different positions while at the same time, using wall switch makes, it very practical. You wouldn't want to train people before they can switch the light on or spend the time searching for remote control in the middle of the night.

Arduino (.ino) file is attached. Please note that the code, diagram and all the rest are provided as is without any expressed or implied warranty or fitness for a particular purpose.

1 Person Made This Project!

Recommendations

  • The 1000th Contest

    The 1000th Contest
  • Battery Powered Contest

    Battery Powered Contest
  • Hand Tools Only Challenge

    Hand Tools Only Challenge

55 Discussions

0
gvenere
gvenere

Question 3 months ago

I might be missing something here so please clarify is possible. If the curcuit is connected to the wall switch, wouldn't it turn off immediately once the switch is off? How would the lamp return to closed position? Or are we supposed to use only the remote control and leave the wall switch turned on?

0
audrius-a
audrius-a

Answer 3 months ago

I've separated the wall switch from 240V and connected to the 5V controller circuit (see diagram in step 4).

0
federicobj
federicobj

1 year ago

Hi, Hi @AdriusA1
Your work with the lamp is incredible !, I am doing a project based on yours and I have made some modifications in the design, using and stepper motor and 3D printed parts, here I leave you a link so you can see how it looks:
https://rosebudks.wixsite.com/ps2014

EDIT 1: I just edited the original program to work with a stepper motor, and it works great, if anyone need it I put the edited file in the link above...I will upload a video ones I fully complete the proyect.
EDIT 2: I finish the proyect, it works great, the only problem I encountered was that the motor torque was very weak, but I solved it easily with this mod (thanks to Jan Adriaensen link: http://www.jangeox.be/2013/10/change-unipolar-28byj-48-to-bipolar.html)

20190725_232841.jpg20190728_180850.jpg
0
Cayote64
Cayote64

Reply 1 year ago

Nice work ! On your link though I only see pictures, no links to the 3D printed parts on thingiverse etc ? Could you provide the 3d part designs and your code, I would love to make your version. Thanks Ian

0
Cayote64
Cayote64

Reply 1 year ago

Thank you so much for that federicobj !

Did you have to modify the code at all to suit the different motor ?

Also do you have the object file of the base that holds the components at all ?

0
federicobj
federicobj

Reply 1 year ago

Hi, here you can find the files: https://rosebudks.wixsite.com/ps2014 at the botom you can find the 2 arduino codes, the firs one is for the motor without modification, and the other is for the modified motor.
In relation to the base, I cant find the file, probably I deleted it, sorry :(

0
Cayote64
Cayote64

Reply 1 year ago

Hi, I have designed and printed my own base, roughly off your design, the circuit so far seems to be working. The only problem I am having is with the 3D parts file. When I import into simplify3D it won't let me split the objects or arrange so they wont fit on the bed. I tried to convert them online to STL or OBJ files but they keep failing.

Could you possibly split them to separate files please ? I would be so greatful

Many thanks again

Ian

0
Cayote64
Cayote64

Reply 1 year ago

Fantastic that's brilliant. Thanks for taking the time out to do that !

I noticed your circuit diagram needs an alteration to it. The pins on the IR Receiver are wrong, 5v and Output pins are labled the wrong way around.

0
federicobj
federicobj

Reply 1 year ago

thanks, I just update the diagram...by the way take in mind that the last arduino file for the torque modified motor uses the pins 2,3,4,5 not 5,6,7,8 like in the original file.

0
Cayote64
Cayote64

Reply 1 year ago

No problem, thank you so much for the help its very much appreciated !

0
Cayote64
Cayote64

Question 1 year ago on Step 1

Great project ! You couldn't update your parts list links as some of the links are bad now so I don';t know which parts to get could you ?

Many thanks

0
ocsi01
ocsi01

Tip 1 year ago

During my experiment to build a similar setup I found an enough long/short lead screw and a strong, fast stepper motor. They are all made for 3D printers and you can buy them all over Amazon. If you buy it as a set you get almost everything you need:
https://www.amazon.de/TOOGOO-Leitspindel-Kupfer-Koppler-Drucker-Silber/dp/B07PG77SM1/ref=sr_1_27?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=300mm+t8&qid=1562492833&s=gateway&sr=8-27

Then I went for a shorter Lead screw (200mm), so I don't need to cut metal.
Unfortunately my stepper motor is a bit bulkier, so the mounting and placement is tricky. (thats work in progress.)

I decided to control this via a Raspberry Pi Zero, which will be able to communicate via MQTT to my home automation hub.

0
basalat
basalat

Question 2 years ago

hi,

i managed to finish the electric part of the project but when i controlling it from the remote its rotating in one direction and when i am rotating the potentiometer then its rotating into another direction, but what my biggest problem is i can control the motor into small portion like closing in small section and opening the small section. Could you please help me out.

Thank you

0
audrius-a
audrius-a

Answer 2 years ago

Sorry basalat, but your comment is not specific enough for me to be able to help you. The potentiometer is there to provide feedback for the motor. Have you calibrated the top and bottom positions? Can it be the polarity of the motor wrong? What troubleshooting steps did you take so far?

0
basalat
basalat

Answer 2 years ago

Sorry i cant control the motor into small portions like opening in small section and close it in small section.

0
_will
_will

2 years ago

Hi audrius-a,

It's a great prject that I want to do it myself.

But I have some problems with the electronique part.

In fact, as you said in your tutoral, I can change the regulator of tension by a simple module! I found the l298n motor driver

https://www.amazon.fr/SODIAL-double-Stepper-Controller-Arduino/dp/B01LX1031Q/ref=sr_1_4?s=electronics&ie=UTF8&qid=1534849066&sr=1-4&keywords=module+moteur+continu+arduino

But I don't know how can I change pin configuration to adapt it (on electronic part and also with the code because I don't have MOTOR_ENABLE_PIN and MOTOR_FAULT_PIN)

So can you help me, please ?

And I have an other question about the RPM and voltage of the motor : can I use this one without changement in your code? (it's a 6V and 30RPM motor)

https://www.amazon.fr/SODIAL-2-5KG-Micro-vitesse-moto-reducteur/dp/B00VQ3IE8U

0
BrettF30
BrettF30

Question 2 years ago on Step 1

Can you make me a servo for my lamp.. how much?