Maker.io main logo

Light up the Slopes with Spitfire Skis and Snowboards!

14

2025-04-02 | By Ant Lakatos

License: See Original Project Addressable LEDs Batteries LED Strips Arduino

I’ve been skiing for over a decade, and I’ve rarely seen people on the mountain with lit-up or ‎modified skis. For some reason, it’s never really taken here in Idaho, and I want to change that. ‎The goal of this project is to create a visual enhancement for skis or snowboards that would work ‎both day and night, and so I came up with an idea for:‎

Spitfire Skis and Snowboards

holes_1

While drilling holes in your winter equipment hasn’t quite caught on as a trend, I’m not the first ‎one to do it, but at least I have the mistakes of my predecessors to show me what not to do! In ‎conjunction with creating a rooster tail effect on the back of my skis, I’m integrating NeoPixel ‎LEDs (Light Emitting Diode) to light up the kicked-up snow and make it look like it’s fire!‎

I would highly recommend that you read through the whole post before beginning any purchasing ‎or modifying, I’ve included a short section at the end detailing important things that will make this ‎design robust and survive multiple trips without needing repairs.‎

Design Overview

Here’s a list of everything I used for this design, I will detail the composition below, as well as ‎suggestions for variations. As always refer to the component listing at the bottom to find ‎everything available on DigiKey:‎

I’ve designed a simple schematic that can be applied to a single ski or snowboard, the idea here is ‎to avoid printing a custom PCB (Printed Circuit Board) since there is only a single IC (Integrated ‎Circuit) in conjunction with the main microcontroller that drives the NeoPixels.‎

design_2

Starting from the left to the right, I’ll be using a 7.4V Battery, Dantona’s L74A26-2-1-2WX was ‎chosen specifically because of its current delivery capabilities, NeoPixels are not rated higher ‎than 5V, and are too current hungry for most low-cost 5V batteries, so we must run this battery ‎directly to an LDO (Low-Dropout Regulator) to bring our voltage down to 5V. We’ll be using an ‎Arduino to control the NeoPixels, and it does have an onboard regulator, but it can’t handle the ‎current that the 24 LED NeoPixel ring pulls, so the best trick here is to just supply them both from ‎the same supply. We’ll lose some efficiency since we’re dropping from 7.4V to 5V, but I challenge ‎you to find a battery closer to 5V, that has a nice recharging system and can deliver a similar ‎amount of current!‎

In my design I used Diodes Incorporated’s AZ1084CD for my LDO because I had them on hand, ‎they are a little overkill for what we need, so any 5V LDO that can handle up to 1.5-2A should be ‎well in the clear. The amount of current you’ll need will be dependent on the amount of NeoPixels ‎on your ring. I would recommend getting something through-hole rather than my surface mount ‎versions, I had to force them to become through-hole through careful soldering, and if you can ‎skip that step it will save you a headache. You might consider making a custom PCB for this ‎project; I avoided it since we’re only working with a single IC besides the Arduino, but in the future, ‎modifications such as switches, battery indicators, and other fun twists would be much easier to ‎implement through a PCB. Ensure for whatever LDO you use to follow the datasheet’s typical ‎application recommendations, for mine (and for most) you’ll need some sort of decoupling ‎capacitors on the input and output signal.‎

The Main Brain of our operation is going to be Adafruit’s Itsybitsy 32u4 16Mhz 5V development ‎board. I am super partial to Adafruit’s low-cost Itsybitsy boards because they are super low-power ‎‎(even their Bluetooth versions) and they can handle quite a bit of stuff in such small packaging.‎

I used the Arduino IDE to set up this device, since it’s an Adafruit device setting up the IDE and ‎interfacing with it is spectacularly easy. If you’ve never done it before, or need a refresher, there is ‎a super simple guide produced by Adafruit to get everything rolling. Once you’ve done that, install ‎the Adafruit NeoPixel library by clicking on the library bar on the left side. We’ll be using the ‎‎“Adafruit NeoPixel” library, published by Adafruit. At the time of writing this library has been ‎updated to version 1.12.3.‎

I ran the verification sketch that the NeoPixel library comes with, and it defaults its connection for ‎data to pin 6, you could use any of the other digital logic pins if you desired, but the sketch I used ‎was called strandtest. (You can find it in the Arduino IDE by clicking File->Examples->Adafruit ‎NeoPixel->strandtest) If you followed everything correctly you should see your device begin to ‎light up as soon as you upload the sketch to your Arduino!‎

You need to decide on how the electronics will be positioned, the way I see it there are two ways ‎of going about the final hook up, you could either run cables from the NeoPixel ring to your ski or ‎snowboard binding, then solder on one of those quick connect plugs. Then you can run a cable ‎down your snow pants to the connection piece and connect it that way, keeping the Arduino, ‎battery, and LDO in a pocket or something. The alternative is mounting the whole thing on the ski ‎in a project box, which will be more expensive but arguably less likely to get tangled. The decision ‎is yours!‎

Implementation Steps

‎1. Most of the heavy lifting on the electronics side is done right here in the first portion of device ‎design, so use the above schematic reference for splitting wires and their connections. Since ‎we’re doing this without a PCB, you’ll need to make some series and parallel connections with ‎wire. I did mine with solid core, but stranded wire will work better. We only expect 2A on these ‎power wires at most, so you don’t need anything crazy thick. We first need to connect the battery ‎to the LDO. Since we’ll want to disconnect the battery to charge it, I soldered a male and female ‎crimp connector to the terminals of the battery. (Feel free to use JST connectors if your battery ‎comes with them, or you prefer some other method of connection) The LDO needs decoupling ‎capacitors on its input, between input and GND, then solder an opposing crimp connector on both ‎ground and input of the LDO for the battery to connect to.‎
‎2. For the output pin, attach the other decoupling capacitor in between it and ground, and leave ‎a few inches in parallel to connect to the Arduino. Since we’re working entirely with discrete ‎components, be careful to not let any wires touch or cross that are exposed! Use shrink wrap or ‎electrical tape to seal up connections.‎
‎3. Before we hook up the 5V and GND to the Arduino, let’s program it. Here is the code that I ‎used to mimic the flickering of fire, feel free to tweak it how you like!‎

Copy Code
#include <Adafruit_NeoPixel.h>‎

‎#define LED_PIN 6 // Pin connected to the NeoPixel ring

‎#define LED_COUNT 24 // Number of LEDs in the NeoPixel ring

Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);‎

void setup() {‎

‎#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)‎

‎ clock_prescale_set(clock_div_1);‎

‎#endif

‎ strip.begin();‎

‎ strip.show(); // Initialize all pixels to 'off'‎

‎ strip.setBrightness(255); // Set brightness

‎}‎

void loop() {‎

‎ fireFlicker(100); // Flicker with randomness

‎}‎

‎// Function to perform fire-like flickering

void fireFlicker(int delayTime) {‎

‎ for (int i = 0; i < strip.numPixels(); i++) {‎

‎ // 80% chance for orange, 10% for yellow, 10% for red‎

‎ int choice = random(0, 10);‎

‎ if (choice < 6) {‎

‎ strip.setPixelColor(i, strip.Color(255, 55, 0)); // Orange

‎ } else if (choice == 6) {‎

‎ strip.setPixelColor(i, strip.Color(255, 100, 0)); // Yellow

‎ } else if (choice == 7) {‎

‎ strip.setPixelColor(i, strip.Color(255, 120, 0)); // Yellow-ish

‎ } else {‎

‎ strip.setPixelColor(i, strip.Color(255, 0, 0)); // Red

‎ }‎

‎ }‎

‎ strip.show(); // Update the LEDs

‎ delay(delayTime); // Wait before the next update

‎}‎

‎4. We’re going to solder the GND wire directly to the Arduino, since we can use the other GND ‎pin on the Arduino to connect to the NeoPixel ring, but for the power wire, push about an inch of ‎stripped wire through the VBAT pinhole of the Arduino so that it pokes out the top.‎

solder_3

‎5. Doing it this way allows us to test out our NeoPixel connection before making anything ‎finalized connection-wise, as we still need to modify our skis to connect this device.‎
‎6. We need to attach three wires to the GND, +5V, and DATA INPUT pins of the NeoPixel rings, I ‎cut out about 2 feet of wire, just in case I wanted to move things around a bit, but you could ‎measure the distance that you want the wire to connect to and cut it out that way. Remember if ‎you’re just going to keep the electronics in your pocket, you’ll need to run the distance to the ‎binding of your ski or snowboard. Solder one end of these three wires directly to the ring, and ‎leave the other ends unconnected for now, here’s what you should have by this point:‎

parts_4

Please note that one of my projects uses crimp connectors for the battery connection, while the ‎other uses JST connectors. I wanted to test both for connectivity, and both work great. Be sure to ‎keep your pins isolated to avoid shorting out the battery!‎

‎7. Now that the electronics are handled, it’s time to carve our skis into shape. I would ‎recommend marking a spot on both skis at the same time so that when you cut a hole, it’s ‎identical between each ski. The hole we cut should optimally be at about a 45-degree angle so ‎that snow can fly through it easily, and the bottom edge works as a cutting edge. Too deep of a hole ‎will prevent snow from sliding out easily, and too shallow will remove too much material and we ‎will lose more structural strength than we need to.‎

marking_5

I chose the hole position on the back of the ski based on two factors, where the ski still lay flat on ‎the ground (the tips bent upwards on the back) and where it was thick enough that I wasn’t worried ‎about it snapping. The closer you are to the bindings, the more snow will likely be scooped up by ‎the hole, and the weaker the ski will be since most skis thin towards the middle, so you’ll have a ‎greater effect at an increased breakage risk. As for the hole size, it will be dependent on the size of ‎your LED ring, if you’re using the same 24 LED NeoPixel ring as me, you can get away with probably ‎a maximum size of 1¾in bit. Smaller will work fine, I wouldn’t go smaller than ¾in though.‎

hole_6

‎8. Make sure to cover the hole of your ski or snowboard with duct tape or some other protective ‎adhesive so that when the bit bites into the material, it doesn’t rip off the edges and create spurs. ‎The reason you don’t want a larger bit is because we don’t want the snow launched by the hole to ‎come up and hit the NeoPixel ring, it should be set outside the perimeter of the hole to avoid any ‎interaction with the thrown snow and electronics, in order to increase its chances of long-term ‎survival.‎

cover_7

‎9. Drill out a pilot hole by using a smaller bit than the main guiding bit attached to the circular ‎cutout piece. It can be done easily on a slick surface by pointing straight down at the ski and ‎drilling out a small hole about as deep as your pilot bit is wide. Once made, angle the drill bit at ‎about a 45-degree angle, since we don’t need an exact value, an estimation is totally fine in this ‎case, and begin drilling the pilot hole clean through the ski. The picture above shows my pilot bit ‎sticking out of the ski at the approximate angle. Now that the pilot hole is set properly, make sure ‎you have your ski clamped down, you should use the inner bit of the hole cutter to follow the pilot ‎hole as you drill out the main hole, it will try to follow the original hole you drilled and keep it ‎straight. Speed is your friend, bring your drill’s RPMs up and drill right through that ski!‎

drill_8

drill_9

‎10. You might want to sand the edge of the ski a little bit if you get thin wispy bits off the side, if ‎you use better quality duct-tape than I did, you should have less of this effect. Now that the holes ‎have been cut, we need to place the NeoPixel ring in the correct spot. Offset it backwards a bit so ‎there is some clearance from the bottom of the hole, towards the back end of the ski, and the ‎edge of the LED lights, we don’t want the snow colliding with it. After ensuring that the lights are in ‎the spot you want them to be in, you can use Loctite, or some other adhesive or epoxy to keep ‎them in place. You’ll need to use a material that is compatible with whatever the surface of your ‎ski is made of, make sure to follow the specific instructions of the adhesive you use.

skis_10

‎11. Clamp down the lights using something flat and straight to not put too much pressure on an ‎individual LED, and let it cure, I let mine cure for 24 hours, but the needed time will vary based on ‎the epoxy/adhesive you use.‎

clamp_11

‎12. From here on out, it’s smooth sailing. If you’re using a project box, you’ll need to adhere it to ‎the ski using some adhesive, if you’re running a cable up your leg, attach the clips to your wire. ‎Either way, using the exposed wire we left sticking out of the VBAT pin, you can solder a new wire ‎directly to it for connection, don’t forget to heat shrink it to keep any shorts from occurring. As ‎soon as the battery connects, the lights on your ski or snowboard should come to life!

project_12

project_13

These bright LEDs are going to have no problem illuminating snow as we kick it up from the ‎mountain! Legitimately using these bad boys, I’ve had so many comments and people telling me ‎how awesome they look coming down the mountain. There were even a few people genuinely ‎worried I had lit my skis on fire! Since the time of writing this, I've taken these skis up to my local ‎mountain on three separate occasions and skied for over four hours each time without any issues, ‎I even left them on as I drove back down the mountain, and they remained on the whole way until I ‎got home, for me that's over five hours of battery life across some rough terrain without them ever ‎shutting off, even in the cold!‎

Things I did wrong, so you don't have to

It took me a few prototypes before I got a version robust enough to survive multiple trips. The most ‎common problem that I would experience after getting everything assembled was vibration. I ‎didn’t really think about it at first, but when skiing or snowboarding, the skis and snowboards flex ‎and vibrate a ton, especially if you ride hard, so it’s important that if you’re using a project box to ‎hold the electronics, to adhere things to the bottom and sides of the box to prevent them from ‎moving around. In my first attempt at using these, I didn’t have anything glued down because I ‎figured the solid-core wire I used would be rigid enough. It was not. I ran a single run without the ‎lights on, then when I went to turn them on my Arduino had been obliterated by the weight of the ‎battery on top of it. Now whenever I seal the project boxes up, I have a piece of cloth wrapped ‎around the battery to cushion it and fill up the box so there isn't any room to move around.‎

The other thing that I would be wary of is cuts to your exposed wires. Luckily, after the first go ‎around, I found that there were scratches in some of the plastic sleeves of the exposed wires ‎connecting to the lights. Skis naturally get crossed sometimes, especially in lift lines, so I covered ‎all the exposed wires with that flexible silicon sealant and that was such a fantastic move. The ‎flexibility of the silicone prevents things from cutting into it, so it cushions the wires from ‎dangerous sharp edges, and is still transparent, so light can still pass through if you want to put it ‎over the NeoPixel LEDs too.‎

Strengthen your solder joints. The most common point of failure after the second attempt was ‎just the solid core wire breaking where I had it bent a little too sharply. The solid core wire was ‎perfect for the outside of the box going in, acting tough and resistant to movement or impacts, but ‎on the inside the flexibility of stranded wire was important, because the rigidity of the solid core ‎was causing breaks. It makes the electronics a little harder to work with when it’s flexible, but it ‎will last much longer if the connections are good.

Mfr Part # 3677
ITSY BITSY 32U4 5V 16MHZ EVAL BD
Adafruit Industries LLC
Mfr Part # 1586
ADDRESS LED RING SERIAL RGB
Adafruit Industries LLC
$139.53
View More Details
Mfr Part # 0190050001
CONN QC RCPT 18-22AWG 0.250
Molex
Mfr Part # 0190040001
CONN QC TAB 18-22AWG 0.250 CRIMP
Molex
Mfr Part # 234323
LOCTITE NC RTV SIL CL 80ML
LOCTITE
$168.02
View More Details
Mfr Part # AZ1084CD-5.0TRG1
IC REG LINEAR 5V 5A TO252-3
Diodes Incorporated
Add all DigiKey Parts to Cart
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.