DIY 3D Printed Mood Lamp

Howzit going everyone, Thomas here for another Takeover. Today I will be talking about my custom Mood Lamp project. I saw a project on Instructables a while ago for a DIY Mood Lamp. However, after diving into it I found that the project got rather pricey and a bit complicated for more entry-level makers. I used this project as inspiration to make my own mood lamp. I tried to keep it fairly simple and affordable. The enclosure that houses the Neopixel ring and Arduino Pro Mini was 3D Printed on the Ender 6. I set it up to work with USB as I wanted to have it sitting on my desk next to my PC. This project could be taken further by adding features such as Wifi.


I tried to keep this as simple as possible so that it is as simple as possible for others to follow. This is a list of all the components I used in this project.


I used the Neopixel library and parts of the code from Tweaking4All. I highly recommend checking out their site as it has plenty of useful information relating to Neopixels and LEDs.


DIY 3D Printed Mood Lamp

I edited the Easy Print No Support Modular Candy Dispenser by MeesterED. I have found the base design to be incredibly useful for a variety of projects I have done. If you remove the middle section and hollow out the inside of the other base pieces you get a really sturdy but simple base. I also made a custom cylinder that would fit over the connector and am pretty happy with how it turned out but the tolerances could be a bit tighter.


  1. Strip USB cable
    Cut one end off your USB. I left quite a bit of cable as I am not the best at stripping cables so I wanted space in case I needed to redo it. You can cut it much shorter if you are comfortable. The wires you are looking for are the red and black, use a multimeter to check they are the correct wires. For me red was positive.
  2. Twist or solder wires to positive and negative
    Take some spare wires and either twist or solder them to the USB cable. I twisted them together instead of soldering. I added electrical tape around the connections for extra support and then I added heatshrink to secure the cable.
  3. Upload code to the Arduino Pro Mini
    Connect the Arduino to the programmer and upload the code. The code I uploaded was very simple as it would help with testing. It is fairly easy to reconnect the Arduino and upload a more advanced code in the future.
  4. Strip breadboard jumper tips
    Strip the heads off the breadboard jumpers. You will need 3 but it might be useful to do a few extra in case some of them break as they can be rather flimsy.
  5. Solder the positive USB wire and a jumper cable to the VCC port on the Arduino Pro Mini
    This is where things get intricate. Place the positive (Red) USB wire in the VCC port and slide in a jumper cable alongside it. Once they are situated in a way you like then solder them into place. Be careful as the board is very small so it is easy to accidentally bridge ports.
  6. The other wire needs to be soldered to the Ground port
    Take the black USB wire and place it in the ground (GND) port on the Arduino. Slide in a jumper cable and solder in place.
  7. Solder a jumper to the port you defined in the code
    When you write the code you have to specify a port that will be used, I used port 6. Place the third jumper cable into the port and solder in place.
  8. Align the cables to the Neopixel ring and solder it together
    This part can be rather tricky as you want to limit the strain you put on the wires as they can break. Solder the cables as follows (Arduino to Neopixel). Replace port 6 with whichever port you specify in your code.
    VCC -> 5V
    Port 6 -> DI
    GND – > GND

Testing and Assembly:

Now that everything has been set up it is time to test and assemble. Testing is fairly straightforward as you can plug it into a PC USB Port or a power bank (just check the output voltage as 5V is recommended). Assembly is also fairly straightforward. Insert the connector to the top half of the base. Slide the USB cable through the center hole in the top half of the base. The Neopixel ring should rest almost flat on the connector. The top half of the base should slide onto the bottom using the 4 pegs on the corners. Finally slide the cylinder over the connector. You can glue the parts together if you prefer but I decided not to in case I wanted to modify the project later on.

Mood Lamp test and assembly
Mood Lamp completed
The Mood Lamp working in the dark


I am happy with how the mood lamp turned out and after fully assembling it and turning it on I found the cylinder creates a cool effect that I did not expect. If I was to do anything differently I would try to make the cylinder thinner so that more light gets through. I would also try making it a bit more powerful and not have it powered through the Arduino Pro Mini. I really enjoyed this project and learnt quite a bit while making it. Please share if you enjoyed this project and if you would like to see more please check out the rest of our blog. If you want to keep up to date with more DIYElectronics Takeovers check out our social media, FacebookInstagram, TikTok, and Twitter. If you want to check out our store click this link.

1 thought on “DIY 3D Printed Mood Lamp”

Leave a Comment

Your email address will not be published. Required fields are marked *