Introduction: How to Make a Lightning Cloud

I really wanted to make a little cloud that would light up as though it was filled with lightning. After googling a bit, I stumbled upon "The Cloud" by Richard Clarkson. It's a beautifully executed concept and I wanted to see if I could make one too. There are lotsofexamples of "cloud lamps." What I like about mine is I built the shape of the cloud completely from scratch, so I wasn't left with a mostly round cloud (a common problem). I'm also really proud of the lightning animation I created.

This is the first of three steps. The second part of this project will be adding bluetooth control, so I can trigger weather patterns in the cloud via my phone. The third part will be automatically triggering weather patterns according to the day's weather report. I want an easy-to-use, "glanceable," aesthetically appealing weather indicator for my apartment. Plus I've heard cloud computing is the hot new thing.... :)

Stay tuned for those future Instructables!

Step 1: Gather Materials

1. Cardboard

2. Cotton balls

3. Polyester batting, 3/4" thick. It's easiest to pick out batting by going to a fabric store in person to find the right kind. You want batting that's about an inch thick. Something like this, but I'd need to see it in person to know if it was the right thickness. If you go to a fabric store, they'll let you cut a smaller amount. It should be about $6.99 per yard. I used about 2 square feet.

4. Boning (like the kind used for corsets). I used a yard and could have found use for more.

5. Needle and thread

6. Hot glue gun

7. Adafruit Neopixel LEDs. I used these "Breadboard friendly" ones. You can also buy them in packs of 4.

8. Wire

9. Soldering iron

10. Microcontroller (I used an Adafruit Pro Trinket with the little battery backpack soldered on)

11. Sewing pins

Step 2: Build Cloud Structure

Using a piece of cardboard for the base, glue the boning to make the basic outline of your cloud. You can make hoops with the boning - I found it was easiest to sew the two ends of the boning together, and then glue the hoop directly onto the cardboard. I also tried leaving one piece of boning pointing out into the air like ribs. Both methods worked fine.

Rip your 3/4" batting in half, and hot glue it to the boning and the cardboard in tasteful, cloud-like folds. At some points, it will be easier to gently sew the batting to the boning to keep it in place. Keep in mind how many lumps you want your cloud to have, and the overall structure. You can augment later with cotton balls, but this part will define the overall shape of your cloud.

Be sure to leave a little door in half of the cloud, where you'll place the electronics. Make the part of the batting that will become the door a little thicker than you might otherwise. It's nice to have the extra support.

Step 3: Add Fluff Texture

Gently pull apart your cottonballs. I pulled apart about 30 while my hot glue gun was heating up. The cottonballs themselves have a bit of a circular structure to them, and if you tear them apart carefully you'll preserve some of those whorls, which looks really cool later when the light shines through. You can also unroll cottonballs so they'll make longer, stringier clouds if you want.

Drip hot glue directly onto the outside of the batting, and gently pat your cottonballs into place. You don't need to completely cover the batting. Since the batting is white and a little fluffy, if some is showing that's ok. I preferred to vary the amount of cottonballs I was using so the cloud would be differing densities - it's nice if the light can shine through more in some places and less in others.

Step 4: Add Electronics

First, you'll need to solder your LEDs into a long strand. I usually
take the easiest route of soldering male-male jumper cables directly to the Neopixels. The wires are flexible, the connections are solid, and it's super fast and easy. No need to strip any wires! Test your connections as you go, so you can quickly fix any issues. The basic circuit for this project is very simple. I'm building mine on a breadboard for now, but for a more permanent project, you'll probably want to solder things together directly, or maybe use a little proto board. With only 5 LEDs, you probably don't need a capacitor, but I always throw one in anyway to be safe. The polarity of a capacitor matters. That means you need to plug it in correctly for it to work. There are several ways to recognize the polarity of your capacitor.

  • Look at the legs
    • Most capacitors will have legs with different lengths. The short leg is the negative side.
  • Look for a stripe or an arrow.
    • Most capacitors will have a light stripe down one side. That's the negative side of the capacitor

The negative side should be connected to GND. The other side attaches to PWR.

Connect power, ground, and signal from your microcontroller to your LED strand:

Arduino -------> Neopixel strand pin

#4 -------> Data Input pin

BAT+ --------> VIN

GND ---------> GND

As always, if you are new to soldering, I highly recommend Adafruit's Guide to Excellent Soldering.

Step 5: Upload the Code

Getting accurate lightning animation was super important to me for this project. I played around with lots of ideas before going with hand-picked data points and a simple moving average smoothing algorithm. I'm pretty excited about how it turned out!

You might need to update these two variables to match your setup:

You can also change these variables to make lightning strikes more or less likely:

Step 6: Put Everything Together

You can try different placements of the LEDs inside the cloud. I ended up adding some cardboard pieces on the inside, because I wanted some parts of the cloud to be a bit darker than other parts. I also left the animation playing for a while, and glued on a few more cottonballs wherever it felt right.

I wanted to be able to access the microcontroller, so I just temporarily hold the door closed with a pin through several layers of batting.


TimothyO15 made it! (author)2017-08-12

My daughter loves her lightning cloud. Thank you for the code and directions!

molecule13 (author)TimothyO152017-08-13

Thanks for sharing your cloud! So happy to see :)

Snoogans79 (author)2016-07-22

Awesome lamp! I made it successfully as my first ever electronics project. I used a UNO and it all went very smoothly. Your code was so user friendly and I didn't have one issue. However......when my lamp is powered off computer usb it works brilliantly. I bought a mobile power bank to use as a power source for the lamp rather than the battery pack, and it does power the lamp but for only a few minutes before it seems to switch itself off!? I've checked over the power bank and can't see why it's doing it. Any ideas? The power bank is - 2600mAh 5V DC 1.2A output. Sorry, real novice here.........thanks!

molecule13 (author)Snoogans792016-07-24

Hi! Glad to hear you had a good time and the code was user friendly.

For the power issue...the fact that it's switching itself off sounds almost like a safety mechanism...are you shorting the power somehow? You'd need to post some pictures or a wiring diagram (or both) to get more help, though.

Snoogans79 made it! (author)molecule132016-07-26

Thanks for responding. You'll see my photos so hopefully that will show what I have done! Apologies for not really knowing how to do a wiring diagram (yet?)! I have since purchased a power adaptor for the arduino and it has been running fine! I am running 4 LEDs from the board to clarify. Without knowing for certain ( which I don't) my concern was exactly what you suggested, that I was somehow shorting the board out. I checked all my connections and couldn't find a problem and so tried the power adaptor and all seems fine. I do wonder if there can be an intermittent supply drop from the usb external battery? I'm really just guessing though! And that could have been enough to stop powering the unit? Anyway, take a look and let me know you're thoughts! Many many thanks for your time and input!

molecule13 (author)Snoogans792017-01-04

Sorry this response is so late! I just now found out that Instructables doesn't seem to email you about every comment, so I didn't realize a lot of these were here until just today.

Anyway, in your picture I can't see where the red, green, or yellow wires are going. I'm suspicious that the green and yellow in particular are not hooked up correctly. I'm also very concerned that you don't seem to have any wire connected to ground. Can you post a picture with the entire circuit visible? (Or maybe by now you've moved on, which would be understandable :) ).

Snoogans79 (author)molecule132017-01-05

Wow! Thanks for replying after such a long time. I have moved on but only after I sorted the power issues I was having and put the cloud into a mains adaptor! I think the power bank I had was faulty which led me down a dark path for a while! Pardon the pun. I love my cloud though and all credit to you for your amazing posts. It was very straight forward so thank you very much. I'm still a novice but certainly a lot more confident in trying things out now!


Just something I've noticed:

Many USB power banks shut off if the draw is too low after a minute or two. Put a phone or something else on the bank and see if it stays on.

I can almost guarentee that the cloud is drawing so little current that the power supply is switching off because the load detector isn't tripping.

jadedraven (author)2015-12-10

Have you made any headway on your goal of adding a speaker or "weather for the day"? This is amazing on it's own, but I'm imagining a thunderstorm at night for an hour or two, then a "weather cloud" greeting me in the morning and changing throughout the day.

Hoping to order the parts on Adafruit today for a Christmas present.

molecule13 (author)jadedraven2015-12-12

Yes I have! I expect the final instructions for the "weather cloud" will be up by next weekend for sure. One change is if you want to control the lightning cloud over WiFi, you'll want to use something called the Particle Photon. It's a very easy to use board, and would replace both the Pro Trinket and the Bluefruit modules. (Initially I was thinking I'd need the Bluetooth in place to talk to the Arduino board, but with the Particle Photon everything is combined into one convenient place. Even if you decide you don't want to hook up your lightning cloud to the Internet, you can control it via the Photon just as easily. Here's where to order it one, and I'll post versions of the code that work on the Photon soon:

kcyree (author)molecule132017-01-03

I am also interested in the weather cloud idea and about to build a massive (70+ cubic feet) lightning cloud. Since it's being installed in a dark hallway roof, it'd be nifty if I could perform effects aside from lightning. Did you make any further progress toward this, or do you need any help?


Do you have the"Weather Cloud" instructions up yet? This is awesome!


Id love to try this out as well!!!... till then Ill be ironing out my issues with no lights flickering yet =/

Kingkeener (author)2016-12-23

Dumb Question: If you used an Arduino Uno to display the lightning effects in the video, how did you transfer the code to the Pro Trinket?

molecule13 (author)Kingkeener2016-12-24

In the video of the cloud, I was using a Pro Trinket!

Also, it's not a dumb question but I'm not sure I totally understand it well enough to give a good answer. Here are some guesses about what you mean, and answers:

Do you mean why does the code work on both? Many different Arduino board are compatible, meaning the same code will work on different boards. In some cases you need to change pins, or remove functionality that isn't there, or shrink the size of the sketch for a smaller board, but for the most part the same code will work everywhere. That's the case here: this code will work without changes on both the Pro Trinket and the Uno.

Do you mean literally how do I transfer it? The code lives on the computer, so to put it onto a Pro Trinket, I just plug the pro trinket into the computer and hit "upload".

Feel free to ask follow-ups if I didn't understand your question the first time!

Freakydna (author)2016-08-20

Hi, have a problem and cant open die .ino from u...

By others have never a problem .u know what is it ?

Want use a Arduino Uno.

best regards

Freakydna (author)Freakydna2016-08-20

He have a Problem by launch4j ???

Akin Yildiz made it! (author)2016-07-24

fun stuff

trazzman (author)2016-06-19

Im going to watch this. Awesome decor with one caveat, how will you clean it or keep dust from accumulating in it? I

pnwsteve made it! (author)2016-04-08

I just built it, only using 3 leds so have to see if 5 makes a diff, really cool and thanks. Starting to play with the code, I want to add a clap on/clap off for it so I can hang it without a switch. Just starting to play with the code, now I need a new soldering iron and articulated clamp since this introduced me to the Adafruit board. I want to experiment with adding some black spray paint to the bottom to look like a rain cloud, maybe powdered paint and hairspray well will post up pics when it's done.

Also added a switch

molecule13 (author)pnwsteve2016-06-14

Love it! Fun idea with the black spray paint. Thanks for sharing your cloud!

Danielm2998 (author)2016-06-07

Just ordered the necessary electronics for the project and i have high hopes for the outcome. I will need some help with the coding as i have only built small electronics from kits such as radios and the electronics of a guitar. I will be posting soon once i get my electronics and i would love some help and feedback. The cloud looks great by the way. I can only hope to get close to that.

molecule13 (author)Danielm29982016-06-14

Will be happy to help! Look forward to seeing your finished product :)

digitalmonkeyman (author)2016-01-28

Please post an 'ible with a photon board and sound!

I know I'm a little pain, but I want to make this for my daughter's birthday in early March! And not being a programmer, I need step by step! :)


Haha it's not that I don't want to! It's that it turns out parsing the json is a much bigger mess than I thought, and I may need to separate out certain parts of the code into another script, which is a whole different topic I need some time to look into! Also as of right now it won't have sound, because I don't have access to speakers.

ElizabethZimmer (author)2016-01-17

I love this for a weather unit I am teaching. Do you have any suggestions as to how I can do the necessary attaching but without soldering (they are elementary aged and I've never done it before :))? Thank you!

fredthejedi (author)2015-12-18

Very cool project!

Im new to electronics and programming and all of this is super overwhelming but I'm hanging in there.
I need your help though (sorry if this is super basic)
I've downloaded the arduino side and have configured the pro trinket 3v board option.

What programmer do I use?
Do I simply copy and past the code and hit upload?
When I click verify it gives me this error: "Documents/Arduino/Test1/Test1.ino:1:31: fatal error: Adafruit_NeoPixel.h: No such file or directory

#include <Adafruit_NeoPixel.h>


compilation terminated.

exit status 1

Error compiling."

Thanks for your help:)

molecule13 (author)fredthejedi2015-12-19

Ah! I know exactly what that error is. You need to download an install the Adafruit Neopixel library for your IDE to be able to compile the code. Here's a really good description of what to do:

If you're using the Pro Trinket, you'll use the USBTiny programmer. Here's some helpful info about using Pro Trinkets:

Yes - once you've installed the Neopixel library, you'll just copy and paste the code from my github into the IDE and you should be able to upload it from there. Keep in mind that the Pro Trinket must be put into "bootloader mode" but pressing the little "reset" button on the top of the board. (There's a ton more information at the above link about Pro Trinkets, so I'd recommend checking that out).

By the way - welcome to the world of hobby electronics! This was a very well-asked question - you gave me all of the information I needed to help you out, including the actual error message. Thank you! (Asking good questions is a seriously valuable skill, so good work).

fredthejedi (author)molecule132015-12-20

Thank you much! Answering a question well is a valuable skill as well:)

I was successfully able to upload the code and have the LED's flash!

I've run into a different problem now... The light flashing is red on the first LED and not very bright. As soon as I add another LED in series like your diagram shows, the light on the first LED becomes very faint and the second LED doesn't flash at all... Could this be a soldering problem? All four of my LEDs do this. Also Im powering the trinket through USB connected to my computer.

molecule13 (author)fredthejedi2015-12-21

Awesome! Glad to hear you got past that hurdle.

As for
the LED problem, that sounds like a power issue. It could be related to
soldering... but it could also be that the USB from your computer
doesn't provide enough current... What pin is the Neopixel PWR line
connected to on the Arduino? If you post a super clear picture it might
make it easier to debug.

fredthejedi (author)molecule132016-01-07

Ok. I think I fried my previous neopixels, so I bought some new ones and changed out the tip on my soldering iron. The soldering now is easy and spot on. However, I'm still having trouble with the lights not coming on. The wiring is just as your diagram shows.

molecule13 (author)fredthejedi2016-01-08

Hmm ok, well I'm not sure. It does look like you have the wires going the right places, but one funky thing is that you have the headers to the Pro Trinket on "upside down". See the black plastic part of the headers? That should be UNDERNEATH the Pro Trinket.

I'm wondering if they're not sticking all the way in to the breadboard,
which means you're not getting a connection to your LEDs. That would prevent things from lighting up!

fredthejedi (author)molecule132016-01-11

So I knew this when I soldered the headers upside down, but thought it'd be easier to hook on that battery pack if I left it some more clearance from the board. Also my breadboard only needs shallow contact, so no worries there. I did solder the jumper cables onto the headers just in case though, still no luck, no lights. Any thoughts?

molecule13 (author)fredthejedi2016-01-11

Wait - so you DON'T have the battery backpack attached (and therefore no battery), but you've connected the LEDs to the BAT output? But, the BAT output is the output of the battery, so if you don't have that attached... I guess you can see where I'm going :) Try plugging in your LEDs to the 3v output. In general, USB cables probably don't provide enough current to keep them on, so the best way to test is with the battery. Hope that works!

fredthejedi (author)molecule132016-01-13

Yes! it Works! I think you are beginning to understand how hardware-illiterate I really am :) But it's been fun learning! One last question... So to add an on/off switch, did you sever the connection between the two copper circles in the white square?

molecule13 (author)fredthejedi2016-01-14

Yay learning! I'm also mostly hardware illiterate but I get better every time I work on a project! And yes - to add the on/off switch, you slice through the connection ("trace") between the copper circles on the backpack. (There are some pictures in the main Instructable that should help).

digitalmonkeyman (author)2016-01-08

Please post an 'ible with a photon board and sound! This rocks!


Working on it!! Darn full-time job keeps getting in the way... being sick didn't help either. Hopefully soon!


HA! I hope you get better quick! Work, it's a four letter word!


Working on it!! Darn full-time job keeps getting in the way... being sick didn't help either. Hopefully soon!

Twogunrocky (author)2016-01-07

Hi, i'm totally new to all this raspberry, Adafruit, Link it stuff.... but can't wait to get involved and learn it all.

I'm gonna sta with your amazing ibble, I love it.... first question I have, can I purchase the Adfruit 3.3v logic, or does it have to be the 3v ?

thanks in advance.

molecule13 (author)Twogunrocky2016-01-09

Welcome to the world of Arduino! Glad you enjoyed my Instructable.

As for your question.. for this Instructable you'll want to purchase Adafruit's Pro Trinket 3.3V board. Honestly, the code probably works on a lot of different Arduino boards, but for your first project it's best to stick with what's been tried by the author. That way, if you have any problems, you can ask more questions and I'll be able to help you much better!

Good luck with everything, and please feel free to ask more questions!

aparnasekhar (author)2015-12-17

Nice project to make and thanks for it

sinker0000 made it! (author)2015-12-12

Thank you so much for sharing this and coming up with the lightning generator code!! Excellent job - so realistic!! I finished a cloud this evening and after playing a little with the variables (and ad lib-ing with the frame), I have my vision of a far off cumulonimbus cloud - all thanks to you!! I had never heard of Arduino either and think I may be hooked. Thanks again!!!

I look forward to following your progression on this cool project!! -(and learning more!)

I look forward to your posts as you continue this cool project!

molecule13 (author)sinker00002015-12-13

WOW!! Epic cloud! Thanks so much for sharing that cool picture. What is the base in there? Is that just plastic mesh from a craft store?

sinker0000 (author)molecule132015-12-13

Thanks! Yes, sort of... it was some left-over temporary plastic fencing I bought at Lowes for a yard project a while back. I used 22ga wire for beading for attachment points (like a twist tie). At first, with just the batting, the grid pattern would show through, but not when just a small layer of cotton was applied. It took way longer to get the form right, but all downhill from there. Oh, and the access hatch is from underneath so you can get your arm all the way up the 'stack'. :)

Thanks again for a great instructable!!

AdamS149 (author)2015-11-23

Hello, I have a question about the Adafruit Pro Trinket back back. Do you have to buy a battery with that? And would it make a difference between the 100 mAh or the 500 mAh?

molecule13 (author)AdamS1492015-11-24

Well, you can power the Pro Trinket through the USB cable, but if you don't want a cord to be connected then yes, you have to buy a battery. The battery backpack is really about making it easier to charge your battery since it charges automatically when you plug the USB cable in. (Otherwise you'll have to have a separate charger). Charging lithium-ion batteries is a delicate process. You don't want to charge them at a faster rate than they can handle. And if you are charging a battery at a slower rate, you won't damage it, it'll just take longer.

If you want to read more about Lithium-Ion batteries, I'd highly recommend Adafruit's tutorials:

The forums are also very active:

CPTECH6 (author)2015-11-16


Great project you made here! I built one over the weekend following your plans and I have it running off of a Arduino Uno. I'm not very good at coding (still learning) but I do comprehend how to change colors and adjust the variables for the number of leds I'm using and what output pin I want to use. What I'm having a problem with is finding a way to make the cloud strike continuously. I saw where to adjust the low and high strike likelihood, but I can't figure what variables to use to make it strike more often or continuously. Any suggestions?

molecule13 (author)CPTECH62015-11-16

Oh great! I'd LOOOOVE to see a picture / video of the finished thing when you're done!

The low and high strike likelihood is exactly what you want to change. Check out this line:

random(chance) finds a number between 0 and "chance". So, if "chance" is 50, it'll pick a random number between 0 and 50. Maybe 30, maybe 23, maybe 3. The line I linked to above triggers a lightning strike if the random number is equal to 3. So, if "chance" is 50, you have a 1 in 50 chance of having a lightning strike. If you set chance equal to 10, you have a 1 in 10 chance of having a lightning strike. So to make lighting MORE likely, lower the value of HIGH_STRIKE_PROBABILITY.

If you just want to have lightning strike all the time, you could remove that "if" check completely.

Hope that helps!

About This Instructable




More by molecule13:How to Add Bluetooth Control to your Lightning CloudHow to make a Lightning CloudWearable Neopixel Sparkle
Add instructable to: