What I did with Lightning data,a Raspberry Pi and Anti-static bags

Do you ever wake up in the middle of the night when there is a thunderstorm happening and think "I wonder if its possible to make a digital sculpture that visualises lightning data using LEDs"?
must just be me then.

That was back in March and after lots of faffing around with wire, plastic metal and code I have made it happen, here's how.

The first thing was to see if it was actually possible and for that I had to see if the data was available. There are commercial services that provide the information but they tend to be quite expensive as it is valuable for I think Insurance and similar services. I found an amateur network of people who run detectors and upload the data but they don't publish the data unless you have one of the detectors. I tried the Met office but they only publish data for lightning data for around the U.K, they publish an image file not actual data I could do anything with and there isn't enough lightning happening around the U.K for it to be interesting.

After finding lots of Flash based sites that would be either difficult or impossible to extract the Data I found the University Of Washington global map of Lightning data http://wwlln.net/new/map/    A bit of poking around and it was possible to find the underlying data to work with http://wwlln.net/new/map/data/current.json 

Next was the technology choice.  It would be powered by a Raspberry pi and use Neopixel strips for the LEDs.  I considered  both Python and NodeJS for writing the code. Python would probably have been the better choice and I think it would have been faster and easier but I hadn't done any NodeJS for a while and I wanted to dip my toes in again so that's want I plumped for.

First part of the develpoment was to control the Neopixels from the Raspberry Pi.  I used this Library https://www.npmjs.com/package/rpi-ws281x-native and set to work playing with the Neopixels.

It was around this time I had the idea of using metallic anti-static bags.

The eagle eyed among you might notice that I'm  actually using an Arduino for that test

I also started to think about what the sculpture would look like.  Not straight and angular like a single fork lightning strike, not a  sphere with dots plotted on it, I wasn't going for an artistic interpretation more than a simple  data visualisation. I began to think about  the swirliness and chaos of clouds and storms and started sketching some ideas.

I eventually settled on four long strips of  Neopixels, intertwined, each strip representing one quadrant of the earth taking the point that the equator and the Greenwich meridian intersect as the centre as that seemed a sensible thing to do.  I fell into a bit of an hole learning about map projections and plotting the data onto images of the Earth using P5JS .  It wasn't really necessary for the final outcome but I wanted to check I was doing everything correctly and it felt the right thing to do.

lightning data plotted onto map of Earth

I did some prototyping in P5JS to get an idea what it would look like and to  start working with the data.

Now I knew I could control the LEDs, had an idea of what I wanted the end result to look like and I was comfortable with the data I began to pull it all together.

To stop the Neopixels just from dangling down limply I came up with the idea of using the waterproof strips that have a clear plastic covering over them, into this I pushed down a thin solid wire that I had inserted into a clear heatshrink sleeving to prevent it electrically  shorting the LEDs strips.  This was a lot harder than I had anticipated and there was a lot more swearing than i thought there would be.

These strips were then covered in sleeves  I had made by cutting and gluing anti static bags. That was also more difficult than i thought it would be,involved burning my fingers with hot glue  and I didn't really work the best way to do it until it was finished. But it kept me amused on twitter for a few evenings.

A few hours were spent wiring it all up, crimping the connectors together, then taking it all apart and doing it again properly so it would actually  work and its now finished.  It can run either with the Raspberry Pi connected to the internet and pull down updates to the data or offline if there is some data loaded.

There are still some bugs in the software that need fixing.  I want to update the code so that it automatically detects if there is a live internet connection and if not will run in offline mode. It has run successfully for several hours per day for five days at an art show for Science Museum staff.


I've already started on getting rid of the breadboard wiring for the chip that converts the output from the Pi to a voltage level suitable for the Neopixels but thats a story for another day.

PCB next to bread board with chip and wires



I'd like to exhibit it further  but don't really know how to go about that. I would love to hear from anyone who could help me with further exhibiting or  knows how I would do that.  Leave a comment or get in touch on Twitter.

So here it is running


Comments are closed.