Maker.io main logo

Light up the Slopes with Spitfire Skis and Snowboards!

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.

制造商零件编号 3677
ITSY BITSY 32U4 5V 16MHZ EVAL BD
Adafruit Industries LLC
制造商零件编号 1586
ADDRESS LED RING SERIAL RGB
Adafruit Industries LLC
制造商零件编号 0190050001
CONN QC RCPT 18-22AWG 0.250
Molex
制造商零件编号 0190040001
CONN QC TAB 18-22AWG 0.250 CRIMP
Molex
制造商零件编号 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.