Introduction: Neowave - RGB WiFi Moodlamp

In this tutorial, I will show you how I made this RGB lamp! The lamp is mostly 3D printed, and is easy to assemble. It uses an array of WS2812B individual addressable RGB LEDs, which gives it the ability to not only show every color, but also in different effects, like simulating a fire. All of this can be controlled via the app, WLED.

It can also be set up with different presets, which can be triggered by smart home devices like Google Home and Alexa, as well as being paired with Home Assistant.

The lamp also has a button on top, for local control. In the tutorial, I will show you how to connect a capacitive touch button, but you can also hook up a physical button like you can see I have done in the video and pictures.


Supplies

Here is a list of parts:


OR:

3D printed parts:

(Lamp shade by brico3d)

Step 1: Sponsor

This instructables was sponsored by JLCPCB!

JLCPCB offers high quality PCB's at a low cost, with fast delivery.

You can get 5 pcs for only 2$!


Step 2: Print the Parts

PS: Your printer needs to have a build height of minimum 200 mm to print the lamp shade.

The lamp shade:

This has to be printed in vase mode. I used 0.2 layer height, and white PLA.

The base:

I printed it using 0.2 mm layer height, and 20% infill. Printed in Add:North Glitz sapphire PLA. Printed with support

The tower:

This is printed using 0.2 mm layer height, 20% infill, white PLA, and with no supports.

Step 3: Upload Code to the Microcontroller

This lamp uses WLED as firmware.

I started with uploading the WLED firmware to the microcontroller, to check if it was connecting to the Wi-Fi correctly, and working as expected.

I tried both the WLED Online installer and the ESPHome Flasher, and found the ESPHome flasher to work the most reliable.

The installing process is already well documented on the WLED site, so I won't go through it in this instructables.


You can find the instructions here: https://kno.wled.ge/basics/install-binary/

Step 4: Mount the Power Connector

First, solder wires to the power connector. In my case, the shorter pin of the DC Jack was positive, and the longer pin was negative, but I recommend connecting it to your power supply and measure the voltage before soldering.

The hole for the power connector has printed threads, so you can just remove the nut and screw the power connector right into the base. You might need to use some pliers to grip the connector to screw it in all the way.


Step 5: Mount the Microcontroller

The print has slots for the pins of the microcontroller, so you can simply just press it into the slot. The slot is made to fit a number of different microcontrollers, including NodeMCU.

Step 6: Glue the Neopixel Tower

I used a neopixel (WS2812B) grid, that I glued and wrapped onto the printed tower. You can also use a WS2812B LED strip, and glue it in a spiral around the tower.

You will also need to glue the thread ring onto the lamp shade. I used some two part epoxy, but you could also just use hot glue.

Step 7: Modify the Touch Sensor

The touch sensor I used is a TTP223 capacitive sensor. It uses three pins, VCC, GND and I/O.

VCC connects to 3.3V, GND to GND, and the I/O to one of the digital pinouts of the microcontroller.

But before you can do that, you will need to set it to the correct configuration. This is done by soldering some bridging jumper pads on the PCB.


There are 2 pairs of pads, A and B. By soldering a combination of these pads, you can set it to 4 different configurations:

(More information)

Config 1:

  • To obtain configuration one, both A and B terminals should be in open position.
  • Default output state will be LOW
  • Changes the state (to HIGH) when a touch is detected and will be back to the default state when touch is released

Config 2:

  • To obtain configuration two, A should be open and B should be closed position.
  • Default output state will be LOW
  • Changes the state when a touch is detected and remains on that state until another touch is detected.

Config 3:

  • To obtain configuration three, A should be closed and B should be in open position.
  • Default output state will be HIGH
  • Changes the state (to LOW) when a touch is detected and will be back to the default state when touch is released

Config 4:

  • To obtain configuration four, both A and B terminals should be closed position.
  • Default output state will be HIGH
  • Changes the state when a touch is detected and remains on that state until another touch is detected.


In this lamp, we will be using config 3, meaning we will need to bridge the A pads.

You can now solder on wires, but remember to make them long enough with a bit of slack on the end. That would make it easier to assemble later.

After that, you can glue it to the inside of the lamp shade, in the middle of the

Step 8: Solder Wires to the Microcontroller

PS: Remember to guide the wires for the touch sensor and the LEDs through the LED Tower before soldering!

Solder the wires according to the schematic. I just soldered all the wires right to the pins on top of the microcontroller, but you can also solder the 5V and GND to the power plug. That would be easier to manage.


Step 9: Final Assembly

After everything is wired, you can assemble it completely.

Start by using the four M3 screws to secure the tower to the base. Once this is done, you can carefully screw the lamp shade onto the base. Be sure that every thread matches before screwing it completely on.

Step 10: Customize Firmware

Once everything has been assembled, you can power the lamp on, and connect to the lamp via Wi-Fi on your phone or computer. It will create an Access Point that you can connect to.

Connect to the WLED-AP network using the password wled1234.

When connected, you will need to set up the controller. You will need to choose which Wi-Fi you want to connect to, and when that is done, you can head into the settings panel.

Here, you will find the LED Settings. If you are using the LED panel, the LED count must be set to 256. If you are using the LED Strip, you will have to count the number of LEDs on the strip.


For setting up the button, you need to go into the macro page in the settings, and set the values to the same as in the picture.

Then you can turn the lamp on and off with a long press, and toggle the effects with a single click.

Step 11: Done!

Congrats!

You are now done with the lamp!


Hope you liked the tutorial:)

Any questions?

Ask in the Discord Channel, or send me a message:)


Follow me on Instagram for updates on upcoming projects:)

Instagram: https://www.instagram.com/ananordss/

Join my Discord channel: https://discord.gg/2ESzkpG4ES

Contact me: Andreas@ananords.com

••• Support me •••

Patreon: https://www.patreon.com/ananords

Donations: https://ananords.com/products/donation/

Buy me a coffee: https://ananords.com/products/donation/

Make it Glow Contest

Participated in the
Make it Glow Contest