Introduction: RGB Lamp WiFi

About: My name is Nikolas and I am studying Mechanical Engineering and Aeronautics! I love making things with electronics and 3D printing in order to solve problems, to improve our lives but also to satisfy my imagin…

Hello friends! My name is Nikolas and I am 15 years old. Today in this Instructable I'll show you how to make a Minimalistic RGB Lamp that you can control through WiFi from your smartphone or computer. The Lamp will also be battery powered and will feature USB Type-C charging! I hope you'll have as much fun making this as I did! Make sure to watch the YouTube video above to see the Lamp in action and to follow the instructions from there if you prefer!

You can also see some of the Makes of this project Here!


Here's a list of the required components:

You will also need:

(Some of these links are affiliate links, which means that I earn a small commission from any purchases, at no cost for you. By using these links you can help me make more cool projects!)

Step 1: Understand How It Works

Firstly think of the Wemos board as an Arduino that also happens to have WiFi. Secondly you should know that the WS2812B led strip we are using is an "ARGB/ Addressable RGB Led strip" this means that every LED is equiped with a tiny microchip and, as a result, we can control each led respectively. A lot of people here on Instructables have made amazing projects using this kind of led strip so make sure to check them out! To control the leds from our smartphone we'll be using the firmware from a great open-source platform called "WLED". These parts in combination with a simple switch, a rechargable battery and a charger will be fitted inside three 3D printed parts.

Now that you get how it works let's start making it!

Step 2: 3D Designing

I designed the parts in Fusion 360. Basically the "LampBase" is where the charger, the wemos board and the switch are. The WS2812B wraps around the "LedHolder" and secures in the two clips. Also, the cylinder is hollow and the battery fits exactly inside. There are no screws needed because I have integrated a screw and a nut in the design. Lastly the white "Diffuser" secures into the precise gap of the "LampBase".

Step 3: 3D Printing

You can find the files Here

All the parts should be printed at a 0.2mm layer height, 0.4mm walls and around 30% infill.

  1. The "LampBase" can be printed in any material you like. I used PLA.
  2. The "LedHolder" should be printed with 4 walls. I suggest using a material like PETG or ABS due to the fact that the LED strip can get hot at times. PLA will probably work well too though.
  3. The "Diffuser" must be printed in White with Vase/Spiralize Outer Contour mode enabled. You will also need to increase the bottom layers to 10. If you wish you can add a color change in the bottom of the part from Cura. Go to Extensions>Post Processing>Modify G-Code>Add Script then select the "Pause at height" option. Then in the top right select "Layer Number" instead of "Height" and below that write "5". Click close and you are set to go! The printer will automatically pause when it finishes layer 5 and you'll be able to change the color to white!

Step 4: Flashing the Board

It's time to flash the firmware to our board.

  1. Connect the Wemos D1 Mini to a computer using a USB cable
  2. Download esphome-flasher on your computer.
  3. Download the latest WLED Release (we are using the Lite version of the board so we'll be downloading the "...ESP8266_1M.bin" file, if you are using a non-lite version of the board go for the "...ESP8266.bin" file.
  4. Open the esphome-flasher.
  5. Click browse and select the WLED release you downloaded earlier.
  6. Click Flash (The process will take around 3 minutes)

Don't disconnect the board from your computer yet.

Step 5: Setting Up the APP

  1. Go over to Play/App Store and download the WLED App by Aircookie
  2. Go to your WiFi settings and click on a device with the name "WLED-AP"", you may need to enter the password "wled1234
  3. A page will open up and you'll need to write your Home Network's Name and Password
  4. When you finish click "Save & Connect"
  5. Now connect your phone to your network
  6. Open the WLED App
  7. Click the Plus (+) icon on the top right
  8. Select "Discover lights" and once your lights are found click the tick icon.
  9. Now you can click on the instance you just made and a menu with dozens of colors and effects will come up!


If the "Discover lights" function didn't work for you, don't worry, there is another method to connect to your RGB Lamp. Simply download Angry Ip Scanner and click "Start". Scanning will take a few seconds, then look for a device with the name "wled-WLED"or something similar. You can see a number written next to it, that's the IP Address. In my case it was . Now go over to the WLED App and click on the plus icon again, and write down the IP address. It should be working now! You can also use the IP address to control the Lamp through Chrome, Safari etc,

Step 6: Quick Test

Before soldering and assembling the lamp we need to make sure that everything is working correctly.


  • 5V to 5V
  • GND to GND
  • D4 to Din

Lastly, connect the battery by connecting the positive (+) to 5V and the negative (-) to GND. Open the app on your phone and check to see if everything is working as it should by trying different colors and effects. In our case everythings is working well but before you go soldering everything together go to Settings > Led Preferences and change the Led Count to 60 (it was probably defaulted to 30) and also adjust the Maximum Current as you like. I decided to put it at 1A=1000mA for a good balance between brightness, battery life and heat produced.

Step 7: Circuit

It's finally time to start soldering and putting everything together!

EDIT: It would be better to connect the capacitor the 5V and GND of the led strip

Step 8: Installing the Switch

  1. Solder a, preferably red, wire on the one pin of the switch.
  2. Solder two more red wires on the other pin.
  3. Push the switch into place.

Step 9: Soldering the Battery

Soldering Li-On batteries can be really dangerous, so please be careful.

  1. Solder a red wire to the battery's positive side
  2. Solder a black wire to the battery's negative side
  3. Push the battery into place

Step 10: Soldering the TP4056

  1. Connect the cathode of the Capacitor (the side with the white line) to the negative output of the TP4056 and the anode to the positive. (This capacitor is used to smooth out the output current of the charger module and it is not necessary for the circuit to work)
  2. Connect two black wires to the negative output of the TP4056 as well.
  3. Connect the single wire of the switch to the positive ouput.

EDIT: It would be better to connect the capacitor the 5V and GND of the led strip

Step 11: Installing the Led Strip

  1. Wrap the led strip around the "LedHolder", make sure to also secure the strip into the two integrated clips of the holder.

Step 12: Connecting Battery to TP4056

  1. Connect the battery's red wire to B+
  2. Connect the battery's black wire to B-

Step 13: TP4056 Placement

  1. Simply put the charger into place

Step 14: Wemos D1 Mini Connections

  1. Connect one of the two red wires of the switch to the 5V of the microcontroller.
  2. Connect one of the two black wires of the charger to the GND of the board.
  3. Connect a new wire to D4 (it's orange in my case).

Step 15: Connecting LED Strip

  1. Solder the other red wire to the strip's 5V
  2. Solder the black wire to GND
  3. Connect Din to D4 (orange wire)

I would also advise you to insulate the joints using heat shrink tubes.

Step 16: Attaching the LedHolder

  1. Place the Wemos D1 mini into the "LampBase"
  2. Screw the "LedHolder" into the "LampBase"

Step 17: Adding the Diffuser

  1. Add the "Diffuser"
  2. You can charge the battery using a USB C cable. In my experience so far the battery life is more than 3 hours and charging may take up to 2 hours. (While charging the LED of the module will glow red, once the battery is full it will turn blue.)

Step 18: Your RGB Lamp Is Ready!

Turn on your Lamp, connect to it through the App, select your favorite effect and Enjoy!!

I hope you liked this Instructable as much as I did making it! If you have any questions or suggestions let me know! Lastly consider subscibing to my YouTube Channel for more tutorials and cool builds and to support me throughout this journey. Have a nice day!

Make it Glow Contest

Participated in the
Make it Glow Contest