Reactive Neopixel Door Lighting





Guess what? Now you door can have lights on it too!

But wait, there's more! These lights are reactive because they sense when you close the door and automatically turn off, saving you both power and from sleep deprivation by the glowing awesomeness that these neopixel's emit!

The lights have custom effects and colors that are randomly chosen when you open the door. Wow your friends and family as they walk through your door only to be surprised by the vibrant glow of the neopixels.

These lights are super duper simple to install and require no computer to run them, just a small little arduino hidden out of sight.

  • Difficulty: moderate.
  • Basic knowledge of electronics and arduino is assumed.


Be sure to vote for this instructable in the contest's it is entered in, it really helps me to level-up my instructables!

Step 1: Materials

For this build you will need:

  • 1 Neopixel strip long enough to go under your door (usually less than 1m)
  • 1 Arduino Nano
  • Mini USB cable for the Arduino
  • 1 large pushbutton
  • a 1k resistor
  • Wires including:
    • 2 Wires the length of your door
    • other wires for the LED strip, etc
  • Sticky tape
  • Hotglue / Sticky tack
  • M & F header pins
  • 5v AC adaptor able to output 1A (e.g. a phone charger)


  • Case for the Arduino Nano
  • Heatshrink


  • Soldering Iron
  • Hot Glue gun (optional)

Step 2: Cutting to Size

First we need to get that LED strip of yours and cut it to size,. Do this by placing it next to your door and aligning the side without the wires on the end of the door opposite to the hinges. Now go to the hinge side of the door and mark where it ends on the LED strip.

Now back at your desk, find the mark and cut the nearest cut points (where the tabs are), leaving a little bit of space for the wiring. Now solder 3 male wires onto the tabs on the end and if you want, hot glue the end (for those with the waterproof casing on their LED strips.)

Step 3: Pushbutton Wiring

The push button in this project will tell the Arduino whether or not the door is closed. I found that the best position for it is on the end of the door where is meets the stops on the doorframe. So get the wires and the pushbutton and solder the wires onto the pushbutton. Next solder some female headers on the other end of the wires using heatshrink if available. This wire should span the length of the door, and then some.

Step 4: Arduino Soldering

Now grab out that Arduino Nano and the header pins. First solder 2 male header pins onto pins 11 & 12. These will be for the pushbutton IO. Pushbuttons need a pull up resistor however so solder that 1K resistor between data 11 and GND.

Next solder 2 female header pins onto the VIN and GND pins and another onto the data 9 pin. These 3 are for the LED strip.

Step 5: Fixing the Fixture

In this step we will put the LED strip and button IO onto the actual door. So position yourself as so.

To attach the LED strip, simply use strips of tape to stick onto the door - make sure these are wide enough so they don't come off easily. If your LED strip has a sticky back then you should be good to go and shouldn't need any tape. Make sure to have the wires coming off the end where the hinge is.

Just a side note - for the waterproof cased neopixel's - neither hot glue nor sticky tack works.

As for the pushbutton, first get some sticky tack and put it behind it and stick it onto the front of the door, aligned so that when the door is closed - the button is pressed. Then just run the wires back the same way you did with the LED strip.

Assuming you know how, you can now plug the LED strip and pushbutton into the Arduino.

Step 6: Final Touches

If you have a case (which I sadly didn't), you can put the arduino in there before attaching it to the wall, but if you don't then just do what I did and use some sticky tack. It doesn't look that great, but hey - who even looks down there anyway? Connect the USB cable to the arduino and plug it into your computer in preparation for programming.

Step 7: Programming

Download the program here:


Load it up, it requires as usual the Neopixel library from Adafruit which is available in the arduino library manager.

You should see that as I have programmed, while the door is open there is a range of effects and colors that show on the strip, all of which stop once the door is closed. If that is what you see then congratulations, you are done!

Make sure to change the code to your liking, by changing the number of LED's in reference to your own and by removing/adding/changing effects and colors that you may or may not like.



    • Build a Tool Contest

      Build a Tool Contest
    • Paper Contest

      Paper Contest
    • Pie Contest

      Pie Contest

    10 Discussions


    2 years ago

    I am no engineer but I love DIY's. I loved this. I know I can do this. I know some stuffs too (may be those are too basic). Could you please guide me through this in details? She will love this.. :)

    3 replies

    Reply 2 years ago

    I don't know where to get those things.. I can never find those. I have to ask some local electronic dealers.. I need some diagrams kind of so that I can understand where to put what :(


    Reply 2 years ago

    I can't really make any diagrams because the dimensions and such are tailored to what you have available and what your needs are. For exmaple, My door might be smaller than yours, so there isn't any point making diagrams.

    If the information for the parts I have supplied is too confusing - I suggest looking up other guides on the internet as they explain it a lot better than I could.


    Reply 2 years ago

    There are many places. Most of it can be obtained from your local electronics shop. And the Neopixel strips are available from adafruit, ebay and others. I mostly use ebay for the parts because it is much cheaper.


    2 years ago

    Cool idea. And probably very spooky if you have guests which do not expect this :-)


    2 years ago

    This is so cool! But the arduino I have isn't the nano.

    1 reply

    Reply 2 years ago

    I'm sure you can do it with any kind of Arduino. I just used a nano because it is small.