Overview
Make a jellyfish umbrella with animated lights, with no coding required. It looks beautiful in the evening! Make your jellyfish dance and flow with lights, tentacles, and iridescence.
This is an intermediate project that gives you advanced results. The software is simple to load and use. Hundreds of animations and color combinations are available right through your fingertips, using any web browser or the free WLED app on your phone.
The trickiest part of this tutorial is the wiring. There are a lot of connections to make and some challenging soldering to do, but the rest of the build is fairly easy.
This project would make a great camp "totem" for festivals, or a wonderful costume if it's built onto an umbrella hat. It's also easy to synch two or more jellyfish together over WiFi using WLED.
Battery Power
There are a lot of options for powering your jellyfish. If you're making this for a kid or planning to use it in the rain, your best option is this AAA battery pack. It has its own on/off switch, and it's easy to find replacement batteries wherever you roam.
If you're looking for a longer-lasting rechargeable solution and you know how to be careful with things, consider this Lithium Ion Polymer battery. This project can suck batteries dry fairly quickly, so a big beefy rechargeable battery will save you money and be greener in the long run. If you go this route, you'll also need an on/off switch and a battery charger.
Whatever type of power you use, you'll need a battery connector. It never hurts to pick up some heat shrink as well.
Testing Hardware
During the build of this project, I found it invaluable to have a Circuit Playground Express board with some alligator clips for testing the LED strips. The particular LED strips used in this project are not marked in any way, so testing the directionality is essential before soldering. The Circuit Playground Express makes this really easy to do. It's a great board to have on-hand for prototyping all kinds of projects.
Additional Materials
- An Umbrella: I used this iridescent vinyl one from Amazon
- Tentacle fabric, ribbons, tubular crin, ruffles, etc
- Industrial Velcro for securing electronics and batteries
- E6000 glue
Tools
- Soldering iron & accessories
- Wire cutters & strippers
- Heat gun for the heat shrink
Page last edited November 20, 2024
Text editor powered by tinymce.
WLED Software
Board Choices
WLED runs on several different boards in Adafruit's collection. There are different benefits to each, but the installation process is largely the same. This page contains instructions for multiple boards -- be sure to use the pinouts and installation instructions for the one you're using,
Sparkle Motion
This is our flagship ESP32 board, designed with WLED and Xlights in mind. It has 4 outputs and is set up to drive either 5v, 12v or 24v pixels. It's a workhorse of a board and for larger projects it's the clear winner. It has an onboard microphone for instant sound-reactive support, and an IR sensor built in, to make it easy to control your project with an infrared remote. It also has a couple stemma ports so you can add your own sensors or peripherals.
Sparkle Motion Mini
The Sparkle Motion Mini is a smaller version of the Sparkle Motion board. It has two LED outputs, a microphone, and two stemma ports that make it easy to add an IR sensor or other peripherals. It's got an onboard NeoPixel and a small footprint, making it perfect for wearables or smaller projects. It will power a whole lot of pixels through the onboard USB port: it's safe to draw up to 4A through this port, giving you plenty of power for most wearable projects.
QT Py Pico ESP32
The QT Py Pico is small and affordable, so usually my go-to for smaller costumes or wearables. It also has a range of BFF add-on boards that add functionality. Here's a guide with more QT Py info. The QT Py will drive up to around 30 pixels through the onboard USB port, so if you have more LEDs than that you may want to consider the Sparkle Motion Mini instead, or you can power the board through the +5v pin.
Note: WLED works on the QT Py Pico but NOT on the S2 or S3 versions, at the time of writing.
Feather Huzzah ESP32
The Feather Huzzah ESP32 the top of the line. It's a great choice for projects where you want to add sensors, interaction, or drive a whole lot of LEDs. It's the most reliable as well -- I've run these for two months straight with no power cycling and they just keep on truckin. Adafruit has a very wide selection of Feather Wing boards that connect to the Feather microcontroller line. The sky is the limit with these boards.
It also comes in a version with a high-powered WiFi range extender! If you're trying to sync multiple instances across distance, check this one out. Feather Huzzah ESP32 V2 w.FL Antenna
Feather Huzzah ESP8266
The Feather Huzzah ESP8266 will run WLED as well, but won't drive as many pixels: the ESP32 limit on WLED is around 1000 pixels per input, but the ESP8266 tops out at around 500. It's about $5 cheaper though, so for smaller projects it's a great way to save a little money and still have access to all the Featherwing options in the Adafruit store.
Driver Update
Some versions of our controllers have a new serial chip which needs a driver installed before we can install WLED. Head over to our How to Install Drivers for WCH USB to Serial Chips tutorial, and download and install the new driver.
If you have an older QT Py with CP2102 USB-to-Serial bridge, use SiLabs’ driver instead.
Install WLED
These next steps require a Web Serial-compatible browser. As of this writing, that means Google Chrome, Microsoft Edge or Opera ,or Firefox “desktop” browsers. Other browsers (Safari, Explorer and anything mobile) won’t work.
Visit https://install.wled.me/
Plug your microcontroller into your computer with a known good USB cable. Click "Install" and select the port for your board.
Depending on the USB-to-serial bridge chip on the board, you might see one or two serial ports. On Mac, for instance, there might be both “/dev/cu.usbmodem[number]” and “/dev/cu.wchusbserial[number]”. Use the “wchusbserial” one.
After successful installation, enter your WiFi network name and password when prompted. This must be a 2.4 GHz WiFi network; ESP32 does not support 5 GHz networks. If it can’t connect, then as a fallback WLED will create its own 2.4 GHz WiFi access point.
If you don't see the "Connect to Wi-Fi" prompt, you'll need to set up your WiFi network using AP (access point) mode. Open up your WiFi settings and look for a WiFi network called WLED-AP. (Note, this access point can take up to 30 seconds to appear sometimes.) Connect to this network using the default password wled1234. The WLED interface will pop up in its own captive browser window.
From here, go into Config/Wifi Settings and enter your WiFi credentials for the access point you normally use near the top.
Give your project a name in the mDNS field a little further down the page. Now you can type in "projectname.local" (where "projectname" is your mDNS name) into any web browser on the same wifi network to access your microcontroller.
You can also scan the QR code below to open access point mode.
For more help and troubleshooting tips visit the Getting Started page on the WLED knowledge base.
WiFi Setup
Head to the WiFi Setup screen under Config and create a good URL so you can control your project from any web-enabled device. Call it something you'll remember, that's easy to type into any web browser on your WiFi network in order to connect to your project.
In Safari or Chrome on your phone or computer, type in this web address to access the WLED interface: http://projectname.local (where "projectname" is whatever you put into this field).
Check out the Additional Settings page for more info on accessing your project. WLED has an "access point mode" that doesn't require a WiFi network for when you're out on the go. It's also helpful to download one of the WLED apps to help manage and organize your projects.
LED Preferences
Next, head to the LED Preferences tab under the Config menu.
Scroll down to Hardware Setup. Put your total number of LEDs into the "Length" field, and change GPIO to the pin number associated with the pin you soldered to. Check the pinout diagram for the board you're using (it's the number in yellow).
Now you can use any computer or handheld device to control your LEDs.
Make sure your device is on the same WiFi network as your board. Navigate to your custom URL (projectname.local/ ) in a web browser. You'll see a color picker above a whole bunch of color palette choices.
Choose a color, choose an effect, and watch your lights animate and glow!
Save your favorite combinations as presets, create playlists, control the speed and intensity of the animations, and lots more. This web app is incredibly intuitive and easy to use.
Head over to the WLED wiki at https://kno.wled.ge/ to delve into all the particulars.
Page last edited November 20, 2024
Text editor powered by tinymce.
WLED Additional Settings
WLED automatically limits the brightness of your project so your power supply doesn't get over-taxed. The default amperage is 850mA, which is a little low for most power supplies.
For some projects, especially battery-powered projects, having the limiter turned on is a good idea. But if you're not getting the brightness you expect, try adjusting this number to match the amperage of your power supply or battery pack.
Access Point (AP) Mode
While you're home, it's easy to control your project over your local WiFi network. But when you're out at a festival you probably don't have WiFi access. It's still possible to connect to your project and control it using WLED's Access Point Mode.
Turn your project on and give it a minute or two to start broadcasting. Look in your WiFi networks and find WLED-AP - this is a mini WiFi network being broadcast by the microcontroller. Connect to it - the default password is "wled123". An instance of WLED will automatically pop up and you can control your project from anywhere.
If you're putting your lights up in public, it's a good idea to change the AP Mode default password so strangers can't log in and control your lights. This could be a security risk.
AP Mode only broadcasts for a few minutes after you boot up the board so if you don't see the WLED-AP network try rebooting.
There are a couple different apps available to manage your WLED projects. Name and organize your projects, and find them quickly without having to type in a URL. Check the Apple or Android store for downloads.
My favorite is "WLED Native". It allows you to organize multiple instances and easily switch between devices without having to remember any URLs.
Under Config / Security & Updates you will find a place to back up your data. It's a good idea to back up your config file as soon as you're happy with the settings. Save it as a .json file on your computer. Now you can prototype and experiment to your heart's content, and if everything breaks, just re-upload this file. Or, if you're doing another build you can use this feature to copy all your settings from one board to another.
Page last edited November 20, 2024
Text editor powered by tinymce.
Wiring Diagram
The four LED strips on the top of the jellyfish will all be wired in parallel, with data wire going to pin A0. The two light strips inside the tentacles will be wired in parallel to pin A1.
The power and ground wires from all 6 strips will connect together before connecting to the on/off switch and battery, and from there to the QT Py (power to 5v and ground to G).
With this configuration, all 4 of the top lights will mirror each other, acting as if they're the same strip. The same will happen to the bottom 2 lights. WLED will automatically chain the two data pins, so the animation will run down the top of the umbrella and then continue down the tentacles.
Page last edited November 20, 2024
Text editor powered by tinymce.
Wiring
Grab your on/off switch and JST connector. Cut the red wire in half. Trim the switch leads a bit, if desired, and solder one side of the red wire to each leg of the switch. It doesn't matter which leg goes to which side. Heat-shrink tubing over the connections prevents electrical shorts…remember to slide this on the wire before soldering.
Cut the female connector off the end of one of your LED strands. Hook up the three wires to your tester. On my strands, the left most wire (with the resin bump on the LEDs facing you) is power, the middle wire is ground, and the one on the right is data.
It's very important to test these and make sure you have the connections right. These strips are not marked in any way, and we've gotten inconsistent wiring with different lots, so testing is essential. If you can't get the lights to come on, play around with different configurations or try connecting data to the other end.
Here is a guide showing how to set up your Circuit Playground Express as a tester using MakeCode.
Once you've established your wiring, it's a good idea to mark the wires with some heat shrink or tape so you keep them straight.
Strip a generous 1/4" of shielding from each wire. Do the same with your second strip and twist the wires together: power to power, ground to ground, and data to data.
Hook both wires back up to your tester and make sure they're both working.
Make two more twisted pairs of strands with your remaining four LED strips. Cut four short wires for the next connection: red for power, black for ground, and two colored data wires.
We're going for a set of two strands and a set of four strands. The two-strand set will become the tentacle lights, and the four strand set will become the lights on the top of the jellyfish.
Twist two of your twisted pairs together to form a quad. Solder a red, black, and colored wire to the power, ground, and data clusters. Cover the connections with heat shrink.
Do the same with the remaining twisted pair.
Let's keep consolidating wires! Twist the power and ground wires from your pair and your quad together and solder on another single red and black wire.
Leave the data wires separate.
Twist another short red wire and black wire onto the JST connector and power switch as shown. Solder the switch's red and black wires to the LED strand cluster's power and ground wires.
You should be left with a whole mess of wires that are soldered together, and four wires left unconnected: a power wire, a ground wire, and two data wires.
Finally, we'll wire up the QT Py. Red goes to 5v, black goes to G, the quad data wire goes to A0 and the pair data wire goes to A1.
If desired, trim the connectors off the other ends of the strips. You can seal them up with some heat shrink to keep them safe from moisture or shorting.
Or, you can plug in another strip to each one and make very long jellyfish tentacles! It's easy to add more lights with these strips. Just remember to change the strip length in your Config page on WLED.
Page last edited November 20, 2024
Text editor powered by tinymce.
Jellyfish Build
I added some industrial velcro around the post at the top of the umbrella and also stuck some to my battery. This will hold the battery in place so it doesn't flop around, but makes it easy to pull out for charging.
I placed the four quad strips right at the top center and wound them around every other spoke on the umbrella, and let them dangle off the ends.
Now it's time to decorate. I used E6000 glue to glue a strip of sequin fabric around the perimeter of the umbrella. I used a lot of strips of fabric, ribbons, and spiral-cut organza in the center of my umbrella.
For the top, I cut a large circle of organza and finished the edge on my serger. I draped it over the top of the umbrella and sewed it to the posts at the ends. I used some FrayCheck to keep it from unraveling around the holes.
I sewed tentacles to the four corners that have dangling lights. I used two strips of fabric and stitched the lights inside, so they're a bit diffused and also protected from the elements.
I added tentacles on the other four umbrella points (the ones without lights) as well. More is more, here. It's great to add different types of fabrics and textures. Ruffles work great.
- Large tentacles: sparkly iridescent sequin fabric
- Small tentacles: silver tubular crin
Page last edited November 20, 2024
Text editor powered by tinymce.
Use It
Head to umbrella.local in your web browser on your computer or your phone.
We have two different light strands soldered to two different pins. By default, the tentacle lights act like an extension of the top lights. WLED treats the two pins like one continuous strand with 40 lights. You also have the option to treat them as two separate segments and run different animations on the two areas. If you want to do this, click “add segment” and create a separate segment for the tentacle lights. There’s a lot of documentation on how this works but it’s pretty user-friendly so play around with it and see what configurations you like.
Choose an effect and a color palette and watch your lights change. When you find a setting you like, you can save it as a preset.
Then, you can string all your presets together into a playlist. You have control over the order of presets, the length of time they play and the transition time.
Since I’m taking this out to a festival where there won’t be WiFi control, I’m going to set up my playlist to start automatically when I turn it on. Take note of the number assigned to your playlist. Click config and LED preferences and scroll down to Defaults. You can tell it which preset or playlist you’d like to start with by entering its number here. Now your project will still run your animations when you’re not near a WiFi controller.
Page last edited November 20, 2024
Text editor powered by tinymce.