We can't all have the desk next to the window. In my case, my coworker at the desk across from mine has the window seat. When it comes time to make the trek down the street to get some lunch, I'm never quite sure what I'm going to find in the great out-of-doors. Do I need my jacket? An umbrella?

I've had a theory for a little while that just a dozen (or two) pixels and an internet connection are all you need for a seriously vast number or applications. This seemed as good a place as any to start, so I connected an Adafruit Neopixel Ring to the internet with Electric Imp, cooked up some animations, and set it up to grab the forecast from Weather Underground. It turns out to be a snap to build, and not expensive!

My theory was that the geeks I work with would be unable to resist writing other applications for the shiny new toy, and it turned out I was right. By the end of the day that I built this project, it could already also be used to track packages or tell time. I'm really looking forward to seeing what else it can do.

The weather indicator is really handy - let's build one!

Step 1: Parts and Equipment

Here's what you'll need:

  • An Electric Imp card and an Electric Imp Breakout - About $37.50 total. Available from:
  • You'll need a Mini USB Cable, too - it's only for power. We'll be programming the imp entirely over WiFi.
  • Neopixel Ring! I used a 24-pixel one. You can use bigger or smaller, but I'll assume for the sake of mechanical design that you're using the 24-pixel variety, too. $25.
  • One general-purpose axial diode. We use this just to do a little hack to make the imp play nice with the Neopixels. You'll want one that can handle 1 A or more. Radioshack or Fry's keep these around, too. This will set you back a whopping $0.15 or so.
  • 4 4-40x1/2" Female/Male Standoffs. Hex or round is all up to you. $6.50 total.
  • 4 4-40 Nuts to secure the standoffs. A pack of 100 goes for $0.81.
  • 4 4-40x1/4" Phillips-Head Screws. $4.33 for a pack of 50.
  • Two 3"x3" squares of 1/8" Smoked Acrylic. I got mine from Tap Plastics in Mountain View; they gave me 9 of them for $8.00 (call it $1.00 a square). Home Depot and similar may also be able to help out with this piece.
  • I picked up a plastic picture hanger while I was at TAP for $0.45.

Approximate parts cost: $77.00. If you have spare machine screws lying around, you save $10. (Or more accurately, you've already spent your $10 and don't have to spend it again)

You'll need some tools, too. This is the full wish list; you can make do without having every last one:

  • A computer. You'll program the Imp from your web browser.
  • An iOS or Android device. You only need this for one step (connecting the Imp), so you can borrow one from a friend if you don't have one of your own.
  • Acrylic drill bit. This one's pretty important. Drilling through acrylic with a wood drillbit is a nightmare; you'll almost certainly break the acrylic. A 1/8" hole is the right size for the 4-40 hardware we've picked out.
  • Drill
  • Soldering Iron and some solder
  • Ruler (A T-square is super helpful, if you can get one)
  • Philips Screwdriver (#1 drive)
  • Wire cutters / Wire strippers
  • X-Acto Knife
  • Hammer and small Centerpunch
  • Pressure-sensitive adhesive. I used a roll meant for mounting glass in shower doors, which is clear and very, very sticky. Basically very serious double-sided tape.
<p>This looks like an amazing project, I'm going to try this with the giant ring (60 neopixels, about 6.5&quot; diameter, its sold in 1/4 sections) of neopixels that Adafruit sells (https://www.adafruit.com/products/1768). Given that I'll be dealing with 60 leds instead of the small ring size I plan to use a 5V 4A power supply to power the ring. I took note of your remark on the heat on the diode so I'm planning to use this logic shifter (https://www.adafruit.com/products/1787) to pump the 3.3V signal off the Imp up to the 5V for the neopixels. Do I have this correct or are there any other parts I'll need? I'm still somewhat new to all of this, will I need to run a wire from the ground of the neopixels (coming off the power supply) to the ground on the imp breakout board (well, to the logic shifter more accurately I guess)? I'm pretty certain that I need to for the data signal to work but figured I'd ask to be certain...</p>
<p>Thank you for this! I was just starting to piece together my own code to make this work and this is a GREAT help!</p>
<p>FYI, this works absolutely perfect with the NeoPixel stick with 8 LEDs, without the need for the capacitor. Two components for the entire project (IMP breakout &amp; LED strip). Talk about simple! Fantastic job on the code and bootstrap webpage which makes it all easy. Thanks!</p>
<p>Thank you so much for this instructable! It's exactly what I was looking for when I set out to do a weather indicator backlight array with my neopixels on my new nixie clock I am building. It works great!<br><br>Again, thanks so much!</p>
<p>like a block of ice :3</p>
<p>Excellent tutorial. I appreciate the notes about why the diode is there, the difference in voltages, and alternative solution!</p>
This is what the rain animation looks like when diffused by fabric.
<p>Awesome project, thanks for sharing! I'd like to try this with a bigger ring (maybe http://www.adafruit.com/products/1376) around the circumference of a clock. I'm very new to these gadgets, will I be able to follow your instructions with that type of NeoPixel strip? Thanks!</p>
<p>Generally, yes, but you will need to make some changes. The code currently has the number of pixels in your array hard-coded on the device side. You'll need to change the value of &quot;NUMPIXELS&quot;. </p><p>You'll also need to be very careful about your power supply. The hardware shown here isn't capable of driving more than 1A of load. If you're driving enough Neopixels that you need more power than that, you'll definitely want to drive them at 5V and use a level translator to shift the data signal coming from the imp from 3.3V to 5V. </p>
<p>Question on your agent code - is your UPDATEINTERVAL measured in seconds? Just trying to figure out how 900 = 10 minutes... I might just be very dense. ;) </p><p>Awesome instructable, btw. Just put one together with a Adafruit NeoMatrix.</p>
Haha, yes it's in seconds. Looks like I changed something and didn't update the math! That's 15 minutes.
<p>Great flex show of both technical and programming skill- might take a stab at this project in the future! Looks like great fun!</p>
<p>Some folks have noted that the agent wasn't correctly fetching the forecast after the first successful call to weather underground. I've just pushed a fix for this, thanks for your patience.</p>
<p>Great instructable! Ignore the private message I sent you. I've got it running. The problem was operator error :). I did also change line 16 of the agent code to my zip code. You didn't say to do that so don't know if that was correct. Problem is the weather here is similar to yours so I'm not sure I'm getting correct data. Time will tell. But it is severe clear and 72 (22 C) and I have a bright red ring. Mostly green earlier. Thanks for a great instructable and I'm eager to try a couple of your others. </p>
Glad to hear it's working! You don't have to change the zip in the file if you don't want to; the first time you set the location with the web interface, it remembers that location and uses it on every restart. Sounds like it's working properly!
<p>Nice work</p><p><a href="http://adf.ly/e8gVq" rel="nofollow">http://adf.ly/e8gVq</a></p>
<p>Er, probably a really stupid question, but what does it do? My wife is near obsessed with the weather (yes, she is English LOL), and when I saw the name of this project I thought I'd have a look and possibly build it, but I'm still not sure what it actually does.</p>
<p>It shows different animations with the LEDs to indicate the current weather conditions at a location you can choose.</p>
<p>So you have to learn what animation means what weather? (sorry if I'm being really thick here)</p>
<p>yep, but they're pretty intuitive.</p>

About This Instructable


298 favorites


Bio: Developer at Electric Imp
More by tombrew: NeoWeather: Ambient Weather Indicator Imp Chef: Internet-Connected BBQ Thermometer imPrinter: the Electric Imp wireless, internet-connected thermal printer
Add instructable to: