Snow Scraper
Snow Scraper: your DIY powder-day alarm clock, bringing live snow reports straight to you.
The Snow Scraper is a Raspberry Pi–powered device that scrapes live snowfall reports, displays them on a 2.8″ touchscreen, lights up a 7-pixel WS2812 LED ring to visualize new snow, and can play an alarm when a predefined snowfall amount is met by a set time.
It’s fully open source, affordable to build, and designed to run headless as a stand-alone device — no monitor or keyboard required.
Every great DIY project starts with a spark—an itch to solve a problem in your own way. For skiers and riders, the problem is simple: how do you know, without fuss, if the mountain just got blanketed in fresh snow? That spark turned into Snow Scraper, a project that’s as much fun to build as it is to use.
You’ll wire up a touchscreen, calibrate the touch controls, connect a buzzer, and light up addressable LEDs. You’ll dive into Python code that scrapes snowfall data from real ski resort websites, parses it, and puts it on your screen. You’ll configure an alarm system that alerts you when your chosen snow threshold is met.
Along the way, you’ll pick up practical maker skills: GPIO control, web scraping, JSON logging, and soldering. And the best part? It’s all open-source, so you can add your own ideas—maybe different alarms, more resorts, or even something completely unique!
The journey is the reward here. By the time you’ve finished building your Snow Scraper, you won’t just have a powder-day predictor—you’ll have a device that you understand inside and out, because you made it. And nothing feels quite like that.
Official website: http://www.snowscraper.ca
Supplies
- Raspberry Pi Zero 2 WH - getting it With Headers will save you a whole bunch of soldering.
- WS2812 7 LED Ring - 23mm diameter. To light up the crystal ball to indicate new snow.
- 60mm Crystal Ball - I found the rain cloud version the most fitting.
- 4GB or larger MicroSD card - to install the OS and snowgui.py code.
- M3 - 5mm Self Tapping Screws - to attach the screen and Pi to the enclosure.
- Female to Female Jumper wires - to connect the LED, Touchscreen, and Buzzer.
- AC Power adapter - 5V 2.5A with a micro USB port to power the Pi.
- ILI9341 LCD Touchscreen - 2.8" Screen, with the form matching the image.
- Passive Buzzer Module - For the alarm function.
- Heat Shrink Tubing - For insulating and protecting solder joints.
Gather Required Tools
Alright, you've decided to dive in and give building your own Snow Scraper a shot. Excellent, well your in for a treat. It will challenge your skills at times but fear not as you have the Tinker Gnomes to assist you every step of the way.
First off, lets start by gathering all the necessary tools and supplies needed for the project. Having everything nearby will make assembly much smoother. So go on and grab:
- Soldering iron & solder – only needed for connecting wires to the WS2812 LED ring and making 2-to-1 header wires.
- Small screwdriver – used to secure components to the enclosure.
- Wire cutters/strippers – for trimming or cleaning up jumper wires.
- Heat shrink tubing & heat source – e.g., a heat gun, lighter, or the side of your soldering iron (be careful not to scorch the tubing).
- Hot glue gun – used to secure the WS2812 LED ring inside the enclosure and to hold the bottom plate in place.
- 3D printer (or online service) – to produce the custom enclosure.
- Computer with microSD card writer – to flash Raspberry Pi OS and configure setup.
- (Optional) 3rd Hand / Helping Hand tool – holds wires steady while soldering.
3D Printing the Enclosure
- Download the STL file.
- Recommended settings:
- Material: PLA or PETG
- Layer height: 0.2 mm
- Infill: 20%
- Supports: Yes (for LCD cutout)
Downloads
Wiring the Electronics Part 1
Step 3.1 – Prepare the Shared Jumpers
You’ll need three shared jumpers to connect both the LCD and touch controller to the Pi’s SPI pins. If possible, match color of wire to wiring diagram to make things simpler
- Cut the end off one jumper wire.
- Cut another jumper wire in half.
- Strip the ends of all three wires.
- Twist the three stripped ends together. Start by twisting the two shorter wires together then twist those around the third longer wire.
- Solder them together by holding the wider tip of the iron beneath the twisted wires to heat them. Be patient, this will take a minute or two. After sufficient heat has been applied begin to apply solder on the joint until it starts to seep in. Once it is saturated remove the iron and let it cool.
- Slide heat shrink tubing over the solder joint and shrink it to insulate and protect.
Repeat until you have three of these shared jumper leads.
Wiring the Electronics Part 2
Step 4 – Solder Jumper Wires to the WS2812 LED Ring
- Strip one end off three jumper cables. Again, if possible, match colors to wiring diagram.
- Start by "tinning" the stripped ends of the wire by heating them and melting solder into the wires. This is all the solder you should need to then connect them to the pads on the ring in the next step.
- Solder them to the pads of the WS2812 LED ring:
- DIN → data wire (to Pi GPIO13)
- VCC → 5V supply
- GND → ground
Wiring the Electronics Part 3
Step 5 – Connect All Components to the Pi
Follow the wiring diagram and connection spreadsheet to hook everything up:
📄 Connection Spreadsheet – full pinout table (Click link to download)
🖼️ Fritzing Wiring Diagram – clear visual showing how each component connects.
Flashing & Configuring the OS (Headless)
Insert your microSD card into your computer and open Raspberry Pi Imager.
Select: Raspberry Pi OS (Other → Raspberry Pi OS (Legacy, 32-bit) Lite → Bullseye).
- The Lite version is recommended because it runs headless, uses fewer resources, and avoids unnecessary desktop software. I am currently using: 2025-05-06-raspios-bullseye-armhf-lite.img
Before writing, open Advanced Options (⚙️ or press Ctrl+Shift+X).
Configure:
- Hostname (e.g., snowscraper.local)
- Enable SSH
- Set username & password (username must be pi for default file paths to be correct.)
- Wi-Fi SSID & password
- Locale & timezone (so alarms and logs are correct)
Write the image, insert into your Pi Zero 2 WH, and connect power.
On first boot, the Pi will automatically expand the filesystem. This can take a few minutes — just wait until the activity LED calms down.
When expansion is complete, cycle the power (unplug and reconnect).
The Pi will then be ready for SSH login at the hostname you set (e.g., ssh pi@snowscraper.local).
Installing (via SSH)
From your main computer, connect to the Pi:
Enable SPI interface:
Once in the config screen select:
- 3. Interface Options
- I4 SPI
- Yes
to enable the SPI interface on the pi.
Install dependencies:
You can copy and paste each line into the terminal to keep things straight forward.
This make take some time, especially building the wheel for pillow. Be patient, the Tinker Gnomes have got your back!
Download and test the Snow Scraper software:
This should boot up Snow Scraper. At this point you can confirm the LCD screen, buzzer, and LED light are working before heading to the next steps.
From now on, Snow Scraper will start automatically at boot and will be monitored for hangs, crashes, or memory leaks.
Final Assembly - Part 1
Gather all the pre assembled parts and tools to prepare for the final assembly.
Final Assembly - Part 2
Mount the Raspberry Pi Zero 2 WH on the base of the enclosure. It should be 11mm from the inner bottom left edge of the base to ensure the ports line up with the holes in the enclosure.
Final Assembly - Part 3
Prepare the LED ring: Attach the orb holder to the top of the enclosure, be gentle and carefully insert the pins into the top of the enclosure, they may snap if placed at an incorrect angle. You can always print another if this happens. Disconnect the wires connecting the WS2812 LED ring to the pi, feed them through the top hole of the enclosure, then reattach the wires. Hot glue the ring to hold it in place once wires are fed into internal structure.
Final Assembly - Part 4
Install the passive buzzer in its position.
Final Assembly - Part 5
Mount the LCD module into the front opening of the enclosure.
Final Assembly - Part 6
Neatly route and secure all wiring so nothing is pinched or strained.
Use hot glue to hold the bottom plate in place.
Final Assembly - Part 7
Place the orb atop the orb holder and insert the stylus into the holder to complete the build. That's it, you did it!
Configuring the Device
On first run, the Snow Scraper will use a default touchscreen calibration.
If touches don’t line up properly, you can run the provided calibration script:
This will generate a .json calibration file that snowgui.py will automatically use.
From the Config menu you can:
- Select your resort
- Adjust alarm thresholds
- Confirm Wi-Fi connection (if needed)
Using the Snow Scraper
Snow reports auto-update every hour.
WS2812 LED ring visualizes snow depth:
- Color map by cm of new snow
- Breathing animation when snow changes
- Sparkle effect when >15 cm
Alarm system can play a buzzer alert when your predefined snowfall threshold is met by a set time.