Introduction: DIY Wireless RGB Photography Light Stick [ESP8266]

About: I am an electronics enthusiast... I post frequent updates on my projects at my instagram page @hyper_makes.

Hello fellow makers!

In this instructable I will show you how you can make your own DIY Wireless Photography Light Stick which will help you in photography in many ways. Whether it be "Light Painting" or setting up basic colorful ambient background for your studio.

This is a detailed instructable so you can take your time 😄

You can check out the above video for detailed guide on how to do all steps.

You can follow my Instagram page @hyper_makes for frequent updates on the projects I do.

Supplies

Hardware:

  • Perforated PCB
  • 10W LED Batten Light
  • NodeMCU v1.0(ESP-12E)
  • WS2812B Neopixel LED Strip
  • USB Micro B female breakout
  • 3-pin right angled male header
  • Thin enameled copper wire
  • USB A to USB Micro B cable
  • Small Portable Powerbank ( At least max. 1A output)

Software:

  • ESP Home Flasher tool

Tools:

  • Soldering iron
  • Solder wire
  • Wire Clipper
  • Cable zipties
  • Hot glue gun
  • Electric drill
  • Permanent marker
  • Hobby knife

Step 1: Prepare the LED Batten and Neopixel LED Strip

First, take your LED batten and disassemble it.

WARNING!!!

If you had tested the LED batten before buying, then the capacitors in the controller circuit may still hold charge and shock you! YOU HAVE BEEN WARNED.

Normally, it consists of two end caps, LED controller circuit( Be careful the capacitors may still hold charge and shock you).

Keep aside the controller circuit as we don't need it anymore.(You may need it in any future project)

Now take the Neopixel LED strip and cut it to the size of the stock LED strip and count down the number of leds in the Neopixel strip. We need that number in programming the software for it.

Prepare the end caps by cutting a small hole or rectangular outlet on one of the end caps, so that it can be used for passing the wires for Neopixel strip outside the batten.

Finally, Use your hot glue gun and add a dab of hot glue at both the ends of the strip for secure mount.

Step 2: Place Your Components on Perf. PCB

First, take your perforated PCB and start placing the components on it. Start with NodeMCU first then USB Micro breakout, and then the 3-pin male header. This way you will be able to achieve the smallest form factor.

If your PCB is a little big like in my case, then we need to cut it to desired size.

Take a permanent marker(or any marker) and mark the side which we need to cut. Remember to mark on both the sides of PCB or you may break it while snapping in next step.

Now scour both sides by using the blunt side of your knife(not sharp side).

After scouring a line on both sides, take a straight edge and snap the PCB in two pieces.

See the attached pictures for better understanding.

Step 3: Prepare USB Micro Breakout Board

The USB micro breakout board comes with it's own male header pins.

So, prepare and heat your soldering iron and start soldering the pins to breakout board.

We are going to use only the VCC and GND pins of the breakout but still we need to solder all pins, as it will provide more mechanical strength to the USB port. As it will be prone to repeated stress when pugging in and out.


Step 4: Wiring Schematic and Final Connections

Follow the wiring schematic provided in this step and do all the wiring connections accordingly.

I recommend using flux core solder wire as it results in better clean solder joints.

I have used thin enameled copper wire for all the connections. It is my personal preference as it keeps the project wiring clean.

Step 5: Mounting the Controller on LED Batten

You can use any method to mount your controller to the batten.

This is my method.

Take your electric drill and a 2mm drill bit(drill bit size as required) and drill on both sides according to the length of the PCB.

Then, take your zipties and push them through the holes in PCB. Do it for both holes.

After that push the zipties through the holes in LED batten and lock & tighten them in place.(Check the orientation of controller before tightening them.)

Step 6: Finishing the LED Batten

Finish the construction of LED Batten by clipping off the extra length of the zipties and adding end caps on the batten.

Step 7: WLED: Open Source Wireless LED Controller Software

WLED Github Page

WLED is a fast and feature-rich implementation of an ESP8266/ESP32 webserver to control NeoPixel (WS2812B, WS2811, SK6812) LEDs or also SPI based chipsets like the WS2801 and APA102!

Features:

  • WS2812FX library integrated for over 100 special effects
  • FastLED noise effects and 50 palettes
  • Modern UI with color, effect and segment controls
  • Segments to set different effects and colors to parts of the LEDs
  • Settings page - configuration over network
  • Access Point and station mode - automatic failsafe AP
  • Up to 10 LED outputs per instance
  • Support for RGBW strips
  • Up to 250 user presets to save and load colors/effects easily, supports cycling through them.
  • Presets can be used to automatically execute API calls
  • Nightlight function (gradually dims down)
  • Full OTA software updatability (HTTP + ArduinoOTA), password protectable
  • Configurable analog clock + support for the Cronixie kit by Diamex
  • Configurable Auto Brightness limit for safer operation
  • Filesystem-based config for easier backup of presets and settings

Supported light control interfaces:

  • WLED app for Android and iOS
  • JSON and HTTP request APIs
  • MQTT
  • Blynk IoT
  • E1.31, Art-Net, DDP and TPM2.net
  • Hyperion
  • UDP realtime
  • Alexa voice control (including dimming and color)
  • Sync to Philips hue lights
  • Adalight (PC ambilight via serial) and TPM2
  • Sync color of multiple WLED devices (UDP notifier)
  • Infrared remotes (24-key RGB, receiver required)
  • Simple timers/schedules (time from NTP, timezones/DST supported)

** All image credits goes to WLED Github page**

Step 8: Flashing WLED on Your ESP8266

  • Driver Installation:

First, connect your NodeMCU to your computer using your USB A to USB Micro B cable.

Then, go to your device manager(START-> Search "Device Manager") and check for your COM port.

If there is no COM port then you need to install the proper driver for your microcontroller.

"I will not explain here on how to install drivers for your microcontroller. You can search on internet for the procedure."

  • Download Binary(.bin) file:

Download the latest binary file from the Github page or link provided here: WLED Binary file.

  • Download ESP Home Flasher Tool:

Download the latest executable file from the Github page or link provided here: ESP Home Flasher Tool.

  • Flashing the firmware:

Open your "ESP-HomeFlasher.exe" file and select your COM port. If not available press the refresh button. Then click on the browse button and select the ".bin" file.

Then, click on "Flash ESP" button to flash the firmware and wait for it's completion.

After completion just close the ESP-HomeFlasher tool but do not disconnect the NodeMCU from the computer.

**SEE ATTACHED PICTURES FOR BETTER UNDERSTANDING**

Step 9: Connecting and Setting Up WLED

  • Power up:

If you are connected to the computer USB port then skip this step.

Power the Controller we made through a regular phone charger or portable power bank(suggested) using a USB cable.

  • Connecting to WLED:

Turn on your device's WIFI and search for available networks.

Select "WLED_AP" from the available networks.

Open your web browser and type the following address in address bar: 4.3.2.1 and click enter.

The welcome page of WLED should load and you will be presented with two option buttons. We need not set up the local wifi settings as we will use it in AP mode.(But you can set it up, if you are going to use for just ambient lighting)

Click on "TO THE CONTROLS" button and it should take you to the controls of the Light stick.

  • Setting up WLED:

Then you can browse through different colors and effects from the respective "Colors" and "Effects" tab.

Config tab

By default the "Total LED count" in "LED PREFERENCES" under "Config tab" is set to 30. but for my case I had to set to 36.

There are several settings menu under the Config tab which can used to configure WLED. For more info visit the WLED Wiki page here: WLED Wiki Page

Step 10: Results and Conclusion

I have shown here some of our takes on doing Light painting photography and we are still learning. A professional photographer will be able to put this amazing lightstick to it's full use and advantages. You can also use this lightstick for ambient lighting while gaming, streaming or anything you can think of 😄.

Hope you liked this project and learnt something useful from this instructable.

Stay safe and wear masks.

Colors of the Rainbow Contest

Participated in the
Colors of the Rainbow Contest