- Learn Linux
- Learn Electronics
- Raspberry Pi
- LPI certification
- News & Reviews
Each year I join the Round Table with their Christmas santa run. Santa goes around the local area bringing Christmas cheer to local children and raising money for local charities. To make this happen needs volunteers that walk around dressed as snowmen and snowwomen.
To add a bit of extra festivity I decided to add a bit of light, powered by a Raspberry Pi and a modified SnowPi. You can see some of what it does below.
The SnowPi is designed to sit on top of a Raspberry Pi, but I wanted it go be alongside the Raspberry Pi so that it could be used on a Raspberry Pi Zero similar to a badge. I therefore swaped the 90 degree female connector with a straight one.
With the Raspberry Pi attached it's a bit big for a badge. I created a pocket to mount the Raspberry Pi and SnowPi into. For the Santa run the pocket will be pinned to a snowman costume, but it's shown here on a black coat. The Raspberry Pi is mounted in a Pimoroni Pibow Zero case, although you may not need a case if you mount it carefully.
A USB to microUSB OTG Converter Shim is used for the USB dongle for the Wireless USB controller. I used a USB power bank to power the Raspberry Pi. I also left the mini-HDMI to HDMI connector plugged in as that meant that each side of the Raspberry Pi Zero was about level.
The code is controlled using a Wireless USB controller bought from The PiHut. QJoyPad is used to convert the controller actions to keyboard presses for use with Pygame Zero. This will be explained in more detail in a blog post soon.
The SnowPi is a discontinued item, but remaining stocks are currently being sold by ThePitHut. It is a PCB with 9 LEDs and a resistor array. The pads for the solder are very small, so it is quite difficult to solder. The white LEDs also appear to be poorly made, I normally used the flat part of the LED to determine which is the postive and negative side of the LED, but that is the oppisite way around on these LEDs. This meant I had to remove and resolder some of the LEDs, not only that but the ones I replaced only had some of the LEDs that worked. So I had to resolder some of the LEDs twice.
The documentation for the Snow Pi is missing, so I needed to work out the pin positions by applying a power supply to each of the pins. I then used GPIO Zero to turn the relevant pins on and off.
The user interface code is written in Python Pygame Zero. Pygame Zero does not directly support controllers at the moment, so I had to use QJoyPad to convert the controller signals into keyboard commands.
Please view the copyright information regarding use of the circuits.