# Weather Wise Wifi Umbrella Stand

## Overview

https://youtu.be/drjCfnnu3DQ

> You Must Have Seen One Of The Spirits Of The Forest, And That Means You're A Very Lucky Girl. You Can Only See The Spirits If They Want You To. Let's Go Give Them A Proper Greeting.
> 
> Tatsuo, to Mei, "My Neighbor Totoro"

Rainy days can get us down. Some mornings taunt us with gorgeous blue skies, promising spring breezes and sunshine all day, but then turn dark and stormy in the afternoon. Did you have time to check a weather app, and remember to bring your umbrella? You did not.

Let the spirits of the forest work for you. Build yourself a smart umbrella stand that knows the weather and lets you know with a beautiful glow if you are going to need your umbrella that day. My umbrella stand is themed after "My Neighbor Totoro" and gives me a smile every time I walk past it.&nbsp;

The Raspberry Pi Pico W connects to your WiFi and performs a simple task: is it going to rain today? If the answer is yes, your umbrella stand lights up and glows, reminding you to grab your umbrella.&nbsp;

This is a fairly easy project that's suitable for beginners. You'll need basic soldering skills and a little ingenuity. The code is written in CircuitPython, which is easy to install and update on the Pico W.

You'll also need a free account with [Adafruit IO](https://learn.adafruit.com/welcome-to-adafruit-io/what-is-adafruit-io), Adafruit's online cloud service. This is a great project for getting started with internet-connected making.

![](https://cdn-learn.adafruit.com/assets/assets/000/120/315/medium800/weather_totoro_stand2.jpeg?1681766775)

## Parts
### Raspberry Pi Pico W

[Raspberry Pi Pico W](https://www.adafruit.com/product/5526)
The Raspberry Pi foundation changed single-board computing [when they released the Raspberry Pi computer](https://www.raspberrypi.org/archives/723), now they're ready to do the same for microcontrollers with the release of the brand new **Raspberry Pi Pico W**. This...

In Stock
[Buy Now](https://www.adafruit.com/product/5526)
[Related Guides to the Product](https://learn.adafruit.com/products/5526/guides)
![Angled shot of a green microcontroller with castellated pads.](https://cdn-shop.adafruit.com/640x480/5526-01.jpg)

### Adafruit Mini Skinny NeoPixel Digital RGB LED Strip - 60 LED/m

[Adafruit Mini Skinny NeoPixel Digital RGB LED Strip - 60 LED/m](https://www.adafruit.com/product/2959)
So thin. So mini. So teeeeeeny-tiny. It's the 'skinny' version of our classic NeoPixel strips!

These NeoPixel strips have 60 digitally-addressable pixel Mini LEDs per meter and are very affordable and are only 7.5 mm wide, 5 mm if you remove the strip from the...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2959)
[Related Guides to the Product](https://learn.adafruit.com/products/2959/guides)
![Adafruit NeoPixel Digital RGB LED Strip with all the LEDs lighting in a rainbow pattern.](https://cdn-shop.adafruit.com/product-videos/640x480/2959-05.jpg)

### Part: USB Cable
quantity: 1
USB Micro to USB A Cable
[USB Cable](https://www.adafruit.com/product/592)

### Part: Power Supply
quantity: 1
5v switching USB Power Supply
[Power Supply](https://www.adafruit.com/product/1994)

### Part: Heat Shrink
quantity: 1
Clear Heat Shrink Tubing
[Heat Shrink](https://www.adafruit.com/product/1020)

### Part: Silicone Stranded Wire
quantity: 3
Silicone Stranded wire - Get 3 colors
[Silicone Stranded Wire](https://www.adafruit.com/product/2513)

## Additional Materials & Tools

- Hot glue gun
- Heat gun
- Soldering Iron & Accessories
- [Devcon Silicone Glue](https://www.acehardware.com/departments/paint-and-supplies/tape-glues-and-adhesives/glues-and-epoxy/19337) - available at most hardware stores

I decorated my umbrella stand with a 3d-printed figurine of Totoro, and also a large vinyl sticker. I used an Elegoo Saturn resin printer and a Cricut Maker vinyl cutter to make these.

![](https://cdn-learn.adafruit.com/assets/assets/000/120/308/medium800/weather_totoro_lit.jpeg?1681765223)

# Weather Wise Wifi Umbrella Stand

## Wiring Diagram

![](https://cdn-learn.adafruit.com/assets/assets/000/120/212/medium800/weather_pico_wiring.png?1681340948)

My Umbrella stand uses 30 NeoPixels at 60/m, which is just the right amount to go around my glass vase. If your project uses more than around 30 pixels, you'll want to power the pixels directly from the power supply instead of drawing power through the board. With small projects of up to 30 pixels, this simple wiring method works fine.

- Pico **VBUS** to NeoPixel **+5v**
- Pico **G** to NeoPixel **G**
- Pico **GP0** to NeoPixel **DIN**

We will power our project by plugging a USB cable into the Raspberry Pi Pico, which will power the NeoPixels as well.

If your project has a lot of pixels, check out this guide for wiring tips and tricks:&nbsp;

[NeoPIO: Drive lots of LEDs with Raspberry Pi Pico](https://learn.adafruit.com/neopio-drive-lots-of-leds-with-raspberry-pi-pico/overview)

# Weather Wise Wifi Umbrella Stand

## Installing CircuitPython

[CircuitPython](https://github.com/adafruit/circuitpython) is a derivative of [MicroPython](https://micropython.org) designed to simplify experimentation and education on low-cost microcontrollers. It makes it easier than ever to get prototyping by requiring no upfront desktop software downloads. Simply copy and edit files on the **CIRCUITPY** drive to iterate.

## CircuitPython Quickstart

Follow this step-by-step to quickly get CircuitPython working on your board.

[Download the latest version of CircuitPython for the Raspberry Pi Pico from circuitpython.org](https://circuitpython.org/board/raspberry_pi_pico/)
 **Click the link above and download the latest UF2 file.**

Download and save it to your desktop (or wherever is handy).

![circuitpython_Cat_UF2_download.png](https://cdn-learn.adafruit.com/assets/assets/000/098/753/medium640/circuitpython_Cat_UF2_download.png?1611157944)

Start with your Pico unplugged from USB. Hold down the **BOOTSEL** button, and while continuing to hold it (don't let go!), plug the Pico into USB. **Continue to hold the BOOTSEL button until the RPI-RP2 drive appears!**

If the drive does not appear, unplug your Pico and go through the above process again.

A lot of people end up using charge-only USB cables and it is very frustrating! **So make sure you have a USB cable you know is good for data sync.**

![raspberry_pi_one_one_two.png](https://cdn-learn.adafruit.com/assets/assets/000/125/993/medium640/raspberry_pi_one_one_two.png?1699493528)

You will see a new disk drive appear called **RPI-RP2**.

&nbsp;

Drag the **adafruit\_circuitpython\_etc.uf2** file to **RPI-RP2.**

![circuitpython_Cat_RPI-RP2_drive.png](https://cdn-learn.adafruit.com/assets/assets/000/098/756/medium640/circuitpython_Cat_RPI-RP2_drive.png?1611158210)

![circuitpython_Cat_drag_UF2.png](https://cdn-learn.adafruit.com/assets/assets/000/098/758/medium640/circuitpython_Cat_drag_UF2.png?1611158274)

The **RPI-RP2** drive will disappear and a new disk drive called **CIRCUITPY** will appear.

That's it, you're done! :)

![circuitpython_Cat_CIRCUITPY.png](https://cdn-learn.adafruit.com/assets/assets/000/098/759/medium640/circuitpython_Cat_CIRCUITPY.png?1611158312)

## Flash Resetting UF2

If your Pico ever gets into a really _weird_ state and doesn't even show up as a disk drive when installing CircuitPython, try installing this 'nuke' UF2 which will do a 'deep clean' on your Flash Memory. You will lose all the files on the board, but at least you'll be able to revive it! After nuking, re-install CircuitPython

[flash_nuke.uf2](https://datasheets.raspberrypi.com/soft/flash_nuke.uf2)
# Weather Wise Wifi Umbrella Stand

## WiFi and Adafruit IO Setup

To make our code work, first we need to give our Pico W our WiFi credentials and our personal key to Adafruit IO, Adafruit's free cloud service.

If you are not familiar with Adafruit IO, see this [Welcome tutorial](https://learn.adafruit.com/welcome-to-adafruit-io) to get started.

For this project we're using Adafruit IO to keep track of the time of day so we can automatically turn our stand off at night time.

Adafruit IO is included with your Adafruit shop account, so there's no need to sign up for anything new. This is a free service we provide for our customers to help you make the magic happen.&nbsp;

Once you've got CircuitPython installed on your Pico W, take a look at the **CIRCUITPY** drive to see what files are on there. You should find a file called **settings.toml** at the root of your drive. Open this up with a text editor - this is where to add your personal data.

![weather_settingstoml1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/210/medium640/weather_settingstoml1.jpg?1681334884)

Log in to your Adafruit account. Then click the IO tab at the top of the screen.

![weather_adafruitIO_login.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/205/medium640/weather_adafruitIO_login.jpg?1681328392)

Click on the yellow key icon in the upper right corner.

![weather_adafruitIO_key.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/206/medium640/weather_adafruitIO_key.jpg?1681328441)

Copy your Adafruit IO username and password into your **settings.toml** file using the following format, then save the file back to your **CIRCUITPY** drive:&nbsp;

![weather_settingstoml-2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/211/medium640/weather_settingstoml-2.jpg?1681334944)

`aio_username = "username here"`  
`aio_key = "aio key here"`

&nbsp;

That's it for **settings.toml**. [You can learn more about this file and what it's used for in this guide.](https://learn.adafruit.com/pico-w-wifi-with-circuitpython/create-your-settings-toml-file)

# Weather Wise Wifi Umbrella Stand

## Code Install & Walkthrough

Once you've finished setting up your Pico W with CircuitPython, you can access the code and necessary libraries by downloading the Project Bundle.

To do this, click on the **Download Project Bundle** button in the window below. It will download as a zipped folder.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Weather_Wise_Umbrella_Stand/code.py

## Upload the Code and Libraries to the Pico W

After downloading the Project Bundle, plug your Pico W into the computer's USB port with a known good USB data+power cable. You should see a new flash drive appear in the computer's File Explorer or Finder (depending on your operating system) called **CIRCUITPY**. Unzip the folder and copy the following items to the Pico W's **CIRCUITPY** drive.

- **lib** folder
- **code.py**

Your Pico W **CIRCUITPY** drive should look like this after copying the **lib** folder and the **code.py** file:

![CIRCUITPY](https://adafruit.github.io/Adafruit_Learning_System_Guides/Weather_Wise_Umbrella_Stand.png )

## Add Your **settings.toml** File

As of CircuitPython 8, there is support for [Environment Variables](https://docs.circuitpython.org/en/latest/docs/environment.html). These Environmental Variables are stored in a **settings.toml** file. Similar to **secrets.py** , the **settings.toml** file separates your sensitive information from your main **code.py** file. Be sure to add your **settings.toml** file to your **CIRCUITPY** drive. You'll need to include your `CIRCUITPY_WIFI_SSID`, `CIRCUITPY_WIFI_PASSWORD`, `aio_username` and `aio_key` in the file.

```auto
CIRCUITPY_WIFI_SSID = "your-wifi-ssid-here"
CIRCUITPY_WIFI_PASSWORD = "your-wifi-password-here"

aio_username = "your-Adafruit-IO-username-here"
aio_key = "your-Adafruit-IO-key-here"
```

## How the CircuitPython Code Works

At the top of the code, you can define some variables for your location's latitude and longitude, the hour range that you want the NeoPixels to be off and the color of the NeoPixels when rain is predicted.

```python
# latitude
lat = 40.73
# longitude
long = -74.01
# hours in 24 hour time that the pixels should be off
hours_off = (0, 6)
# color of the pixels when rain is expected
PIXELS_COLOR = (0, 0, 255)
```

 **TIP:** You can find your latitude and longitude in most phone navigation apps, or by entering your address in Google Maps and right-clicking the “pin.” First number is latitude (northern hemisphere locations are positive, southern are negative), second is latitude (negative is west of the Greenwich prime meridian, positive is east).

1–2 decimal place is sufficient for this task, weather being a regional phenomenon.

![weather_latlong.png](https://cdn-learn.adafruit.com/assets/assets/000/120/471/medium640/weather_latlong.png?1682449974)

## NeoPixel Setup

Then, the NeoPixels are setup to use pin `GP0` on the Pico W.

```python
# neopixel setup
NUMPIXELS = 30  # number of neopixels
BRIGHTNESS = 0.5  # A number between 0.0 and 1.0, where 0.0 is off, and 1.0 is max.
PIN = board.GP0

pixels = neopixel.NeoPixel(PIN, NUMPIXELS, brightness=BRIGHTNESS, auto_write=False)

# turn on NeoPixels on boot to check wiring
pixels.fill(PIXELS_COLOR)
pixels.show()
```

## Weather Request

The `weather_url` holds the URL for the Open-Meteo HTTP request. The URL passes your latitude and longitude that was defined earlier in the code to get the hourly rain forecast for your location.

```python
# API request to open-meteo
weather_url = "https://api.open-meteo.com/v1/forecast?"
# pass latitude and longitude
# will return sunrise and sunset times
weather_url += "latitude=%d&longitude=%d&timezone=auto&hourly=rain&forecast_days=1" % (lat, long)
```

## Connect to WiFi

The Pico W connects to your WiFi network by accessing your SSID and SSID password in the **settings.toml** file with `os.getenv()`. Additionally, the Pico W connects to Adafruit IO to get the current time.

```python
#  connect to SSID
wifi.radio.connect(os.getenv('CIRCUITPY_WIFI_SSID'), os.getenv('CIRCUITPY_WIFI_PASSWORD'))

pool = socketpool.SocketPool(wifi.radio)
requests = adafruit_requests.Session(pool, ssl.create_default_context())

pool = socketpool.SocketPool(wifi.radio)

# adafruit IO info
aio_username = os.getenv('aio_username')
aio_key = os.getenv('aio_key')
location = "America/Los Angeles"

# io HTTP for getting the time from the internet
io = IO_HTTP(aio_username, aio_key, requests)
```

## Error Functions

To handle any errors that come up, two functions are defined. `reset_on_error()` runs in the event of an error. It prints the error to the REPL and then resets the Pico W to start the code over. `get_request()` makes an HTTP request and wraps it in a `try`/`except` loop so that multiple attempts can be made in the event of an error or timeout.

```python
def reset_on_error(delay, error):
    print("Error:\n", str(error))
    print("Resetting microcontroller in %d seconds" % delay)
    time.sleep(delay)
    microcontroller.reset()

# function for making http requests with try/except
def get_request(tries, ping):
    for i in range(tries):
        try:
            n = ping
        except Exception as error:
            print(error)
            time.sleep(10)
            if i < tries - 1:
                continue
            raise
        break
    return n
```

## What's the Weather?

The `rain_check()` function uses the `get_request()` function to get the time from Adafruit IO and make a request to Open-Meteo with the previously defined `weather_url`. The function returns the current hour and the rain forecast.

```auto
def rain_check():
    # gets current time
    now = get_request(5, io.receive_time())
    h = now.tm_hour
    time.sleep(1)
    # make the API request
    weather_call = get_request(5, requests.get(weather_url))
    # packs the response into a JSON
    response_as_json = weather_call.json()
    # gets rain forecast
    _chance = response_as_json['hourly']['rain']
    return h, _chance
```

## The Loop

In the loop, every 15 minutes the `rain_check()` function runs to get the rain forecast. If the current time falls in the range of the defined `hours_off`, then the NeoPixels are turned off. Otherwise, if any rain is expected, the NeoPixels turn on and if no rain is expected they are turned off.

```python
try:
        # every 15 minutes...
        if first_run or ticks_diff(ticks_ms(), clock) > time_check:
            print("pinging Open-Meteo")
            hour, rain_chance = rain_check()
            print("Rain expected: %.2f mm" % rain_chance[hour])
            if hour in hours_off:
                print("sleeping, please don't tell me it's raining")
                color = (0, 0, 0)
            else:
                # if rain is expected. turn pixels blue
                if rain_chance[hour] > 0:
                    print("tut tut, looks like rain")
                    color = PIXELS_COLOR
                # otherwise turn pixels off
                else:
                    print("no rain expected")
                    color = (0, 0, 0)
            if first_run:
                first_run = False
            else:
                pixels.fill(color)
                pixels.show()
                # reset clock
                clock = ticks_add(clock, time_check)
    except Exception as e:
        reset_on_error(10, e)
```

# Weather Wise Wifi Umbrella Stand

## Electronics Assembly

## Wire the Pico W
Cut a red, black, and white wire to about 3-4 inches, or longer depending on your build base. Solder the red wire to **VBUS** , the black to **G** , and the white to **GP0**.

[You can see a full pinout of the Pico here](https://learn.adafruit.com/getting-started-with-raspberry-pi-pico-circuitpython/pinouts).

![weather_pi_soldered.jpeg](https://cdn-learn.adafruit.com/assets/assets/000/120/214/medium640/weather_pi_soldered.jpeg?1681407392)

## Solder NeoPixels

Since this project may get dripped on, it's best to seal both ends of our pixel strip so no stray splashes can get inside. Start by cutting a couple pieces of your clear heat shrink tubing and slipping them onto your pixel strand. We'll solder up our strip, test, then seal it up once we know it's working.

Cut your pixel strip to length through the middle of the copper pads. My strip has 30 pixels. Be sure to count twice before you cut.

Trim and tin the wires coming from the Pi, and tin the pads on the NeoPixel strip. Make sure you're soldering to the IN end - these strips are directional and won't work if you connect the wrong end.

If you're new to soldering pixel strips, check out this guide on [How to Solder NeoPixels](https://learn.adafruit.com/make-it-glow-how-to-solder-neopixels-a-beginners-guide).

![weather_pi_solder_strip.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/215/medium640/weather_pi_solder_strip.jpg?1681407764)

## Testing
Plug your Pico W in via the USB port. Wait a few seconds for the WiFi to connect. If it's going to rain in your area, the lights will come on.&nbsp;

![weather_pi_test_lights.jpeg](https://cdn-learn.adafruit.com/assets/assets/000/120/216/medium640/weather_pi_test_lights.jpeg?1681408047)

This project can be a little tricky to test. If it's not about to rain where you are, the pixels won't turn on, which means they're working correctly. But that doesn't help when you're testing solder joints. What to do?&nbsp;

In order to test, we need to find a place where it's currently raining and temporarily change our latitude and longitude in our **code.py** file. Here's a nifty tool: the [World Weather Map](https://map.worldweatheronline.com/precipitations) shows weather patterns across the whole world. It's often raining in New Orleans in the spring, and the South American rain forests are full of rainy areas. Pick your favorite, click on it, and copy the latitude and longitude from the URL.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/120/217/medium800/weathermap.jpg?1681408465)

Then open up **code.py** and edit these lines to reflect the rainiest spot you can find:

`# latitudelat = 29.04# longitudelong = -90.36`

If you've got everything wired up and installed correctly, your lights will turn on. Success! Time to seal up the strips and install your lights.

## Troubleshooting

If your lights don't come on, here are a few things to try:

1. Try a different latitude and longitude, just in case you missed a rainstorm by a few ticks.
2. Check to be sure you soldered to the IN end of the pixel strand and not the OUT end. It won't work if you solder to the wrong end.
3. If your lights come partially on, or come on in wonky colors, check your power supply. If you're plugging into a surge protector, try plugging directly into the wall or into your computer and see if that fixes things. This board seems to need a full 5v to get the pixels working right, so a cheap power supply may cause problems.
4. Double check your code and your **settings.toml** file. Be sure you've entered both your WiFi credentials and your Adafruit IO key in **settings.toml** , and be sure they're correct. The code will reset the board if it's missing any data, so if your board is resetting again and again this is likely your problem.
5. Be sure you wired to GP0 on the Pi. If you wired to a different pin, you can change it in **code.py.**

## Seal the Strip
Once you're sure it's working correctly, seal up both ends of your NeoPixel strip by sliding the heat shrink over the solder joints then filling the heat shrink with some hot glue. While the glue is still wet, use a heat gun to shrink the heat shrink. This will form a waterproof seal on your pixels that will keep any rain splashes out.

**TIP:** _do not_ use silicone glue for this step, as some varieties will corrode electronics.

![weather_pi_seal_hotglue.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/218/medium640/weather_pi_seal_hotglue.jpg?1681409104)

![weather_pi_seal_end2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/219/medium640/weather_pi_seal_end2.jpg?1681409192)

# Weather Wise Wifi Umbrella Stand

## Umbrella Stand Assembly

I found a large colored glass vase at my local Goodwill for around $8. It's the perfect size for one large umbrella or a couple small ones.

To house the electronics and lights, I found a round mirror with a black plastic frame, also at the Goodwill. The mirror's interior diameter is just a bit too small to fit the vase neatly, but I can make it work with a little bit of maker ingenuity.

![weather_umbrella_stand.jpeg](https://cdn-learn.adafruit.com/assets/assets/000/120/220/medium640/weather_umbrella_stand.jpeg?1681410346)

![weather_mirror-base.jpeg](https://cdn-learn.adafruit.com/assets/assets/000/120/221/medium640/weather_mirror-base.jpeg?1681410395)

I removed the frame from the mirrored back, then cut through the side with a dremel. Then I heated the plastic frame gently with a heat gun until the whole thing was a bit soft and pliable, but not so much that it got melty.&nbsp;

![weather_base02_dremel.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/222/medium640/weather_base02_dremel.jpg?1681410567)

![weather_base03_heatgun.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/223/medium640/weather_base03_heatgun.jpg?1681410598)

I plan to put the electronics inside the hollow frame, so I dremeled a channel at the back of the frame for my USB cable to pass.

![weather_base04_wirechannel.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/224/medium640/weather_base04_wirechannel.jpg?1681410669)

I plugged in the USB cable and fit my Pico W inside the frame, securing it with some hot glue. I threaded the USB cable through the channel at the back and glued that in place as well.

![weather_base05_set_electronics.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/225/medium640/weather_base05_set_electronics.jpg?1681410757)

![weather_base06_glue_wires.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/226/medium640/weather_base06_glue_wires.jpg?1681410785)

Next I glued the pixels in place around the inner edge of the frame, right at the bottom. The silicone coating on these pixels is tricky to glue -- very few glues will stick to silicone. My favorite is [Devcon Silicone Glue](https://a.co/d/g2aOBqB). It dries quickly, and clear-ish, and holds the silicone strip casing in place really well.

![weather_base07_gluepixels.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/227/medium640/weather_base07_gluepixels.jpg?1681410901)

I left a few extra pixels at the end of my strip to illuminate Totoro.

![weather_base08_pixels_glued.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/228/medium640/weather_base08_pixels_glued.jpg?1681411075)

## Decorate

I filled the gap in the base with a 3D-printed Totoro figurine. I found him on [Thingiverse, thank you ElectricBeard](https://www.thingiverse.com/thing:2719594)! I printed him on a resin printer using clear resin, which got a little cloudy during the curing process.

&nbsp;

I drilled a hole in the back of Totoro and slipped in the last few LEDs from my NeoPixel strip. The clear resin clouded up just enough to diffuse the lights perfectly. Glowing Totoro, Hooray!

I used some Thermoplastic and silicone glue to wedge him neatly into the gap in the base.

![weather_totoro_leds.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/295/medium640/weather_totoro_leds.jpg?1681764168)

Finally, I used my Cricut vinyl cutter to cut out a silhouette image of Totoro that I found online. I fixed it to the glass vase using frisket to keep all the pieces in place. I love the combination of 3D and silhouette Totoro characters! The sticker really brings this design to life.

![weather_totoro_sticker.jpg](https://cdn-learn.adafruit.com/assets/assets/000/120/296/medium640/weather_totoro_sticker.jpg?1681764528)

Place the stand near your door and never forget your umbrella again.

![](https://cdn-learn.adafruit.com/assets/assets/000/120/297/medium800/weather_umbrellastand_done.jpeg?1681764695)


## Featured Products

### Raspberry Pi Pico W

[Raspberry Pi Pico W](https://www.adafruit.com/product/5526)
The Raspberry Pi foundation changed single-board computing [when they released the Raspberry Pi computer](https://www.raspberrypi.org/archives/723), now they're ready to do the same for microcontrollers with the release of the brand new **Raspberry Pi Pico W**. This...

In Stock
[Buy Now](https://www.adafruit.com/product/5526)
[Related Guides to the Product](https://learn.adafruit.com/products/5526/guides)
### Adafruit Mini Skinny NeoPixel Digital RGB LED Strip - 60 LED/m

[Adafruit Mini Skinny NeoPixel Digital RGB LED Strip - 60 LED/m](https://www.adafruit.com/product/2959)
So thin. So mini. So teeeeeeny-tiny. It's the 'skinny' version of our classic NeoPixel strips!

These NeoPixel strips have 60 digitally-addressable pixel Mini LEDs per meter and are very affordable and are only 7.5 mm wide, 5 mm if you remove the strip from the...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2959)
[Related Guides to the Product](https://learn.adafruit.com/products/2959/guides)
### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

In Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)
### 5V 2A Switching Power Supply w/ USB-A Connector

[5V 2A Switching Power Supply w/ USB-A Connector](https://www.adafruit.com/product/1994)
Our 5V 2A USB power adapter is the perfect choice for powering single-board computers like Raspberry Pi, BeagleBone, or anything else that's power-hungry!

This adapter was specifically designed to provide 5.25V, not 5V, but we still call it a 5V USB adapter. We did this on purpose to...

In Stock
[Buy Now](https://www.adafruit.com/product/1994)
[Related Guides to the Product](https://learn.adafruit.com/products/1994/guides)
### Food-Grade Heat Shrink - 3/8" diameter 12" long

[Food-Grade Heat Shrink - 3/8" diameter 12" long](https://www.adafruit.com/product/1020)
We decided to stock this food-safe heat shrink specifically for people who were building beer-brewing or sous-vide projects using our [waterproof DS18B20+ digital temperature sensors](http://www.adafruit.com/products/381). This heat shrink is FDA Compliant for contact with food. The...

In Stock
[Buy Now](https://www.adafruit.com/product/1020)
[Related Guides to the Product](https://learn.adafruit.com/products/1020/guides)
### Silicone Cover Stranded-Core Wire - 25ft 26AWG - Red

[Silicone Cover Stranded-Core Wire - 25ft 26AWG - Red](https://www.adafruit.com/product/2513)
Silicone-sheathing wire is super-flexible and soft, and its also strong! Able to handle up to 200°C and up to 600V, it will do when PVC covered wire wimps out. We like this wire for being extremely supple and flexible, so it is great for wearables or projects where the wire-harness has to...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2513)
[Related Guides to the Product](https://learn.adafruit.com/products/2513/guides)

## Related Guides

- [Adafruit NeoPixel Überguide](https://learn.adafruit.com/adafruit-neopixel-uberguide.md)
- [Zelda: Breath of the Wild – 3D Printed Guardian Sword with NeoPixel LEDs](https://learn.adafruit.com/breath-of-the-wild-guardian-sword-led-3d-printed.md)
- [NeoPixel Badge Lanyard with Bluetooth LE](https://learn.adafruit.com/bluetooth-neopixel-badge-lanyard.md)
- [LED Snowboard with Motion-Reactive Animation](https://learn.adafruit.com/led-snowboard-with-motion-reactive-animation.md)
- [Halo Energy Sword RP2040](https://learn.adafruit.com/halo-energy-sword-rp2040.md)
- [Bubble Table with LED Animations and IR Remote Control](https://learn.adafruit.com/bubble-table-with-led-animations-and-ir-remote-control.md)
- [MicroPython Smart Holiday Lights](https://learn.adafruit.com/micropython-smart-holiday-lights.md)
- [CircuitPython BLE Controlled NeoPixel Hat](https://learn.adafruit.com/circuitpython-feather-ble-neopixel-hat.md)
- [Crickit Powered Maker Ice Cream Truck!](https://learn.adafruit.com/crickit-maker-ice-cream-truck.md)
- [Zelda Master Sword](https://learn.adafruit.com/zelda-master-sword.md)
- [Halo Energy Sword by Mattel NeoPixel Upgrade](https://learn.adafruit.com/halo-energy-sword-by-mattel-neopixel-upgrade.md)
- [Glowing Interactive Crystal Staff ](https://learn.adafruit.com/glowing-interactive-crystal-staff.md)
- [NeoPixel Bracelet](https://learn.adafruit.com/neopixel-bracelet.md)
- [DIY Darksaber Build - 3D Print with PropMaker FeatherWing and BLE](https://learn.adafruit.com/ble-darksaber-propmaker.md)
- [Glowing Neopixel Resin River Table](https://learn.adafruit.com/glowing-neopixel-resin-river-table.md)
